diff --git a/test/suite/converted/chapter07/7.3/7.3-1.js b/test/suite/converted/chapter07/7.3/7.3-1.js
index 2cc7f207034a10e518ff80ecb727826718688a75..d1ebdc3652ef2d57c5bfc475ded8f7b46750c07d 100644
--- a/test/suite/converted/chapter07/7.3/7.3-1.js
+++ b/test/suite/converted/chapter07/7.3/7.3-1.js
@@ -28,4 +28,4 @@ function testcase() {
         eval("var test\u2028prop = 66;");
         return prop === 66 && !this.hasOwnProperty("test") && typeof test === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.3/7.3-10.js b/test/suite/converted/chapter07/7.3/7.3-10.js
index 3717dbe5c470478842b51ba40605c6842880dde1..45a4d3925d1c0840ec99c9b0260184e6908be9d0 100644
--- a/test/suite/converted/chapter07/7.3/7.3-10.js
+++ b/test/suite/converted/chapter07/7.3/7.3-10.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.3/7.3-11.js b/test/suite/converted/chapter07/7.3/7.3-11.js
index 2e2d280f0c5d92354c39c082b0e3c71cc9ed11a6..f18bf2f5d24ec263124c25589c4402323c121efc 100644
--- a/test/suite/converted/chapter07/7.3/7.3-11.js
+++ b/test/suite/converted/chapter07/7.3/7.3-11.js
@@ -31,4 +31,4 @@ function testcase() {
         */
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.3/7.3-12.js b/test/suite/converted/chapter07/7.3/7.3-12.js
index bdf1968aeb839ff7c7e70f95d916b0c26496b59b..c6ceab42f5522f58b675b95ed86eecc635c6718a 100644
--- a/test/suite/converted/chapter07/7.3/7.3-12.js
+++ b/test/suite/converted/chapter07/7.3/7.3-12.js
@@ -31,4 +31,4 @@ function testcase() {
         */
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.3/7.3-13.js b/test/suite/converted/chapter07/7.3/7.3-13.js
index 4862b74a599e4e6f33846828f0cdf3542677cb5e..bf20ff5e851abab0ba72a7a3da08ab96a9c35542 100644
--- a/test/suite/converted/chapter07/7.3/7.3-13.js
+++ b/test/suite/converted/chapter07/7.3/7.3-13.js
@@ -31,4 +31,4 @@ function testcase() {
         */
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.3/7.3-14.js b/test/suite/converted/chapter07/7.3/7.3-14.js
index cab8a51f99c80cd328cca7103d4acb846cd9028f..38ae251d2bdf700216ab817ca3657f26959ffdf6 100644
--- a/test/suite/converted/chapter07/7.3/7.3-14.js
+++ b/test/suite/converted/chapter07/7.3/7.3-14.js
@@ -31,4 +31,4 @@ function testcase() {
         */
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.3/7.3-15.js b/test/suite/converted/chapter07/7.3/7.3-15.js
index 33dce76e9e3d0e15d753cec89a91c08852dd5859..2a9066e1bd8bd0dc1c78c372620ccd0515ac3c01 100644
--- a/test/suite/converted/chapter07/7.3/7.3-15.js
+++ b/test/suite/converted/chapter07/7.3/7.3-15.js
@@ -28,4 +28,4 @@ function testcase() {
         var prop = "a\uFFFFa";
         return prop.length === 3 && prop !== "aa" && prop[1] === "\uFFFF";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.3/7.3-2.js b/test/suite/converted/chapter07/7.3/7.3-2.js
index 13f7a988dd581f27f517aa43be5fa7ac544ed9f5..4f054bfbd9eb28feac4e6468c04b7bc216ecae28 100644
--- a/test/suite/converted/chapter07/7.3/7.3-2.js
+++ b/test/suite/converted/chapter07/7.3/7.3-2.js
@@ -28,4 +28,4 @@ function testcase() {
         eval("var test\u2029prop = 66;");
         return prop === 66 && !this.hasOwnProperty("test") && typeof test === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.3/7.3-3.js b/test/suite/converted/chapter07/7.3/7.3-3.js
index cd8643363a30f00f95667611b00a68774b43faf9..2fe7f1759e3e26b4ed44fbc780c17371a65bb00b 100644
--- a/test/suite/converted/chapter07/7.3/7.3-3.js
+++ b/test/suite/converted/chapter07/7.3/7.3-3.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.3/7.3-4.js b/test/suite/converted/chapter07/7.3/7.3-4.js
index bb5cf80482bdabaa984220c1e8acb28170c855ce..2a25b7ff49e87716015bea7028611bb71eca5fd1 100644
--- a/test/suite/converted/chapter07/7.3/7.3-4.js
+++ b/test/suite/converted/chapter07/7.3/7.3-4.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.3/7.3-5.js b/test/suite/converted/chapter07/7.3/7.3-5.js
index cc21f582edaf58adbcf79dd2410ad480b6dfc11e..8c5c8197dda52865615665761bea78143f1d1dd7 100644
--- a/test/suite/converted/chapter07/7.3/7.3-5.js
+++ b/test/suite/converted/chapter07/7.3/7.3-5.js
@@ -28,4 +28,4 @@ function testcase() {
         var prop = "66\u2028123";
         return prop === "66\u2028123" && prop[2] === "\u2028" && prop.length === 6;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.3/7.3-6.js b/test/suite/converted/chapter07/7.3/7.3-6.js
index c2aa3a506634ab42308543dfa2b9ba2784e6538a..0a707689226cd6c1c15c03e0ea0394d9abb9adc4 100644
--- a/test/suite/converted/chapter07/7.3/7.3-6.js
+++ b/test/suite/converted/chapter07/7.3/7.3-6.js
@@ -28,4 +28,4 @@ function testcase() {
         var prop = "66\u2029123";
         return prop === "66\u2029123" && prop[2] === "\u2029" && prop.length === 6;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.3/7.3-7.js b/test/suite/converted/chapter07/7.3/7.3-7.js
index 1e4f4316784a1c36eadfe6171831a306cff59fa6..1f9786c6ae2e757130a7dc3ae5203ddffec0fd3e 100644
--- a/test/suite/converted/chapter07/7.3/7.3-7.js
+++ b/test/suite/converted/chapter07/7.3/7.3-7.js
@@ -33,4 +33,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.3/7.3-8.js b/test/suite/converted/chapter07/7.3/7.3-8.js
index 3699ba57809ae64e919de457d68027a8ea83f949..fc7a21e08af61ee11ced15d6396526261524f418 100644
--- a/test/suite/converted/chapter07/7.3/7.3-8.js
+++ b/test/suite/converted/chapter07/7.3/7.3-8.js
@@ -33,4 +33,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.3/7.3-9.js b/test/suite/converted/chapter07/7.3/7.3-9.js
index 12ee96e53070297473d17453914d31d3e2b41e61..0581323105b1e26ddce2a9f74226a5cddd0cdae7 100644
--- a/test/suite/converted/chapter07/7.3/7.3-9.js
+++ b/test/suite/converted/chapter07/7.3/7.3-9.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-1.js b/test/suite/converted/chapter07/7.6/7.6-1.js
index 9a56af8e3b62a5778e331a354884410baae35623..941ae47b34f0e715a8b6975b34157c2e1c766036 100644
--- a/test/suite/converted/chapter07/7.6/7.6-1.js
+++ b/test/suite/converted/chapter07/7.6/7.6-1.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-10.js b/test/suite/converted/chapter07/7.6/7.6-10.js
index 057da2215718b71b7f1ffcd6805ab7b0cf042675..4711ceadd1b9f408b22a365b02395f3e8caa76cc 100644
--- a/test/suite/converted/chapter07/7.6/7.6-10.js
+++ b/test/suite/converted/chapter07/7.6/7.6-10.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-11.js b/test/suite/converted/chapter07/7.6/7.6-11.js
index cc8c8f2684ed3767dfc7e8affe228b15e4e9cae8..7b582ee51fcdaa000541239a99f763d2395fbf40 100644
--- a/test/suite/converted/chapter07/7.6/7.6-11.js
+++ b/test/suite/converted/chapter07/7.6/7.6-11.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-12.js b/test/suite/converted/chapter07/7.6/7.6-12.js
index 3675deafa409b7f9fca17d290514d1b112b848d5..c5d0ae3fff1c56094676cbc30d400bc429bc5726 100644
--- a/test/suite/converted/chapter07/7.6/7.6-12.js
+++ b/test/suite/converted/chapter07/7.6/7.6-12.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-13.js b/test/suite/converted/chapter07/7.6/7.6-13.js
index fcca5250f19dc35619e61958a198c81cacbee8b7..66db6e990e642b47c123267a7fc529ab52687e93 100644
--- a/test/suite/converted/chapter07/7.6/7.6-13.js
+++ b/test/suite/converted/chapter07/7.6/7.6-13.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-14.js b/test/suite/converted/chapter07/7.6/7.6-14.js
index c79ecb749f60fcc28127016cffd44e39b96e869e..6465fd9e2f0c6d413db5971f83ceb0bb7ebd7dde 100644
--- a/test/suite/converted/chapter07/7.6/7.6-14.js
+++ b/test/suite/converted/chapter07/7.6/7.6-14.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-15.js b/test/suite/converted/chapter07/7.6/7.6-15.js
index f16f80510237d4a5d0f4ff6056e39467bfdc6710..c9da4945eceffc0fba7df2fc012de9eeb7f0ac9b 100644
--- a/test/suite/converted/chapter07/7.6/7.6-15.js
+++ b/test/suite/converted/chapter07/7.6/7.6-15.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-16.js b/test/suite/converted/chapter07/7.6/7.6-16.js
index 8c4170660c487caded8d5bfb94c683aeb4a95fab..456f7ed04f225ac2707477228d2467660a0fbec7 100644
--- a/test/suite/converted/chapter07/7.6/7.6-16.js
+++ b/test/suite/converted/chapter07/7.6/7.6-16.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-17.js b/test/suite/converted/chapter07/7.6/7.6-17.js
index ffa828053260ee3525a2de3f1721bd39cbe45775..290372e1b5a8e61490f0d1209cf3db0f3d80210f 100644
--- a/test/suite/converted/chapter07/7.6/7.6-17.js
+++ b/test/suite/converted/chapter07/7.6/7.6-17.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-18.js b/test/suite/converted/chapter07/7.6/7.6-18.js
index bf5952aa630c93a699e34c5872f86e3004330062..7a40f94a433f98e38536781e3c52ce9218e0f885 100644
--- a/test/suite/converted/chapter07/7.6/7.6-18.js
+++ b/test/suite/converted/chapter07/7.6/7.6-18.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-19.js b/test/suite/converted/chapter07/7.6/7.6-19.js
index 52acb53f23d853a32208210ac54adffb3f7637c5..12436507299694c426784a4cb265e088a2b94592 100644
--- a/test/suite/converted/chapter07/7.6/7.6-19.js
+++ b/test/suite/converted/chapter07/7.6/7.6-19.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-2.js b/test/suite/converted/chapter07/7.6/7.6-2.js
index 315b975a4f2c5881331d4221b7c96fbcf4015334..821ed8c642b3d70be18be672e485c94e2fd5a9f5 100644
--- a/test/suite/converted/chapter07/7.6/7.6-2.js
+++ b/test/suite/converted/chapter07/7.6/7.6-2.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-20.js b/test/suite/converted/chapter07/7.6/7.6-20.js
index 2026eb2cbd117a2ae2fad9e2a7ae607d5c4e2f6c..5b19b41ab2f366c6b531475c6a6967c028d86234 100644
--- a/test/suite/converted/chapter07/7.6/7.6-20.js
+++ b/test/suite/converted/chapter07/7.6/7.6-20.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-21.js b/test/suite/converted/chapter07/7.6/7.6-21.js
index ddb10e85c88d1e8e5b0e4294235177abf8fb9a42..48947f8e1d51c46042f7553b516a4b969591c653 100644
--- a/test/suite/converted/chapter07/7.6/7.6-21.js
+++ b/test/suite/converted/chapter07/7.6/7.6-21.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-22.js b/test/suite/converted/chapter07/7.6/7.6-22.js
index a85b73d9d2408976d124245ff188cb2897bc1bd0..a9a19902a1e2037ea95fe8221ab8133971decdec 100644
--- a/test/suite/converted/chapter07/7.6/7.6-22.js
+++ b/test/suite/converted/chapter07/7.6/7.6-22.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-23.js b/test/suite/converted/chapter07/7.6/7.6-23.js
index 107056563a0a6323f099de898149e18aecfa0e17..56fec62e23af28617f7b55ba5a8dd93b95106052 100644
--- a/test/suite/converted/chapter07/7.6/7.6-23.js
+++ b/test/suite/converted/chapter07/7.6/7.6-23.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-24.js b/test/suite/converted/chapter07/7.6/7.6-24.js
index d0c0bc61f7b01474a33dd87159b1eadc9fdd837a..0ad0526644a7b099f0596326bb226612158fa8a2 100644
--- a/test/suite/converted/chapter07/7.6/7.6-24.js
+++ b/test/suite/converted/chapter07/7.6/7.6-24.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-25.js b/test/suite/converted/chapter07/7.6/7.6-25.js
index fd04967aeb2d1e974bafeb1ec92dac101e05b548..19b090ac5471ac41e6707d4cb149d5e8c1206410 100644
--- a/test/suite/converted/chapter07/7.6/7.6-25.js
+++ b/test/suite/converted/chapter07/7.6/7.6-25.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-26.js b/test/suite/converted/chapter07/7.6/7.6-26.js
index 2d0a6afbf8ff84aa3f0bcadc4906067b2ee7d5c8..01d6541feb9700e6f13cec99e4cf9f21869deb21 100644
--- a/test/suite/converted/chapter07/7.6/7.6-26.js
+++ b/test/suite/converted/chapter07/7.6/7.6-26.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-27.js b/test/suite/converted/chapter07/7.6/7.6-27.js
index b6ead952b7a24102571d5aef44233b41ec65bd8e..1779d620dc2713c7f9a178f7fe0dc1c042456118 100644
--- a/test/suite/converted/chapter07/7.6/7.6-27.js
+++ b/test/suite/converted/chapter07/7.6/7.6-27.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-28.js b/test/suite/converted/chapter07/7.6/7.6-28.js
index 8bf8c96e1c79b6d153aae523edbe7d55bcc0a260..b6cca9cc4594d6a05a1410ed2aa6d263b5d2d432 100644
--- a/test/suite/converted/chapter07/7.6/7.6-28.js
+++ b/test/suite/converted/chapter07/7.6/7.6-28.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-29.js b/test/suite/converted/chapter07/7.6/7.6-29.js
index 10156583682d8912e77e91b1a129fc7ffc676a31..7ae3126a0005f4ef2e35ddab9dd69a9280c49ddd 100644
--- a/test/suite/converted/chapter07/7.6/7.6-29.js
+++ b/test/suite/converted/chapter07/7.6/7.6-29.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-3.js b/test/suite/converted/chapter07/7.6/7.6-3.js
index 7a3fe709963485c9c82d4359a4a479e9b0f441b1..9ccac6ea2a2b0d665f33e79e2d58cc78ca7132d2 100644
--- a/test/suite/converted/chapter07/7.6/7.6-3.js
+++ b/test/suite/converted/chapter07/7.6/7.6-3.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-30.js b/test/suite/converted/chapter07/7.6/7.6-30.js
index 0c9f6109221e7ab725c73b94fb2633f48d978091..47794ba3c29470b3698b310a06ba5569fda6764a 100644
--- a/test/suite/converted/chapter07/7.6/7.6-30.js
+++ b/test/suite/converted/chapter07/7.6/7.6-30.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-31.js b/test/suite/converted/chapter07/7.6/7.6-31.js
index e92221f6dba8ea1ee0c8d97c608af9614a03eb12..e5812a8108254b2a6d4497d0d2be4a463ca58029 100644
--- a/test/suite/converted/chapter07/7.6/7.6-31.js
+++ b/test/suite/converted/chapter07/7.6/7.6-31.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-32.js b/test/suite/converted/chapter07/7.6/7.6-32.js
index 2e66184b1f44be471b90d5e2c59b8e319739334c..42ffaf5c910a3344008710deb88eaf44cebc7b2e 100644
--- a/test/suite/converted/chapter07/7.6/7.6-32.js
+++ b/test/suite/converted/chapter07/7.6/7.6-32.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-33.js b/test/suite/converted/chapter07/7.6/7.6-33.js
index 68cb3edf678892d3f0f6a9e48a19e72a66bd6b6d..c6057fd061e8fe338f9125a7adc796bf3f788e0d 100644
--- a/test/suite/converted/chapter07/7.6/7.6-33.js
+++ b/test/suite/converted/chapter07/7.6/7.6-33.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-34.js b/test/suite/converted/chapter07/7.6/7.6-34.js
index 37e35e3aa2325e9a533ed8bf86820c3125568971..667adc851180bafd2df875d200638b7194508323 100644
--- a/test/suite/converted/chapter07/7.6/7.6-34.js
+++ b/test/suite/converted/chapter07/7.6/7.6-34.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-35.js b/test/suite/converted/chapter07/7.6/7.6-35.js
index 2202d9ee99935ad0b6e60b986de3c99ef9161eca..17f50bb79eaad8a3f1e202616ff51d57fdfaea39 100644
--- a/test/suite/converted/chapter07/7.6/7.6-35.js
+++ b/test/suite/converted/chapter07/7.6/7.6-35.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-36.js b/test/suite/converted/chapter07/7.6/7.6-36.js
index c96893520d02001e214d3665a06bdd85d014d278..c674579bd1efc333d01e2333ebe7017cfc29b495 100644
--- a/test/suite/converted/chapter07/7.6/7.6-36.js
+++ b/test/suite/converted/chapter07/7.6/7.6-36.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-4.js b/test/suite/converted/chapter07/7.6/7.6-4.js
index eb954cdaf0fcf7887792fc171977447168efe6ba..e3abf391e494f93a43500ec81b915d199f6af46c 100644
--- a/test/suite/converted/chapter07/7.6/7.6-4.js
+++ b/test/suite/converted/chapter07/7.6/7.6-4.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-5.js b/test/suite/converted/chapter07/7.6/7.6-5.js
index c517009d1e38f5ca59e944c625b5104b45b51320..9d1fa8dc16da2079c035f5956301dd72c09603ec 100644
--- a/test/suite/converted/chapter07/7.6/7.6-5.js
+++ b/test/suite/converted/chapter07/7.6/7.6-5.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-6.js b/test/suite/converted/chapter07/7.6/7.6-6.js
index 396e36c57dd93668913860c037a581fe17d20f89..c94c4636d6bf1394d495d17a2a88eacf1fdb6269 100644
--- a/test/suite/converted/chapter07/7.6/7.6-6.js
+++ b/test/suite/converted/chapter07/7.6/7.6-6.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-7.js b/test/suite/converted/chapter07/7.6/7.6-7.js
index 34678eddbb465c1714c52f34f37f837b6c8736ef..445fc177e12c0678d6d455eb81822ebb4bc5738e 100644
--- a/test/suite/converted/chapter07/7.6/7.6-7.js
+++ b/test/suite/converted/chapter07/7.6/7.6-7.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-8.js b/test/suite/converted/chapter07/7.6/7.6-8.js
index 25ec343dc38266b0a57262223c09c3874196d056..52134b1c3aecb6267fe21d78b85d8c989b52f8ff 100644
--- a/test/suite/converted/chapter07/7.6/7.6-8.js
+++ b/test/suite/converted/chapter07/7.6/7.6-8.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6-9.js b/test/suite/converted/chapter07/7.6/7.6-9.js
index 1838131a44fdb7fcdbabf2b4f64b32965f6d4c9e..cb0f1b2c49def308f222cf3b6c8d33d8fb55ccd3 100644
--- a/test/suite/converted/chapter07/7.6/7.6-9.js
+++ b/test/suite/converted/chapter07/7.6/7.6-9.js
@@ -32,4 +32,4 @@ function testcase() {
                 return e instanceof SyntaxError;  
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-1.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-1.js
index 4905d388fd87d867ceaefdfe1765a7a58064f5e3..b37b47e2da7776ce4e1273fb115fcddeae367390 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-1.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-1.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-10.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-10.js
index 6bb3db21ba4c2ae09c5aaae30fa6eb8e1f5ebbd8..d4fc2279d22b0bc58179dc1be727fff9ae08feca 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-10.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-10.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-11.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-11.js
index a5d309b78581b60801ced8f714376606f558407b..b812bc15d8cf829ce79c041843b9f088b98d5f96 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-11.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-11.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-12.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-12.js
index 049d7901aa9b91595c4186c819be7e0b52689533..82174f72a7e7a57ab1128900d9f7b63f06a867b6 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-12.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-12.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-13.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-13.js
index 2058ab050cd91a7158486cd741a9a7d9c275c4e3..fb11c6b38828b033d6c4003f00b64ffae5dae8dc 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-13.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-13.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-14.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-14.js
index 904a54928baab6920111d8aae28426b6cb6dcfba..954472e90fbb7280b16142330b6430a043136364 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-14.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-14.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-15.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-15.js
index 590e3813b991f752abf10db941efd6e9d01d1bff..843dbaf863504a0c55832864012b7eefde54be77 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-15.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-15.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-16.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-16.js
index 4d4400842b282f34d89c296a0cc530eabe72d80f..a1e4adda15c7e2b810b236cb24cedccb94ee8430 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-16.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-16.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-2.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-2.js
index aa276269baf4c01d4175053c230eeebbe7d69056..cafcedb4e5e989bfb19ee0aadc813aaa0b0706e5 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-2.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-2.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-3.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-3.js
index d02b84d3cc14ac84680f118c54ef3833ed4d35b1..0d82dc6a9f9113c414ab42156944ff8ade63319e 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-3.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-3.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-4.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-4.js
index 68b09649fdd7406c90ca0e5112242b43d6aa3001..cd6320bbfdfcc6971ee07ea01980a6b1800b43d7 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-4.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-4.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-5.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-5.js
index bab20c95b6d2f4cb83e3bcc106e59268f02cf97a..118a3d301e2b86ce89cce42b1a7549990cce0a0e 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-5.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-5.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-6.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-6.js
index c9c9b867df3a8742bee79567182b168b00f19079..e81b6f80d23757c1b9a4b9eeed7afe43506f21e6 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-6.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-6.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-7.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-7.js
index 544b92cf8758f360ec595b7ce0969ead84752cb4..5258181b1a16db6b47656600c20db0391ae326a3 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-7.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-7.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-8.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-8.js
index 9b85c15463b787045bde4b173301b0c1e4ef1c11..901de54d1f7a3c295859a137f035caaf5d3a56ca 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-8.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-8.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-9.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-9.js
index c035eb39e0f8a2fd75939b69ece1d3b6943145a7..7453188ed05b9410920bfdf8621b8e4d2352f76b 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-9.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-1-9.js
@@ -46,4 +46,4 @@ function testcase(){
         }
         return true;
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-1.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-1.js
index 59e3deb4aa6956e68cf9ff438103adb56d216373..7cb4253314d8b89f5c8d93b966bd515465f89d6a 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-1.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-1.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-10.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-10.js
index 3266b596a83c0347859410c7f504acdd99085469..ab55a4c88cce3be7a68577f1594c4a356124701f 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-10.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-10.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-11.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-11.js
index 4b9ef0316deab9efcd02a3052ea2537e9b166cda..3810a6ea46a678f4a75c34af024ed0baa25a212e 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-11.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-11.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-12.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-12.js
index 64d8582258ec27ff2054999755c45006151ca6d3..0e358343a691172931d2a02d2146b1d4dbd9312c 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-12.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-12.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-13.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-13.js
index 0bba555f991ef7a2640d959ed2cb5d1739dbafff..d282cfe019f069831b925622db6b207bdbd9165a 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-13.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-13.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-14.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-14.js
index 6f5eeeba6c291bee6451cda28c54793f5e1411c7..d00c0df14f2f2703a37814b00d8975de4f940778 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-14.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-14.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-15.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-15.js
index 816aaa8c86a9cc27fe16e703add041709a84d80b..420597b9729ad493b4fde2720b13587e059999e9 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-15.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-15.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-16.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-16.js
index f1973a75ef0801e58c51c80710da6816b66bad58..675691ad98d471b361aba1a5115b4fe9f3c35d38 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-16.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-16.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-2.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-2.js
index 2d63ed7f2fb1aa1e9b454c71a33a261a0afb9c7f..856481bdf352e080893559c64279ad60c9ca9b75 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-2.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-2.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-3.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-3.js
index 820b723a5d06f649cdfcd620d05f4e0c374a340a..7d035ba144890c9f2eda65f07b93885c245fadb3 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-3.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-3.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-4.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-4.js
index 17b66960077181553528e5a6429c96f7f41f9e9e..60d5ce9f71e8b03a09cc1bb0236fc5498a81df69 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-4.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-4.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-5.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-5.js
index cce09acbab012f5cca51308c1d26bd68f41c74b8..a3ba640404a4f0587c248b571b13f6ea60648734 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-5.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-5.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-6.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-6.js
index 3292d0c0ee3ac3e6ab5c3b0df8a6519ae7a75ac8..3ed5206d190dd2ee520ade193d5a192129139db9 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-6.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-6.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-7.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-7.js
index 5dda1fb14a6099c7b42c86d67630d181db0bfb41..8f8ea855d317bf297993eef0c1c2228920836034 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-7.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-7.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-8.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-8.js
index be4f1fbc338c9f3155afca010347a6ef4c1e1216..384bb8173b0d12c67e2f34f0e34921e353a55fea 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-8.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-8.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-9.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-9.js
index 69d6c1a62c8241d901e51a21d892f49200960de7..c7cdf634ac32b3166098385eda6209cd3f08aea6 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-9.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-2-9.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-1.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-1.js
index 3fe2de507ff3095398e114cb3a81db8fe79716cf..7b10bdfc40a12f20ac048af04413edada61c1379 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-1.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-1.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-10.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-10.js
index 52bcf61221462a9601031ad3f23f80bcf0f50d0b..091f166044908151e207e97fc0846fb3ad3b60f0 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-10.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-10.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-11.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-11.js
index 64409b734003dc833ee06a5d5683730f58f1c1dc..8250f4d6e132b5852ffc9d1abb86c06be77faf21 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-11.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-11.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-12.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-12.js
index 132f901e47c3b5f4dcc687e7f3802774b4aec647..287db730c4f7a8890298370873d74de7570b439b 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-12.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-12.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-13.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-13.js
index db6bb447366cedc32505b9cd64de741d513549a6..f67eeeb233599c08d1cdd3ddceb833c5b436f4fc 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-13.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-13.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-14.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-14.js
index 7bb275a344a21285f25a1dee9008d872d30d1601..06be459b661ddbf6e7cb58e73c921215ffce117c 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-14.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-14.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-15.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-15.js
index 49af974c48c93f2179f489aeb2656ec64787ce76..9a72fe3e0f393e9fc159864b4d6e32e69122a962 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-15.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-15.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-16.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-16.js
index cfb2b5c7d2dd62ce7a9c788fd988353350980284..8420d340647a9dd65371942eb05392e7e625607e 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-16.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-16.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-2.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-2.js
index 35eb91123128616a0ab2ccc26423494307c449cf..c2b799b9d6d850633d281e2120946a2b5abacd56 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-2.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-2.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-3.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-3.js
index 52fff592be8d75ec993f41f8904010eb7f5dcb6f..f135e5e7b270d411d8201836431cb4542d7be480 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-3.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-3.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-4.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-4.js
index 189aa42959f77ad67eea63270596443a03a1387a..d44e47bef2618a01eba1e232de2bcbc300b0b717 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-4.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-4.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-5.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-5.js
index 49bc3588e2fa8128d8fe90782312e158f73e3e89..618c66d15edcdfbe2f9f5f6605b3dbe2c5faa64b 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-5.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-5.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-6.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-6.js
index 6fee9f1a79c057b304edb7653649cb337cdb3ae2..07919a5b5e3a427e05a4b1686d6feb8a0c398518 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-6.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-6.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-7.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-7.js
index fb579aefbf12e9094809d494ee7b3a4d0ea0d349..96f6cf016498fc681a9a7d0beb4d6a49e5e57aed 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-7.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-7.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-8.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-8.js
index e53880d9ac3fd62d348d2f6b88af58a26d1797f3..0166c724c00e740de9678ae7e2ab9418a6933f2d 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-8.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-8.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-9.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-9.js
index 0c5b3e24705e2ecd62181c6abaad497ec701ce7b..e65020db78156462407fabd8b20363078ab58e14 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-9.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-3-9.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-1.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-1.js
index d02d43f4d3f3fcfdaa0c01a091f30874f7500f78..4b0c061965f2771a6df66f91e8a000c41643809f 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-1.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-1.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-10.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-10.js
index 9d9cc9fecc28abd4d4e5c3d7bf7b0f369e9c4a06..de38a891d1ee4542cffc434a55bbd8c88eb236e1 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-10.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-10.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-11.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-11.js
index 3c9f83baae264b6a82b173e0423c34d6440b86c4..10a40d0a1605482addc5849863142b3bdfc1efc2 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-11.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-11.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-12.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-12.js
index 020a92f079258bf85cf98f05e286501f7ab0917b..7b3695fa6e7a5b4b7713956400140ff44a3c6fae 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-12.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-12.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-13.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-13.js
index c3b5069cfb2d0f3e3c7a31bc4b5aae044dadcad1..b552fb5ceabce2a091c52dffe48b640294fa1ef2 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-13.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-13.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-14.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-14.js
index f61369326868e78ded33fa7d5a76136eacce84fa..5a8a88a610772949c64d8410431a6f4163875c6e 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-14.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-14.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-15.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-15.js
index 60c9c4c1fc887df04b4581585b78555e5b9b6964..88579c4cce4502ec233751bd0fd996c374005bbd 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-15.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-15.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-16.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-16.js
index f96207902d8917136595cda1bc1d8ad3fe7e5af8..f2b35ddd95e7c7ef628f4ceb88aa8d7d624e718f 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-16.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-16.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-2.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-2.js
index db02dc172f46ff8e6b80ab5b00e2191b011e67c4..da3e331150d3a6578017217e2c5e1a553015d5a9 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-2.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-2.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-3.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-3.js
index 4d3b52ec822c7ae0bc4c76163d2962ee49cb38f4..ee077f5a9fc3c0421797bc7211a111a1743985aa 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-3.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-3.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-4.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-4.js
index 85965a307ce587de5a8f0a4bc06b3f133fe63bd8..2fa525256324e1651180ee60f864c10b2a2ad14e 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-4.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-4.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-5.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-5.js
index 19329a7f4cae26d50843583ccf5823695b1d2ca1..350117c7b85f1399c83397bcd28c3e4020d48c77 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-5.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-5.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-6.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-6.js
index 465d86d17cfc97eb7690dc64a20a187fdc219e29..a64309d99e3536cb11e53a5aa3b6283f9982c377 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-6.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-6.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-7.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-7.js
index aa93e807b3c39a61a7873a0b26f88dbbd66289da..931aedc4cf2125ed434fa8c2ef21c2b13369a0b3 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-7.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-7.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-8.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-8.js
index 56fed02961b37d53ad2c039b832ae8d537286f1a..ece67559d1130031e99403b02eb401e7b4ec711f 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-8.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-8.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-9.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-9.js
index aeea1de0e4dcb33d3393c606d4234225e250339c..1706b5bbaf836a90901e58d0c831cf3b1c15cf4c 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-9.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-4-9.js
@@ -62,4 +62,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-1.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-1.js
index 5d900eff47e271051132ce5cae39a46df6421b97..b1b17375decd3588c74317e6c1a28af58157c9e7 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-1.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-1.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-10.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-10.js
index 8eb492fcfcb2ea2d3c92ce73a0ae407c77c6ff3f..ccffd4f7bd39d0ec5386abbf238785790a6d65ea 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-10.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-10.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-11.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-11.js
index f1d47cc70f04508771b46b4eb04575dc124b5a16..e61426834d7922fd092247998c8687204862ed71 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-11.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-11.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-12.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-12.js
index 0b3859efe59651b0fb26d3936c849074b7084775..68649b8d90c9048a2b2c13e7d309ea19453646ff 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-12.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-12.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-13.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-13.js
index b01fcd5b7f601d8951b1ef2928eb32b39fee5ed1..41f47df94b61ca3a6fde945f24c7d1bc651d98f8 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-13.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-13.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-14.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-14.js
index 8f00e116ab3a738baafc2d3b37f5b0f66691f05f..577b86d14be0e507da08979b2e46ec821ed50a89 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-14.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-14.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-15.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-15.js
index dd45a1a1d09075cfd61b12cfb4166c1784d52f3a..50c3f3b7eaab657ca127cf318b7cfa73cc22ff6b 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-15.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-15.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-16.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-16.js
index 7404848e1336ab441a6b8562b27ad24ae4030d33..2ede233379ccd794d975b6efc00c1479d74a5e14 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-16.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-16.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-2.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-2.js
index 73240d4876a5e24d5d47f9ed077d055f63be2932..0afe5898b3cb19cf6ee73046b77464a835603e50 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-2.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-2.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-3.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-3.js
index 00dd284791bc701b079eb7b538a767a7ddf8a673..159163413a54721ced613580c34b7507b5179d26 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-3.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-3.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-4.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-4.js
index 6f063dd5111920b2bc51e082444619e776e8b78d..eb1366c86a1c646d84665f6fb6e78f8ae8b960e7 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-4.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-4.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-5.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-5.js
index a0650045c206f7aa4ef9fdbb601a29bd9846c386..2a2c282c7b1769ffc6b752b61b94c4e83da201f4 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-5.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-5.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-6.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-6.js
index 0db78497567cc80f67cc8a875fcc8c211d6998b3..7e9c9ae76dd022956da6f252a0535454c6a0e14e 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-6.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-6.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-7.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-7.js
index 8bddef2620516c45190c2c5bf787fa67351e351b..e906fb3a5b3bb7b221a7edb5508dd21f8522608e 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-7.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-7.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-8.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-8.js
index 54e40b34c6f8d24e023ed5972da60e19ed8cf8fb..1277017a10b309fe9fa91fc6ad355f230b913ed6 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-8.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-8.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-9.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-9.js
index 185c77d1c204f70b2d1cec9bc392f6706133f655..27844ce70b38a0c7f71e020ecbb43b2370310ae5 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-9.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-5-9.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-1.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-1.js
index 3af7997ee8c08428dbfe238d43389c14cbb6b51f..0dacaac035722da8299c5082e5b32c0b6a2c1c6a 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-1.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-1.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-10.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-10.js
index dfe378c58435bd9dd7e42750c496110dd627159c..5dc4ef1b2c8f99f9deadcaaae5bc2d547a3b2607 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-10.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-10.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-11.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-11.js
index c4171ec2bb11c055708370d0e37956e8647c612a..bdd75cfdf572b6299a3c820f29ed4ec8c0886471 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-11.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-11.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-12.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-12.js
index 06a5b62f1b8585ac64214f3bdd46dd751a7755ae..4e8d9367c2d91acd512bbf07e293c2f4adef4dbb 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-12.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-12.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-13.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-13.js
index 1ea32ddd0253055d0fffa6d5f6445d65e7bcea65..eb19c2d2f510ea29fa6180c34e7bfc7feb396d54 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-13.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-13.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-14.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-14.js
index ab987535ba6aba9b8134cc506ce2b4bfebb21d4a..9dc43430ef117703c6b88470f964dab886621412 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-14.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-14.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-15.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-15.js
index 738eb8ac2de360c69ac87651be6497089fffca6e..89a74f0000b344e9aa4a482c4e796d8ef96a6c59 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-15.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-15.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-16.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-16.js
index c20032abf990193eb9146097d31890346097d509..af980e184058b486821261051ba3bb95ae85f324 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-16.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-16.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-2.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-2.js
index 73555e361880bb454061ccbded47eec6f4db7581..e093121525e786957be0736bfad8adbc71071a91 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-2.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-2.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-3.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-3.js
index 2b2204a6c7a9a524a53b15919efff21c9586bcfd..12bcd08a4f2de5b0e93d2164c028ecb3e91ff344 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-3.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-3.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-4.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-4.js
index 63de95ec1ed63fdee34b8f18ea29a13385a0c139..04d5eff27ae3cdeb61ca94287e71d3c6ab1b29b1 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-4.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-4.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-5.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-5.js
index 63774f37b5c579612f60a478186ea153cc3f9a7a..0142a81a4a9039bbe187b7c8a242ae20640b527e 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-5.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-5.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-6.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-6.js
index 6d55734f786fe61cce08af183738b8487cde928c..2d4aa1cd91c97f14579a8c4823645af0a1d966ed 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-6.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-6.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-7.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-7.js
index 7f1f325cfebfd5ea8f9c8d8f8bb9e094e6a0014b..7903cf8497a1baba50aa3a7c8b0b1c96a5e2c144 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-7.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-7.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-8.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-8.js
index 9f77914b9e4e49a4dbe530dcb5d652258aa71b15..385a0b8863aeb86c1e54727c289574b711de1987 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-8.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-8.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-9.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-9.js
index ee1e7d0039169afd26ca9ace80680a549b3f16bb..2960db09a9fe1621b5f445cc7747848eec069b3c 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-9.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-6-9.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-1.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-1.js
index cbdc48b6794be56ef6992c85cfa4ea5a5bf6dfac..9529e9cfbaf97be64bb2b51454c954e0173b1143 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-1.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-1.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-10.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-10.js
index 2b555951fe524e87f96eccaaf632fb7db0d3af71..08add20e2bbf6fe387b60a1ec29fcdabd74d685c 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-10.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-10.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-11.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-11.js
index a92411da34548f672045fb2587614bb9e5b5fabe..45ec7e2ad49c5d0e6a9eaadadbd6619efdae8d7c 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-11.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-11.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-12.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-12.js
index 9c2281d30dcdd40d82cc376b992cae83467c4046..9aa399ac0d5d442fab7a074ac6770a9fdb7dd67d 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-12.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-12.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-13.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-13.js
index b0d33c8b6845ff7bea05e2bbf3c8cf1ff473a7f5..9eff0526d03530cc27abd1f621b254335522ba65 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-13.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-13.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-14.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-14.js
index 136f704ab702d172a1c88a4e986dd0e5670e36c3..5a7daf261fe256db7cad974ec38f492191b9821a 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-14.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-14.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-15.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-15.js
index 9b07adcce127bb777cbfd5990777e8bcab89b561..c63320f60a9a1790cf6b3486d6e4460965e39db7 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-15.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-15.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-16.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-16.js
index 2ecec18fb855e4d7b74e1c98202b95c9ce1deba5..6ce5060e5035c9ff28a35a064cf166bd40937fcb 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-16.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-16.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-2.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-2.js
index 1fb744d10d262ace96ba54459d5f29973e6f5f81..59d75542cf82fa112eb8d414fb791b8316dd38de 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-2.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-2.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-3.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-3.js
index d49e5ff49a27c92808c020bebcb9459df410b7a4..62f2158fa7e842c3b2857f4745bf395d8aad2a28 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-3.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-3.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-4.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-4.js
index 18bc2d0c08f389332c705b1f24e1c6f386172c2a..cf074c19110b308842e415dbe7dd0947ee8f2618 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-4.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-4.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-5.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-5.js
index 2c6b44bb51e65d75ba33f5b714edc2534afd07d8..874844dfb76ebcc8d061b5fa7d433710dfe899ff 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-5.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-5.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-6.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-6.js
index c080197eb4874e8a75a4346ae26965841f91dcfa..809c78e8f1d188a187910e3a62d42d6af0381bcc 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-6.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-6.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-7.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-7.js
index 176327e5479a8d1176509334095496031fa6eb53..ec513ddcb74c639d3adedd25e2df65a7fb679856 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-7.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-7.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-8.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-8.js
index 08273ed4fd9c5c6f505483e099984ef0c4d0031f..07ba9b91e95f067d6a68c5e17341bb950b521c85 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-8.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-8.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-9.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-9.js
index fe7123af8997961d75381ab487f0569da9796f07..0d01fb4fe67cb65a15ae916c96cfa847e804e84d 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-9.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-7-9.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-1.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-1.js
index 7a4f8c5668805c59fb6e31fdb34790bfcc17c14f..a9c8b892b1aecd80838bf7d32802d6e0c3dda904 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-1.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-1.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-10.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-10.js
index 6e9c5874af0e62ee4192e09752ae859b6e2a5bca..b44cb3c4e785772fbe28f9a2e949c07b016b0fdc 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-10.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-10.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-11.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-11.js
index f604da1d74946c45bdc63859f1f3dff08064c41e..a3e410748dcfe9441bc5712c76da7a702ffb73f8 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-11.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-11.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-12.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-12.js
index b1f01745460848ab7eb509d238da995158141615..46c4971eff1e9a77edefc3b032bf81932c890569 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-12.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-12.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-13.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-13.js
index 31602f564353dfb27e60b0b6b6a1879b5e52846f..a1f7ad19d9d5a30eaa5ae31cfa12ead39c09fb84 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-13.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-13.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-14.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-14.js
index 8c138cefecbde2487d94297d22d72f7b57b36d38..a760e3398a9079d4ae80868da7ac6d3caaa72879 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-14.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-14.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-15.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-15.js
index b98cb246daf259004fa0896ce5afd6283a046e4f..0e87060f92514b73c3d5e20984fda2401114ec3f 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-15.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-15.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-16.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-16.js
index 9ab2557c2246c4fe35546afa2439b13bdb17496d..332ec564bc3bc55fa9ef3ebb9d2367bbd7930018 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-16.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-16.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-2.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-2.js
index af8e7059be30e2ea1ed6f5841366c63d932e5792..dcf1be3b4227567c6e143e6eb1a0ac20ff095773 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-2.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-2.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-3.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-3.js
index 99927243bca4dbc5aa5ecf044d5dc1d036d91b03..4a2bd15a5f7a9426c34da3cf4d0215048f07d65a 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-3.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-3.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-4.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-4.js
index 93400c62f615b35717a10e8085fbce316ed94c73..9da0b30e9de1ff95b893052a7a3f9bcc2aaca00f 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-4.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-4.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-5.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-5.js
index 185023c597dc9719bc2ab7cc280e64fdf6ff155b..5748d5e4242d2727a4d71c9741fe1585ccaf6528 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-5.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-5.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-6.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-6.js
index bf9171bd38771829b313644b0e3888c0c48c4ab9..d73f36c237106d11092ba5304d8a59840be979ae 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-6.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-6.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-7.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-7.js
index 2d14c223e3bd25736c22523cb47f34c94a64e17f..1c1bcfaba2b1ded90293fa7ae8723fa20d471c6f 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-7.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-7.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-8.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-8.js
index 4e540c36b94ccc4ad7a50ab0eadb311880ed7844..c0d1182c4242d8baa5b9a8b9ae4e271790f4cc35 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-8.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-8.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-9.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-9.js
index 1cacbddaadf7eb3196d730adf3b0d1dd4623c089..8edd22e48ffe7ae083657feb1f242ec80c152b16 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-9.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1-8-9.js
@@ -58,4 +58,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1-17-s.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1-17-s.js
index a5c57e45d825159071b042872ef4cb40fe21b8f3..0691f1696819e2ae87d155ab6d49c002910d6b05 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1-17-s.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1-17-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-1-s.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-1-s.js
index 88b044638f7930caf8abba7e6c02d7fe009e5ded..2d2a01f6a8bffb6bbfabbab62fe8b4f4f312c57c 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-1-s.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-1-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-10-s.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-10-s.js
index 0b04c2c48ee8f154d36853616752495de2848176..820d299064fce5c1bfd5dce144c88f60153bdf1f 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-10-s.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-10-s.js
@@ -30,4 +30,4 @@ function testcase() {
         var IMPLEMENTS = 1;
         return IMPLEMENTS === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-11-s.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-11-s.js
index f4f2aa014fb2bdd82dec53f3df56fb1da6cb72ad..826a16af43de6420350390dd7bf37c6a4bfcc090 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-11-s.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-11-s.js
@@ -30,4 +30,4 @@ function testcase() {
         var Implements = 1;
         return Implements === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-12-s.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-12-s.js
index 3f2ace3c3a96f5357542405d142d562be05618d2..4a8a6562672e3aeb3723e186773cb1cdb1189239 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-12-s.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-12-s.js
@@ -30,4 +30,4 @@ function testcase() {
         var implement = 1;
         return implement === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-13-s.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-13-s.js
index d17de3d59669d3547204fec6473f140ac5783afb..3e4358a2b8cbf8723a14e0d965aca5975614bff2 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-13-s.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-13-s.js
@@ -30,4 +30,4 @@ function testcase() {
         var implementss = 1;
         return implementss === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-14-s.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-14-s.js
index 97b7be14e3d9dc7a1237577aafa1e46d03e6f540..20243c6ceec56d57145ecb6ecf7844fa21d643d5 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-14-s.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-14-s.js
@@ -30,4 +30,4 @@ function testcase() {
         var implements0 = 1;
         return implements0 === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-16-s.js b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-16-s.js
index d6e1c33c6c3719c9c815759562b63653695dd16e..73e2cc06202a2f7d776a38d79f85d502d9289f65 100644
--- a/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-16-s.js
+++ b/test/suite/converted/chapter07/7.6/7.6.1/7.6.1.2/7.6.1.2-16-s.js
@@ -30,4 +30,4 @@ function testcase() {
         var _implements = 1;
         return _implements === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-1-s.js b/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-1-s.js
index 31e13c7c423d36d90edd7b15f37fb7120fcfe12e..16fb4a49339e6fdc22dd1ffa2ca2990854187f2a 100644
--- a/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-1-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-1-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError && typeof _7_8_3_1 === "undefined";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-2-s.js b/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-2-s.js
index b1e8591c892a169ea1cb0660c016b3f977750f96..8ccc26a95a1664094ef60ecc595529946d5e8ef1 100644
--- a/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-2-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-2-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError && typeof _7_8_3_2 === "undefined";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-3-s.js b/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-3-s.js
index 9030a6af93ceafd5ecaea379781059a524001c27..5764fa3eb1befd490d73876b76d27f1d96554a8e 100644
--- a/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-3-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-3-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError && typeof _7_8_3_3 === "undefined";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-4-s.js b/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-4-s.js
index 41124a6b26bc39d6eb1308cae05d6f6fd0dde0cf..2982bc448fe113419e6551088dba1e4d7309018f 100644
--- a/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-4-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-4-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError && typeof _7_8_3_4 === "undefined";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-5-s.js b/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-5-s.js
index 311496d31a23b75508bfc470549097c6db24c119..6d9ec17fa0055a3652b1996803222c68e94bd8cc 100644
--- a/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-5-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-5-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError && typeof _7_8_3_5 === "undefined";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-6-s.js b/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-6-s.js
index e5dfca7464c018dff29b655145c30e674b9a2264..fda26eca56226a0ee31f5109f6c2c7c5172b6658 100644
--- a/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-6-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-6-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError && typeof _7_8_3_6 === "undefined";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-7-s.js b/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-7-s.js
index fc0280b217593bada11b8957c5cf06b23126ca41..edd5f1c31338f933283d977aaa48200b41e207a3 100644
--- a/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-7-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.3/7.8.3-7-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError && typeof _7_8_3_7 === "undefined";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-1-s.js b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-1-s.js
index 83bb5b57ee0183889cfd84ec9540af88ece8175a..a628bf27bdf5a63fa9420e06a8fadf325507a2c1 100644
--- a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-1-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-1-s.js
@@ -36,4 +36,4 @@ function testcase()
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-10-s.js b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-10-s.js
index 5710e6a84b7cf3a5ea1cfa21cf0514afb59f0cc6..c5bf140d6bfe96d010fdb2585ea6694706ad4209 100644
--- a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-10-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-10-s.js
@@ -36,4 +36,4 @@ function testcase()
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-2-s.js b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-2-s.js
index bf070e89be4870042aa07daa80cff6ea37da6d2f..d4cba1f8238e759a454df46f060e83fdb963274d 100644
--- a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-2-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-2-s.js
@@ -36,4 +36,4 @@ function testcase()
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-3-s.js b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-3-s.js
index 6aa30536cd31741f2c01a923f9c9af3dab20664f..b72f5c008eb2cef412f76fb517b500218f66ab94 100644
--- a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-3-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-3-s.js
@@ -36,4 +36,4 @@ function testcase()
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-30-s.js b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-30-s.js
index c27e80e3598f86d203e36cccb483b57001d132b0..d7bd12b99923d9d32b9831b0bbf35fdc30c274b7 100644
--- a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-30-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-30-s.js
@@ -36,4 +36,4 @@ function testcase()
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-31-s.js b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-31-s.js
index ea4467187baf5fefccc570ed5c6f8811497fb720..8c53480ef9749490dff3877351d95f7a8df32770 100644
--- a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-31-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-31-s.js
@@ -36,4 +36,4 @@ function testcase()
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-32-s.js b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-32-s.js
index ce09d8675cb13d50471faa433c84521405240147..c248732e2286d5eb38f80f5f0c260cc253a0be11 100644
--- a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-32-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-32-s.js
@@ -36,4 +36,4 @@ function testcase()
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-33-s.js b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-33-s.js
index 24e5ad48cbc76101c67151d28796fe7996eef9ca..b565d9ca583a11f2f141810d008f3d01c187d9c9 100644
--- a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-33-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-33-s.js
@@ -36,4 +36,4 @@ function testcase()
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-4-s.js b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-4-s.js
index fc6bfad24bf44fbaa019bfac9bebe004bdb2ac05..eb8a2eaf197b613895e69ba95ba7266746f01915 100644
--- a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-4-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-4-s.js
@@ -36,4 +36,4 @@ function testcase()
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-5-s.js b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-5-s.js
index ea324bdceb88bee0f87a3b3ad912315665b668ea..5002884eba7d4786653ae5d35217a05d1efb01c9 100644
--- a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-5-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-5-s.js
@@ -36,4 +36,4 @@ function testcase()
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-6-s.js b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-6-s.js
index 87d82938f1cdaa7fa559b82fe4da2c061bde6876..23aacc5e183fad4aca60e98def814fe7fae171d8 100644
--- a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-6-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-6-s.js
@@ -36,4 +36,4 @@ function testcase()
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-7-s.js b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-7-s.js
index 5e812b9bc77af18f3baa90c0e2615c950855c6cf..0defc9dcb40a2470e0b8a90df768e08a92dd111a 100644
--- a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-7-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-7-s.js
@@ -36,4 +36,4 @@ function testcase()
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-8-s.js b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-8-s.js
index ff38aa73bb2abb551b385f0cb4b1fbcf1864aa46..9073c7ec2bff143e5ad0b03ab9cb0ba35134faab 100644
--- a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-8-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-8-s.js
@@ -36,4 +36,4 @@ function testcase()
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-9-s.js b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-9-s.js
index 403d7c1aec449ac091b13b4904e452b316e2d9f6..37fcca29a3704599d949c29fa3b8b274a4c0310d 100644
--- a/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-9-s.js
+++ b/test/suite/converted/chapter07/7.8/7.8.4/7.8.4-9-s.js
@@ -36,4 +36,4 @@ function testcase()
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter07/7.8/7.8.5/7.8.5-1.js b/test/suite/converted/chapter07/7.8/7.8.5/7.8.5-1.js
index 275651b3aedc702ede600c1e6a6cf14b321d94f2..ce2845a006be14c988448cff0148b6ff258341ec 100644
--- a/test/suite/converted/chapter07/7.8/7.8.5/7.8.5-1.js
+++ b/test/suite/converted/chapter07/7.8/7.8.5/7.8.5-1.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-1-s.js b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-1-s.js
index 7a8ec254f514137e77dbc24fc897ebff8d1b4052..1805cf7483adc2c3addd3b678d9b6e7bc4c50f46 100644
--- a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-1-s.js
+++ b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-1-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof ReferenceError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-2-s.js b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-2-s.js
index e8c52e3f2a40275977d69b26d5e4723559056185..71bbcfbd83cd067408bdd547550ad9af2356660c 100644
--- a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-2-s.js
+++ b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-2-s.js
@@ -30,4 +30,4 @@ function testcase() {
         var b = 11;
         return b === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-3-1-s.js b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-3-1-s.js
index f958938c0b63e8fd043280745b77614999027560..378df33b067803cbb8a42cf9c164d115faa4d9b5 100644
--- a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-3-1-s.js
+++ b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-3-1-s.js
@@ -31,4 +31,4 @@ function testcase() {
   var o = { eval: 42};
   return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-3-s.js b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-3-s.js
index 853df18c0dd58d7db56d4a34339e515fbde6fb2d..c2d429378336a6ee1bd72c517e6155679ea6c2fd 100644
--- a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-3-s.js
+++ b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-3-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-4-s.js b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-4-s.js
index 6ee3fb6a04e20b592380f4fd0b963c73b0afb332..e5f8780f8f3dea035074f41c02d7450abb3f03d3 100644
--- a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-4-s.js
+++ b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-4-s.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-5-s.js b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-5-s.js
index ab4488b514d89975e9fec0e165ffa2cacd594687..1d33d76032c8c97c18a25b4c2fddab65777d45ca 100644
--- a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-5-s.js
+++ b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-5-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-6-s.js b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-6-s.js
index 61306965c0f8eccdad3cbe584f2e4ba8664f72c0..7267fd0eec6bcc09e13081389c2723372f1620ef 100644
--- a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-6-s.js
+++ b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-6-s.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return _8_7_2_6.b === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-7-s.js b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-7-s.js
index 88fe3f4569ec0335de26c37f1a4608876d26931c..6c4e56a8549016839e87d91b404e5ff0f41e6347 100644
--- a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-7-s.js
+++ b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-7-s.js
@@ -37,4 +37,4 @@ function testcase() {
         _8_7_2_7.b = 11;
         return _8_7_2_7.b === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-8-s.js b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-8-s.js
index ea0336da5261d5689238eb29dc0d70a01cbcf96e..16ad73856b58e03c4871e459a4b97e0c514fb0f5 100644
--- a/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-8-s.js
+++ b/test/suite/converted/chapter08/8.7/8.7.2/8.7.2-8-s.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return _8_7_2_8.b === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-1-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-1-s.js
index 3b271acaccd58b647954835c2171aedd9408f66d..237d29bbab27628d3ab081398e4cdcf4c5ce91f3 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-1-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-1-s.js
@@ -30,4 +30,4 @@ function testcase() {
         var public = 1;
         return public === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-10-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-10-s.js
index f217ed7f1d46c222c255f3d8c3dad16cd9bb8226..2fcec47f329581faa7dcf1add053b0d0e1ebf1f0 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-10-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-10-s.js
@@ -30,4 +30,4 @@ function testcase() {
         var public = 1;
         return public === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-11-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-11-s.js
index 8265a5f4a02f9e8df62542cd696c0948db031cf7..72a28710bfe1ba27cf1285b584502094d9d7cfc1 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-11-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-11-s.js
@@ -35,4 +35,4 @@ function testcase() {
                 typeof anotherVariableNotReserveWord === "undefined";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-12-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-12-s.js
index c75cd0b162c4f5156596fa137b76b1c43fa17620..02b7a1862e7db29e479118f0d55b2e181ca4bd9a 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-12-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-12-s.js
@@ -29,4 +29,4 @@ function testcase() {
         eval("var public = 1; 'use strict'; var anotherVariableNotReserveWord = 2;");
         return public === 1 && anotherVariableNotReserveWord === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-13-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-13-s.js
index 152309d6d7acaeb38210c380fadac40ba385714c..620a1306dc7bdac58f927f89071f8f762381f4b7 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-13-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-13-s.js
@@ -29,4 +29,4 @@ function testcase() {
         eval("var public = 1; var anotherVariableNotReserveWord = 2; 'use strict';");
         return public === 1 && anotherVariableNotReserveWord === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-14-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-14-s.js
index 0641f4007cde0c36f347b95aa5fc021480cd2c08..dc63db0f7d929f5fd271b20f6ea78abe2738dc92 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-14-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-14-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return true;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-15-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-15-s.js
index 7266559766c95519e41532678135134b614db046..266f7ee65ff36acf4ce6ee849c2f0c08dff663c3 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-15-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-15-s.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return fun();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-16-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-16-s.js
index 6d4ff99a94c04814aa2914dbee6a6bb331ef4f8c..fd9664264c02472197301c0b99d46993f8ba0d32 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-16-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-16-s.js
@@ -36,4 +36,4 @@ function testcase() {
             }
         } ();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-17-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-17-s.js
index e54f82761669e072d5a92c59af8e76f1f80842e6..3dba765edd923e4d6a007fa60fd986d64f7286e7 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-17-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-17-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-18-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-18-s.js
index 15642c15f3e2b4ff62a83ad7d38471a64537d855..e5c01a58071def9abfb77586677c60a0892251aa 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-18-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-18-s.js
@@ -43,4 +43,4 @@ function testcase() {
             return e instanceof SyntaxError && data === "data";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-19-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-19-s.js
index de2cc2f0e182e889ad95f30a6bd769547ba8bf55..6f653cc714b5744db1da5317632ee6eccc076c52 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-19-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-19-s.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return fun();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-2-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-2-s.js
index 623b8b2777b7bfafd6368838df9579975be54853..65834f2f32ff6b9e9fa2afc26497a723aa3f70b9 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-2-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-2-s.js
@@ -35,4 +35,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-20-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-20-s.js
index 1f64f677069957ed45a6fe3f082a78ca9ec4c79d..165c1dadb6b4b0a2f5254976f1c71d8f76f9ab13 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-20-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-20-s.js
@@ -33,4 +33,4 @@ function testcase() {
         }
         return fun();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-21-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-21-s.js
index 6e1024d8e250bac0e3838b9cc0bcfe1648aae82b..9c3ab75105132c96b44346b62a4bf72bf9ebd686 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-21-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-21-s.js
@@ -33,4 +33,4 @@ function testcase() {
         }
         return fun();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-25-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-25-s.js
index 077eb7c880461369fe057a1c448d791613baceab..ddce6140e877e596cbbd5590c8615e8dd59b0eee 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-25-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-25-s.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-26-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-26-s.js
index 8011a1a6e030c8b769d0d506dd3e31a9bcd12185..22b7d5a50688dde94d3fc3a7d620d2fb44fcfcc6 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-26-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-26-s.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof SyntaxError && data === "data";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-27-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-27-s.js
index aeff338c01a0773c800481071b57976a8fa02bae..5d099f86f157a4970fe5b5a75cef0c1d63f9fd0e 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-27-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-27-s.js
@@ -36,4 +36,4 @@ function testcase() {
         });
         return obj.accProperty === 11 && public === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-28-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-28-s.js
index b587ee41fd74dc478341d02bd382e7aa5c258ea3..045aab88f4e24981bbb49dab7ddd60959bf5f5d0 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-28-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-28-s.js
@@ -39,4 +39,4 @@ function testcase() {
         obj.accProperty = "overrideData";
         return data==="overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-29-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-29-s.js
index 60fa219af7706d67f0a924edf449c24b9a7779d0..bfd4ce78ee4e6c741a0b6efaacf851e0fc818be9 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-29-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-29-s.js
@@ -31,4 +31,4 @@ function testcase() {
         funObj();
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-3-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-3-s.js
index 5fd7ecb3e87f94942d5faaaa621c31246828dd50..4331f4b992c79c43f52fc2825bdc92da4b7a2f98 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-3-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-3-s.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return public === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-30-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-30-s.js
index 855f8ae3d533de2ce04849f09ec228602e18dabb..c3aed8ef448b43e4f127c620ab40f34babdf8b79 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-30-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-30-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-31-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-31-s.js
index a515d1c59587e4d82efd43092841624f85e6f94a..03b356dccb008b0445f1adc460b117a70cd39d92 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-31-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-31-s.js
@@ -30,4 +30,4 @@ function testcase() {
         funObj();
         return public === 1 && anotherVariable === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-32-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-32-s.js
index 8355688fcb210dd52697506c3b5a8b4f7fd2bf3c..d1fd4f51bd578ac4af7d6035043874f7ac064eca 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-32-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-32-s.js
@@ -30,4 +30,4 @@ function testcase() {
         funObj();
         return public === 1 && anotherVariable === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-4-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-4-s.js
index ae7535b69a38be1f670bf52349abef30e1506a72..468c11d612087df4e3ba6de74846b50dadf89924 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-4-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-4-s.js
@@ -30,4 +30,4 @@ function testcase() {
         var public = 1;
         return public === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-5-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-5-s.js
index 1ee7274b1def7e0eac8f8603299c36038721609c..127ee2c5966c908a8160162ec3d6f9c24410c6ab 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-5-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-5-s.js
@@ -35,4 +35,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-6-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-6-s.js
index 6be9ed5aa988d82707540c51da8ae2009ea1e9a6..73f4d1760c158ba6aef1913939ff86e99daafcd4 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-6-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-6-s.js
@@ -31,4 +31,4 @@ function testcase() {
         var public = 1;
         return public === 1 && interface === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-7-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-7-s.js
index 9844df9dfa47338966603957bdcf62b630c66990..6a885c6167807d213d36a1644e20d303e4e7bc00 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-7-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-7-s.js
@@ -30,4 +30,4 @@ function testcase() {
         return public === 1;
         "use strict";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-8-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-8-s.js
index 4b00abe0719a17a498312ff0524b386b2b56f800..6e54259e172d75b2ab29bab3bb511858e058da70 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-8-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-8-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-9-s.js b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-9-s.js
index fe4ca5e896049d69a9beab56a261d061238ed200..57e6b47acd1560c6f84d95dabf43ddcd72a3dc16 100644
--- a/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-9-s.js
+++ b/test/suite/converted/chapter10/10.1/10.1.1/10.1.1-9-s.js
@@ -30,4 +30,4 @@ function testcase() {
         var public = 1;
         return public === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-16-s.js b/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-16-s.js
index 622c02452b8f55f795102719d10e5d39cccede35..326187d1e2c61d655f4f3af765f77f935f68d683 100644
--- a/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-16-s.js
+++ b/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-16-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-18-s.js b/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-18-s.js
index 915943005e8dcd7d4f07ec7d69ea6111bde3730a..1bc7d3f0ba3549f73d08e502fc8b507b8d786fcd 100644
--- a/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-18-s.js
+++ b/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-18-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-22-s.js b/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-22-s.js
index 5a7f47bd76c894a5313be7d65e84addb82ebe914..e7c6de19f19e07ff4d0fa093af0cbb41120a02c7 100644
--- a/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-22-s.js
+++ b/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-22-s.js
@@ -36,4 +36,4 @@ function testcase() {
             Object = objBak;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-27-s.js b/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-27-s.js
index 0506a1bb89ccf6bc4bcc1a2cb5ee70f36cf1797f..78dd663a2bee4ce9b37270fdf26a20ae3051dfcb 100644
--- a/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-27-s.js
+++ b/test/suite/converted/chapter10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-27-s.js
@@ -36,4 +36,4 @@ function testcase() {
             Number = numBak;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-1.js b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-1.js
index 6dffd6f595a0c2746dc029356baac948e405c6a2..8c25e3d3264341b17d7a5262c25cec6e7a561555 100644
--- a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-1.js
+++ b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-1.js
@@ -38,4 +38,4 @@ function testcase() {
     delete this.__10_4_2_1_1_1;
   }
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-2.js b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-2.js
index 7f0b833adff3d492d7464eb53dfdf5f1d86a02b8..8bb9e8736a5c81d4ab52b21a03394d20c1de11e1 100644
--- a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-2.js
+++ b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-2.js
@@ -43,4 +43,4 @@ function testcase() {
             delete this.__10_4_2_1_1_2;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-3.js b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-3.js
index 7e8cb64b677ba4fd5d4d497cf62f5b7cd3023c76..3bdad3359f2b7dfa218fb25a4df01687024f4cc8 100644
--- a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-3.js
+++ b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-3.js
@@ -46,4 +46,4 @@ function testcase() {
             delete this.__10_4_2_1_3;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-4.js b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-4.js
index 23b01a202706a6023d509359d2c58fe86e6d1cbe..8f5e4dbf1e3e4f3708bf2142e314794b3795b21a 100644
--- a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-4.js
+++ b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-4.js
@@ -41,4 +41,4 @@ function testcase() {
             delete this.__10_4_2_1_4;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-5.js b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-5.js
index a019177c5b78c9b6dd893ec91a7450b11b9462c6..c4ccc4b4eb1ded5236638100c45f7593e058c927 100644
--- a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-5.js
+++ b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-1-5.js
@@ -39,4 +39,4 @@ function testcase() {
             delete this.__10_4_2_1_5;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-2-c-1.js b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-2-c-1.js
index b1ebcae44234622fc6fde2d034fed9f788a221df..809ffa4e7f18ab05cde365aa2ea8cb5c193c759a 100644
--- a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-2-c-1.js
+++ b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-2-c-1.js
@@ -32,4 +32,4 @@ function testcase() {
         return true;
      } ();
    }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-2-s.js b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-2-s.js
index 80e3e49ec8ea27d8f84a04df1c1e5615a100148a..497e52032c7efdbbeae76a4823d40fc660dad3ba 100644
--- a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-2-s.js
+++ b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-2-s.js
@@ -30,4 +30,4 @@ function testcase() {
         eval("(function fun(x){ return x })(10)");
         return typeof (fun) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-3-c-1-s.js b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-3-c-1-s.js
index 6a0ce81a241666d7ce7c80e4d56ad051c4eca2e4..9f3ac678b662b7093ca272568cce0d947c6d33ab 100644
--- a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-3-c-1-s.js
+++ b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-3-c-1-s.js
@@ -33,4 +33,4 @@ function testcase() {
   } 
   return _10_4_2_3_c_1_sFunc();
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-3-c-2-s.js b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-3-c-2-s.js
index 2add6ee837373f13175845adf00a232c86af99ee..3470b8b5046c0fafc5afc80dc346af07fb2c5037 100644
--- a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-3-c-2-s.js
+++ b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2-3-c-2-s.js
@@ -34,4 +34,4 @@ function testcase() {
   }
   return _10_4_2_3_c_2_sFunc();
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2.1-2-s.js b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2.1-2-s.js
index bffe8455ac9646a5c30c2217e03ab90c2f9c3d68..ba553a8c5058750221912b86817b7f175b445bec 100644
--- a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2.1-2-s.js
+++ b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2.1-2-s.js
@@ -31,4 +31,4 @@ function testcase() {
         eval("function _10_4_2_1_2_fun(){}");
         return typeof _10_4_2_1_2_fun === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2.1-4-s.js b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2.1-4-s.js
index 2cb2ddf6c318b6ab50862e12b183f7ac367ef24d..6a93f3c8ffda1f09b12fec4b68a81112aa9fd277 100644
--- a/test/suite/converted/chapter10/10.4/10.4.2/10.4.2.1-4-s.js
+++ b/test/suite/converted/chapter10/10.4/10.4.2/10.4.2.1-4-s.js
@@ -30,4 +30,4 @@ function testcase() {
         eval("'use strict'; function _10_4_2_1_4_fun(){}");
         return typeof _10_4_2_1_4_fun === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-1-s.js b/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-1-s.js
index e4d2f9efb839c6664114e6144d940ba7ff30ac85..ed8ce8ee7e665b9e5f426edce98b151ece6b579d 100644
--- a/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-1-s.js
+++ b/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-1-s.js
@@ -41,4 +41,4 @@ function testcase() {
 
   return foo.call(1) === 'number' && bar.call(1) === 'object';
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-2-s.js b/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-2-s.js
index ee21de4f2a7eeb275c118d3de0f22abd0436ea50..a107f3f0c73a171e48a6fabf888783c0d618d9c1 100644
--- a/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-2-s.js
+++ b/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-2-s.js
@@ -41,4 +41,4 @@ function testcase() {
 
   return foo.call('1') === 'string' && bar.call('1') === 'object';
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-3-s.js b/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-3-s.js
index db2bff98c3bb4229db2dd2a1da5cb28da459b584..eb3e1c689b8eb92514a6e02aec1da9dd8f7f1026 100644
--- a/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-3-s.js
+++ b/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-3-s.js
@@ -39,4 +39,4 @@ function testcase() {
   }
   return foo.call(undefined) === 'undefined' && bar.call() === 'object';
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-4-s.js b/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-4-s.js
index 73d536fdae8d374ad07244576355c392c066e2a1..3b92314077b595272e7917055ff2199d7965fd59 100644
--- a/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-4-s.js
+++ b/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-4-s.js
@@ -41,4 +41,4 @@ function testcase() {
 
   return foo.call(true) === 'boolean' && bar.call(true) === 'object';
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-5-s.js b/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-5-s.js
index d812b20a3e778979811806442c277692f4052bf5..fb702ebdd10454c13d2487bef295391237929ac7 100644
--- a/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-5-s.js
+++ b/test/suite/converted/chapter10/10.4/10.4.3/10.4.3-1-5-s.js
@@ -44,4 +44,4 @@ function testcase() {
 
   return foo.call(foobar) === 'function' && bar.call(foobar) === 'function';
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.5/10.5-1-s.js b/test/suite/converted/chapter10/10.5/10.5-1-s.js
index 9898157ef449f06ce766bf1507df987f1fc2e0bc..58eba4600ecca89d5b8629bd15277b89306f9b52 100644
--- a/test/suite/converted/chapter10/10.5/10.5-1-s.js
+++ b/test/suite/converted/chapter10/10.5/10.5-1-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return (e instanceof SyntaxError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.5/10.5-7-b-1-s.js b/test/suite/converted/chapter10/10.5/10.5-7-b-1-s.js
index 5ea29590a481f4d8c6b2fc7ce23eac509b61936f..96573a286d97c62bd37e4019bed5ce11253db113 100644
--- a/test/suite/converted/chapter10/10.5/10.5-7-b-1-s.js
+++ b/test/suite/converted/chapter10/10.5/10.5-7-b-1-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.5/10.5-7-b-2-s.js b/test/suite/converted/chapter10/10.5/10.5-7-b-2-s.js
index 0133106343e5feea343eb449fd396dccfb82660f..5c3a08d778d640d8df1e55be8ebc588372ba55a0 100644
--- a/test/suite/converted/chapter10/10.5/10.5-7-b-2-s.js
+++ b/test/suite/converted/chapter10/10.5/10.5-7-b-2-s.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return _10_5_7_b_2_fun(30);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.5/10.5-7-b-3-s.js b/test/suite/converted/chapter10/10.5/10.5-7-b-3-s.js
index 02ebc7fe157c26313cb37806d80a46357671aead..dfab53329827c8bbb88da318fa6863a28f035aa8 100644
--- a/test/suite/converted/chapter10/10.5/10.5-7-b-3-s.js
+++ b/test/suite/converted/chapter10/10.5/10.5-7-b-3-s.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return _10_5_7_b_3_fun(30);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.5/10.5-7-b-4-s.js b/test/suite/converted/chapter10/10.5/10.5-7-b-4-s.js
index ee260e9b985799b2fdabcdaccba06ee86b007946..b6c302a5aa8873e0002fd137295ac0f41df9a7fb 100644
--- a/test/suite/converted/chapter10/10.5/10.5-7-b-4-s.js
+++ b/test/suite/converted/chapter10/10.5/10.5-7-b-4-s.js
@@ -36,4 +36,4 @@ function testcase() {
         };
         return _10_5_7_b_4_fun(30, 12);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-10-c-ii-1-s.js b/test/suite/converted/chapter10/10.6/10.6-10-c-ii-1-s.js
index 4574ffa6009f1a03102491667f5050fd1faa1ad3..b68c9351b074cf8a3f73a0c54a5895daffc745a1 100644
--- a/test/suite/converted/chapter10/10.6/10.6-10-c-ii-1-s.js
+++ b/test/suite/converted/chapter10/10.6/10.6-10-c-ii-1-s.js
@@ -34,4 +34,4 @@ function testcase() {
   }
   return foo(10, 'sss', 1);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-10-c-ii-1.js b/test/suite/converted/chapter10/10.6/10.6-10-c-ii-1.js
index 5751f996a2891fe37463ca746b626e8a50182528..ee3fe6e93433306fa1887794e26fbd270a4bc30b 100644
--- a/test/suite/converted/chapter10/10.6/10.6-10-c-ii-1.js
+++ b/test/suite/converted/chapter10/10.6/10.6-10-c-ii-1.js
@@ -33,4 +33,4 @@ function testcase() {
   }
   return foo(10,'sss',1);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-10-c-ii-2-s.js b/test/suite/converted/chapter10/10.6/10.6-10-c-ii-2-s.js
index e3fb305ab9a9b5f63eaaef42a686b9a537066fd6..6a38a2b5f2c08488081d0e86cae65b2f09aa880a 100644
--- a/test/suite/converted/chapter10/10.6/10.6-10-c-ii-2-s.js
+++ b/test/suite/converted/chapter10/10.6/10.6-10-c-ii-2-s.js
@@ -35,4 +35,4 @@ function testcase() {
   }
   return foo(10,'sss',1);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-10-c-ii-2.js b/test/suite/converted/chapter10/10.6/10.6-10-c-ii-2.js
index 64c940d37e2115fea78a6b05dd395c6c25c6cb68..e1d3f158a98b45262cd809e698713d898380a508 100644
--- a/test/suite/converted/chapter10/10.6/10.6-10-c-ii-2.js
+++ b/test/suite/converted/chapter10/10.6/10.6-10-c-ii-2.js
@@ -34,4 +34,4 @@ function testcase() {
   }
   return foo(10,'sss',1);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-11-b-1.js b/test/suite/converted/chapter10/10.6/10.6-11-b-1.js
index 466bfb05ed667fdbc60d0442edf6abe9b1127cd4..30da80d1397214d3fd9f8b5770963a8df2a3c23e 100644
--- a/test/suite/converted/chapter10/10.6/10.6-11-b-1.js
+++ b/test/suite/converted/chapter10/10.6/10.6-11-b-1.js
@@ -66,4 +66,4 @@ function testcase() {
             delete Object.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-12-1.js b/test/suite/converted/chapter10/10.6/10.6-12-1.js
index ebdca4164a28f317b3f29d9d42655d40a68b68be..5f46b832c64ab5f0f5eaeaea0fcdf4a49701da9d 100644
--- a/test/suite/converted/chapter10/10.6/10.6-12-1.js
+++ b/test/suite/converted/chapter10/10.6/10.6-12-1.js
@@ -33,4 +33,4 @@ function testcase() {
   catch (e) {
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-12-2.js b/test/suite/converted/chapter10/10.6/10.6-12-2.js
index 8ee8cb8cb988ab669d3f900a0a8456708f5ad67c..7605fa36bf4c2333c81234733d687615ab89074f 100644
--- a/test/suite/converted/chapter10/10.6/10.6-12-2.js
+++ b/test/suite/converted/chapter10/10.6/10.6-12-2.js
@@ -34,4 +34,4 @@ function testcase() {
      desc.hasOwnProperty('put') == false)
     return true;   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-13-1.js b/test/suite/converted/chapter10/10.6/10.6-13-1.js
index 40190b0031c776d686362f9bfb24499c61799d02..b1032de7c38312433d2d4f5dede7d25acec3a6d5 100644
--- a/test/suite/converted/chapter10/10.6/10.6-13-1.js
+++ b/test/suite/converted/chapter10/10.6/10.6-13-1.js
@@ -33,4 +33,4 @@ function testcase() {
   catch (e) {
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-13-a-1.js b/test/suite/converted/chapter10/10.6/10.6-13-a-1.js
index e76552040a322bc5f57a62c86f1e2cf1f7b9e1d1..eac25d295a534e5b3dfef8ad9fdfc39b6636e593 100644
--- a/test/suite/converted/chapter10/10.6/10.6-13-a-1.js
+++ b/test/suite/converted/chapter10/10.6/10.6-13-a-1.js
@@ -57,4 +57,4 @@ function testcase() {
             delete Object.prototype.callee;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-13-b-1-s.js b/test/suite/converted/chapter10/10.6/10.6-13-b-1-s.js
index 169a3fdca904679fa050bd517c64fd7c3ac54461..bd556a763c0970cbaf09020ba356a076a88e83cb 100644
--- a/test/suite/converted/chapter10/10.6/10.6-13-b-1-s.js
+++ b/test/suite/converted/chapter10/10.6/10.6-13-b-1-s.js
@@ -36,4 +36,4 @@ function testcase() {
       return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-13-b-2-s.js b/test/suite/converted/chapter10/10.6/10.6-13-b-2-s.js
index 870bf7a7e6a35441b0a490cf51d2d42fefbddcf5..ebe8d81e19077eab7d27dc94a70902dd84cd7f4c 100644
--- a/test/suite/converted/chapter10/10.6/10.6-13-b-2-s.js
+++ b/test/suite/converted/chapter10/10.6/10.6-13-b-2-s.js
@@ -31,4 +31,4 @@ function testcase() {
   var desc = Object.getOwnPropertyDescriptor(arguments,"caller");
   return desc!== undefined;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-13-b-3-s.js b/test/suite/converted/chapter10/10.6/10.6-13-b-3-s.js
index 04caef023248b0e374e1059985564beb7042cc40..eedf5308bc5b4d8d5a930058d86e64665a4c733b 100644
--- a/test/suite/converted/chapter10/10.6/10.6-13-b-3-s.js
+++ b/test/suite/converted/chapter10/10.6/10.6-13-b-3-s.js
@@ -38,4 +38,4 @@ function testcase() {
      desc.hasOwnProperty('set') == true);                                     
     
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-13-c-1-s.js b/test/suite/converted/chapter10/10.6/10.6-13-c-1-s.js
index d246c489e9fc739604667b76208dd6ad8741ba1b..20507e1a93cb86723dc4ad30ff7be2e986a67946 100644
--- a/test/suite/converted/chapter10/10.6/10.6-13-c-1-s.js
+++ b/test/suite/converted/chapter10/10.6/10.6-13-c-1-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof TypeError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-13-c-2-s.js b/test/suite/converted/chapter10/10.6/10.6-13-c-2-s.js
index 598e21b974d7c9fbf2334e79927864f134011d74..834e47e494fb017fbcff2696ea2436529bb5e540 100644
--- a/test/suite/converted/chapter10/10.6/10.6-13-c-2-s.js
+++ b/test/suite/converted/chapter10/10.6/10.6-13-c-2-s.js
@@ -31,4 +31,4 @@ function testcase() {
   var desc = Object.getOwnPropertyDescriptor(arguments,"callee");
   return desc !== undefined;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-13-c-3-s.js b/test/suite/converted/chapter10/10.6/10.6-13-c-3-s.js
index 79cab6c42895529d30e646d33e0d6e4f40c0c5ac..586140e0a9aa20440c37ffb997d01528a69ac780 100644
--- a/test/suite/converted/chapter10/10.6/10.6-13-c-3-s.js
+++ b/test/suite/converted/chapter10/10.6/10.6-13-c-3-s.js
@@ -36,4 +36,4 @@ function testcase() {
      desc.hasOwnProperty('get') == true &&
      desc.hasOwnProperty('set') == true);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-14-1-s.js b/test/suite/converted/chapter10/10.6/10.6-14-1-s.js
index 508e210d870b401380283cd4fceeac233804a1f2..61b38e2fd14afc8cb7a2da928ed37d8193fa8cfc 100644
--- a/test/suite/converted/chapter10/10.6/10.6-14-1-s.js
+++ b/test/suite/converted/chapter10/10.6/10.6-14-1-s.js
@@ -32,4 +32,4 @@ function testcase() {
         } ();
         return argObj.hasOwnProperty("callee") && argObj.hasOwnProperty("caller");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-14-b-1-s.js b/test/suite/converted/chapter10/10.6/10.6-14-b-1-s.js
index f6225d0d5fb1973feaf3e37aacf7bd6c639f9050..169bf74c96fc73110aae0f027101b3cf4d8cc6e3 100644
--- a/test/suite/converted/chapter10/10.6/10.6-14-b-1-s.js
+++ b/test/suite/converted/chapter10/10.6/10.6-14-b-1-s.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return !verifyEnumerable && argObj.hasOwnProperty("caller");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-14-b-4-s.js b/test/suite/converted/chapter10/10.6/10.6-14-b-4-s.js
index 77c88d4a71701b120d783210f882a2af426bf926..a575e5d7a49475bef32c982cb2af058c439adea2 100644
--- a/test/suite/converted/chapter10/10.6/10.6-14-b-4-s.js
+++ b/test/suite/converted/chapter10/10.6/10.6-14-b-4-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-14-c-1-s.js b/test/suite/converted/chapter10/10.6/10.6-14-c-1-s.js
index 77b1e7d63ae120ff1920cfb9235d1ca97bca61bc..44739b86cf0dc9c6f2674dea6ec8754029926685 100644
--- a/test/suite/converted/chapter10/10.6/10.6-14-c-1-s.js
+++ b/test/suite/converted/chapter10/10.6/10.6-14-c-1-s.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return !verifyEnumerable && argObj.hasOwnProperty("callee");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-14-c-4-s.js b/test/suite/converted/chapter10/10.6/10.6-14-c-4-s.js
index 7816440630fa4a44c7d2201da1ee733e6e48dd4d..11dc2c819cb3e3d4a6e2ea51ea7c88621bde7caa 100644
--- a/test/suite/converted/chapter10/10.6/10.6-14-c-4-s.js
+++ b/test/suite/converted/chapter10/10.6/10.6-14-c-4-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-5-1.js b/test/suite/converted/chapter10/10.6/10.6-5-1.js
index 5d0d905857f7965d9a9a36989033983849628383..c2698fedab9d561d073173a6e2332bc19108c4b6 100644
--- a/test/suite/converted/chapter10/10.6/10.6-5-1.js
+++ b/test/suite/converted/chapter10/10.6/10.6-5-1.js
@@ -28,4 +28,4 @@ function testcase() {
   if(Object.getPrototypeOf(arguments) === Object.getPrototypeOf({}))
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-6-1.js b/test/suite/converted/chapter10/10.6/10.6-6-1.js
index 88c31c8be38212800c541d4aa691cda434344062..66c3c77caa32e9f2cfea54e25288d623efb10f1b 100644
--- a/test/suite/converted/chapter10/10.6/10.6-6-1.js
+++ b/test/suite/converted/chapter10/10.6/10.6-6-1.js
@@ -29,4 +29,4 @@ function testcase() {
   var desc = Object.getOwnPropertyDescriptor(arguments,"length");
   return desc !== undefined
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-6-2.js b/test/suite/converted/chapter10/10.6/10.6-6-2.js
index 750306b91c684a7fc367e313a5700af84ccce4fb..9da724cec27c4fea376395819d79d34a41c27084 100644
--- a/test/suite/converted/chapter10/10.6/10.6-6-2.js
+++ b/test/suite/converted/chapter10/10.6/10.6-6-2.js
@@ -32,4 +32,4 @@ function testcase() {
      desc.writable === true )
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-6-3.js b/test/suite/converted/chapter10/10.6/10.6-6-3.js
index 94dac8c400a4ecf43f32f679f3f305baad125e9a..22a19eca5a05469b0d7020fd4b08365c77ae8b13 100644
--- a/test/suite/converted/chapter10/10.6/10.6-6-3.js
+++ b/test/suite/converted/chapter10/10.6/10.6-6-3.js
@@ -28,4 +28,4 @@ function testcase() {
       var arguments= undefined;
 	return (function () {return arguments.length !== undefined})();
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-6-4.js b/test/suite/converted/chapter10/10.6/10.6-6-4.js
index a616c9650f6c11edb2cbb361d4691440c2d29081..51ab08a919fc9c0ef9d137a495bbf1e41a6f9512 100644
--- a/test/suite/converted/chapter10/10.6/10.6-6-4.js
+++ b/test/suite/converted/chapter10/10.6/10.6-6-4.js
@@ -28,4 +28,4 @@ function testcase() {
       var arguments= undefined;
 	return (function (a,b,c) {return arguments.length === 0})();
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter10/10.6/10.6-7-1.js b/test/suite/converted/chapter10/10.6/10.6-7-1.js
index fbd00cd4e560b9e8b5f34b6500f3e1d525301948..91c84184ce7aac7696c5208220da7d2e91349ed1 100644
--- a/test/suite/converted/chapter10/10.6/10.6-7-1.js
+++ b/test/suite/converted/chapter10/10.6/10.6-7-1.js
@@ -65,4 +65,4 @@ function testcase() {
             delete Object.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.4/11.1.4-0.js b/test/suite/converted/chapter11/11.1/11.1.4/11.1.4-0.js
index e0270126500b1148042ecd1f2566c1e239d06dea..4d8270f4e0f10cb7837f348542da29fcad09ba25 100644
--- a/test/suite/converted/chapter11/11.1/11.1.4/11.1.4-0.js
+++ b/test/suite/converted/chapter11/11.1/11.1.4/11.1.4-0.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.4/11.1.4_4-5-1.js b/test/suite/converted/chapter11/11.1/11.1.4/11.1.4_4-5-1.js
index 62e84bb835bf1e47111a59a3d70fc900be2166b1..1749ff70fd8f5f92dc618254e7b046b4af2c6a5f 100644
--- a/test/suite/converted/chapter11/11.1/11.1.4/11.1.4_4-5-1.js
+++ b/test/suite/converted/chapter11/11.1/11.1.4/11.1.4_4-5-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.4/11.1.4_5-6-1.js b/test/suite/converted/chapter11/11.1/11.1.4/11.1.4_5-6-1.js
index 49bd1d649ad78291030b392e77d9a8900cbe3c68..959cd97c01efd81b1bf397dc347a3b177c04a81c 100644
--- a/test/suite/converted/chapter11/11.1/11.1.4/11.1.4_5-6-1.js
+++ b/test/suite/converted/chapter11/11.1/11.1.4/11.1.4_5-6-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-0-1.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-0-1.js
index 9b7178e694898275279963a99036803c8661cc12..e053c846821ac32fbf531e35fa22ebad3f88b085 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-0-1.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-0-1.js
@@ -39,4 +39,4 @@ function testcase() {
     return false;
   return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-0-2.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-0-2.js
index 8a5bfeae45f8088748866d805869d6efc0a1f939..4704d912ee342513d86089125959ef687058ec63 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-0-2.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-0-2.js
@@ -44,4 +44,4 @@ function testcase() {
     return false;
   return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-1-s.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-1-s.js
index 078f52bb13a6f1a55741e1d04a51f410c76c7593..32fe43dff870ffb1c1121480538738aa900d8977 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-1-s.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-1-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return (e instanceof SyntaxError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-2-s.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-2-s.js
index 81696c17f794de14bef3bc017c567ed313a9a143..b0f774d209e462f2771eccaa62ccfb4447aac85f 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-2-s.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-2-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return (e instanceof SyntaxError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-3-s.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-3-s.js
index 7898aab6116040a36d21bc4455158b1b13923feb..1a8aa6568b31cfd267b1e1cb705abda2991e6c82 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-3-s.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-3-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return (e instanceof SyntaxError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-4-4-a-1-s.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-4-4-a-1-s.js
index 121fad4757b2417456cad8f0131d8eecf664af09..39a94e4dc77737bf60e40dbc45b883d82610683d 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-4-4-a-1-s.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-4-4-a-1-s.js
@@ -43,4 +43,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-4-s.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-4-s.js
index 7d2cf9320778272b06d3f9e2704af29dcfcdb46e..bd690bc4710432bf54f3d64602223ad62b86fed7 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-4-s.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5-4-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return (e instanceof SyntaxError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_3-3-1.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_3-3-1.js
index 2925b3b0c0d3ff11217ab931ecd1940cac8377b6..b6609f63418a6559a99bab1fecd209e15768c951 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_3-3-1.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_3-3-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Object.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-a-2.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-a-2.js
index bb9e347b795d1ce286911f2b230d11d50bc6305e..166bb3c17be96c90988ee0fc743312eb39fa1b72 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-a-2.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-a-2.js
@@ -35,4 +35,4 @@ function testcase() {
   eval("({foo:0,foo:1});");
   return true;
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-a-3.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-a-3.js
index ef94ad76e0ba23419075234f9d769e6ef7a30a18..6ff2ffa77e513f974b9f846f1def86761fe57846 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-a-3.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-a-3.js
@@ -35,4 +35,4 @@ function testcase() {
   var o = eval("({foo:0,foo:1});");
   return o.foo===1;
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-b-1.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-b-1.js
index 978aa7cd8b159a055513da42a3a27f1024ca1edc..b2e156c1a01afc64f91135b3cfaf0f0bc1b720a6 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-b-1.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-b-1.js
@@ -41,4 +41,4 @@ function testcase() {
     return e instanceof SyntaxError;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-b-2.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-b-2.js
index ab05a9841beb4c5e8c6dea7e2297353cb79a5bdb..8b948f79a3466d017d72e9d6294fa647e862de83 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-b-2.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-b-2.js
@@ -41,4 +41,4 @@ function testcase() {
     return e instanceof SyntaxError;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-c-1.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-c-1.js
index 295cfbbe6d4c86c2e7e844594706a17c158fa1d2..499503501f89cc29e939438e22a1e5bb4d91bb57 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-c-1.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-c-1.js
@@ -41,4 +41,4 @@ function testcase() {
     return e instanceof SyntaxError;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-c-2.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-c-2.js
index 011fbae0f9c543965388c14c9a07093abb50f8dd..5b89cbdf94bd6fef78f190a1a45bcf51c57f47c6 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-c-2.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-c-2.js
@@ -41,4 +41,4 @@ function testcase() {
     return e instanceof SyntaxError;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-1.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-1.js
index fce4892e6d67f2d435a1c7ca2dac4ee1f850ab7a..8c872894a514dfde011baa900fab52fd0be5d8ce 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-1.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-1.js
@@ -41,4 +41,4 @@ function testcase() {
     return e instanceof SyntaxError;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-2.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-2.js
index f8a372fbc7ca651fc61e85730f7766a0520a3900..586c3f2a0084d200f8250bcfcaec3a84f813b12c 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-2.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-2.js
@@ -41,4 +41,4 @@ function testcase() {
     return e instanceof SyntaxError;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-3.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-3.js
index 51fcc288338560a7edd5af9cdde9d7f169857eb1..cee64a67534c6d7e8d0e77787ab38a03f9f092eb 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-3.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-3.js
@@ -41,4 +41,4 @@ function testcase() {
     return e instanceof SyntaxError;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-4.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-4.js
index 4ae1eff6ea9773af52fe67184ae1cfb98877db79..40e52238223287bc290c9a1f1fc823ca57870464 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-4.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-4-d-4.js
@@ -41,4 +41,4 @@ function testcase() {
     return e instanceof SyntaxError;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-5-1.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-5-1.js
index 5ecc858b85e1e6c9a1ace59c09dffdf269c4e16f..618c8b2cd5e0e0596bd6eb5e3d5dd33df93c3567 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-5-1.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_4-5-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Object.prototype.prop2;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_5-4-1.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_5-4-1.js
index 66e48f21448fa223e9289948450bec2f79f65193..b7d4acc7b79d44694ba704a9966b8d36d46faba3 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_5-4-1.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_5-4-1.js
@@ -39,4 +39,4 @@ function testcase() {
      desc.configurable === true)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-2-1-s.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-2-1-s.js
index f8d35e05a4ab96c4b0db8f6527068ca3bcbd3faa..f070ebaa4712bc3587a1b6cfd433f6e0361758d6 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-2-1-s.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-2-1-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-2-2-s.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-2-2-s.js
index ffeeb61c9fc0b3c37e08b3adeb41dadaf7ad8d2d..3101eaf3447af09c52260806764449fd81fd1781 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-2-2-s.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-2-2-s.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-3-1.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-3-1.js
index e34ee5106991c7a6cf1639d07194268294047bf3..1b04557b5642d1fbaa105fec266be88a4eea6727 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-3-1.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-3-1.js
@@ -37,4 +37,4 @@ function testcase() {
      desc.configurable === true)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-3-2.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-3-2.js
index f35280e7179df03aa328ba738aa4006203dd11ba..8c9d3c9ea988f12f2dc9b5f7a43ded324df924a5 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-3-2.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_6-3-2.js
@@ -35,4 +35,4 @@ function testcase() {
   var desc = Object.getOwnPropertyDescriptor(o,"foo");
   return desc.set === undefined
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-2-1-s.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-2-1-s.js
index 245ca1fdd662b4bc9e978ba72128e9b626ae84b5..fab0ec22003b54727e1333c31de584f1e2002d16 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-2-1-s.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-2-1-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-2-2-s.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-2-2-s.js
index 6b2f6a788538d08913209a17179fc07d2f32d6be..c74d40943fc4a9c1e5163e63b56385091d6be101 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-2-2-s.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-2-2-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-3-1.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-3-1.js
index 626242e0bd492b8fb2998ab5d1a72974010955da..aadb13e728e7c7d4dfeedd4907b99a433a4f973a 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-3-1.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-3-1.js
@@ -37,4 +37,4 @@ function testcase() {
      desc.configurable === true)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-3-2.js b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-3-2.js
index 86b3d27e3a431ca0d8fc88aa8cda17686cc361e2..08d48cfcd7e875bce5ed8ea33d640ad444480cac 100644
--- a/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-3-2.js
+++ b/test/suite/converted/chapter11/11.1/11.1.5/11.1.5_7-3-2.js
@@ -35,4 +35,4 @@ function testcase() {
   var desc = Object.getOwnPropertyDescriptor(o,"foo");
   return desc.get === undefined
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-1.js b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-1.js
index f116a4f002ed33360bafd3ea79cb373bcd0f4db1..582c35d4a4c16714cdb6a48adec90033f6ec4a50 100644
--- a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-1.js
+++ b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-1.js
@@ -36,4 +36,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-2.js b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-2.js
index 1628acf6dd4eabc7fe16c7f217427d7775481272..cfda464bcb032a3ad12cc181798cc593e1b2dc52 100644
--- a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-2.js
+++ b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-2.js
@@ -36,4 +36,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-3.js b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-3.js
index 4b5200c0bcfa27b4701898abeb94a8b31b8c48f1..d3d4c0575df91635455a2b9b4ca38a04a173f57d 100644
--- a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-3.js
+++ b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-3.js
@@ -36,4 +36,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-4.js b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-4.js
index 41f6038a3332afba06f31b83a27384f7e4870411..df92592aa0fc5d7635e07024a5f911c5a924b67d 100644
--- a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-4.js
+++ b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-4.js
@@ -36,4 +36,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-6-s.js b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-6-s.js
index f3abbfb55dfe1225bf0f4697d6ffdebae62c81ee..5820c2e8d8219352e8f10abff7d0e6f128f7daa4 100644
--- a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-6-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-6-s.js
@@ -38,4 +38,4 @@ function testcase() {
     return (e instanceof ReferenceError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-s.js b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-s.js
index 42d2440d7fac6be608fda9afebf9dcfad4fc04be..6c3fc762ea263eb2326a224586cbb5154114bd95 100644
--- a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-1-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 10;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-2-s.js b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-2-s.js
index 9f8099dbf28a768200b4b29e1a6a5951a78f5d34..b526aa0ef251be4bf6ca2010662c1fc54f06bbc3 100644
--- a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-2-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-2-s.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-3-s.js b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-3-s.js
index c844c1c1c2a3a69a4fa43cde8bad4d8cd1476609..dd564287c59d0e3c5772e00355703655b52d8bc0 100644
--- a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-3-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-3-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-1.js b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-1.js
index db902e43610f9288cd53955a6c4c58d2893ac7af..d1a2f0be75ad1d0753bcfe0389ccb9c9fe5483f3 100644
--- a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-1.js
+++ b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-1.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;
   }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-14-s.js b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-14-s.js
index bd3148a7ff0f46fc15111ed6bc2a3a8c1afe2b96..868cc2f25de2451872a1c9ff37beba9f061694c2 100644
--- a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-14-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-14-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof TypeError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-27-s.js b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-27-s.js
index bb1d8f5074ab956e90eb623d45e0e7f4dc9bb79b..c8a5005a90ff9fb59735c9fbddf48583d518a0df 100644
--- a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-27-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-27-s.js
@@ -36,4 +36,4 @@ function testcase() {
       return (e instanceof TypeError);
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-28-s.js b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-28-s.js
index 7c66445c4d5b0eb428e6f2f84e2ac17e88fc0ffc..d99665e42e6817b9965fea44f480d65adf6ea226 100644
--- a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-28-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-28-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-29-s.js b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-29-s.js
index a9f4192dddd6f3867486629a871098854f95dbb0..e77d22f44d8ffcd91bdab07957ba30b66dfaec64 100644
--- a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-29-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-29-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-3-s.js b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-3-s.js
index 1d663f5fe8e81d91265502a22f704e375ac9a102..25f32adf0ed67a544389c3fc8d71354829712e76 100644
--- a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-3-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-3-s.js
@@ -36,4 +36,4 @@ function testcase() {
       return (e instanceof TypeError);
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-6-s.js b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-6-s.js
index e001a6509ed1184e829f0646416eb3d8c0fba4fe..a9600d80ac23104db1527eb42505206015d0fd2d 100644
--- a/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-6-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.1/11.13.1-4-6-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof TypeError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-1-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-1-s.js
index faac88727ac3ff5b67a760ed66a489b65118a361..2de3ca3bed742ab140a04d1d489f0da9631c3a66 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-1-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-1-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof ReferenceError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-10-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-10-s.js
index 4dd8976d926d0835d8ee6415b3a4ddf100bc0d0e..823418d86b5e276d32c00cef80511a29199236ee 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-10-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-10-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof ReferenceError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-11-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-11-s.js
index f83a026549dffaaedb34dff1ebacee1a14771363..eec24a928cc6b7fd3a0807f075d3a2e0e3cf7ad6 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-11-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-11-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof ReferenceError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-12-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-12-s.js
index 27534d7ff54fc7add2d665ad23014b39846e72fb..801f80fa0058f3dc95ef6c4593aced2291c75417 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-12-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-12-s.js
@@ -31,4 +31,4 @@ function testcase() {
         _11_13_2_12 *= 2;
         return _11_13_2_12 === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-13-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-13-s.js
index 716675a3a0866362d60daf1e67f56455cb5363b5..48286a5e845668c7b064abb65c9938366eb5777f 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-13-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-13-s.js
@@ -31,4 +31,4 @@ function testcase() {
         _11_13_2_13 /= 2;
         return _11_13_2_13 === 3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-14-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-14-s.js
index 6f2c15ab4731ecc9c3e24aeb19183f7703068387..1c65f28a53faedfa2a0dec4c126fef93c6f5a875 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-14-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-14-s.js
@@ -31,4 +31,4 @@ function testcase() {
         _11_13_2_14 %= 2;
         return _11_13_2_14 === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-15-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-15-s.js
index 851bd37d7947004ac53fb54702fadc728a510dd3..587a7297c96d562abd6f23260cb5b82b43440565 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-15-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-15-s.js
@@ -31,4 +31,4 @@ function testcase() {
         _11_13_2_15 >>>= 2;
         return _11_13_2_15 === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-16-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-16-s.js
index bb4e1d123fdb765648144a0ae6da349551aa8539..4e4e804dfc935a487305cdeec2f52ee95512fdf0 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-16-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-16-s.js
@@ -31,4 +31,4 @@ function testcase() {
         _11_13_2_16 -= 2;
         return _11_13_2_16 === 3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-17-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-17-s.js
index 43e00baee74d3c4ff3ee93c9f433cb643dc02ffb..e02dc0235c6ee23699051e136246336cef5b1677 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-17-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-17-s.js
@@ -31,4 +31,4 @@ function testcase() {
         _11_13_2_17 <<= 2;
         return _11_13_2_17 === 4;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-18-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-18-s.js
index ec756893416b089240b556e257b3e7e83ba266e8..e15e252e5aa147dff3a49f2fdef95fb8062cd0e7 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-18-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-18-s.js
@@ -31,4 +31,4 @@ function testcase() {
         _11_13_2_18 >>= 2;
         return _11_13_2_18 === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-19-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-19-s.js
index ac0fac32d6a2327e874c5a52562b8c7ca3824263..3716bf624d397fadad7d02340aecfbb7eb504d3b 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-19-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-19-s.js
@@ -31,4 +31,4 @@ function testcase() {
         _11_13_2_19 += 10;
         return _11_13_2_19 === 9;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-2-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-2-s.js
index 38a34450d2232196f2b4827b89e25f48b69a5da1..72f9c3dac8101b3eb8818708b650c6a7843a2fff 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-2-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-2-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof ReferenceError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-20-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-20-s.js
index 4094eacd3140cd313bf709585a77502a710c3890..ef9e3cd01d794667c240385b731de56e304b57d4 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-20-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-20-s.js
@@ -31,4 +31,4 @@ function testcase() {
         _11_13_2_20 &= 3;
         return _11_13_2_20 === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-21-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-21-s.js
index f67298be4280635e7e7023fbf539bd90baa6535a..71932c3ed1d6d87663526c6143d6f65f773594d0 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-21-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-21-s.js
@@ -31,4 +31,4 @@ function testcase() {
         _11_13_2_21 ^= 3;
         return _11_13_2_21 === 6;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-22-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-22-s.js
index 1798f47cf131578be72cabb4e5f3382fc175d733..58fe28b69223d8b3205870593c47718a696ddc63 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-22-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-22-s.js
@@ -31,4 +31,4 @@ function testcase() {
         _11_13_2_22 |= 2;
         return _11_13_2_22 === 7;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-23-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-23-s.js
index b91730cb537ddebc1fb991c6c7594d54ccb56015..9b9680ba101cb0b3582d15320e89dcf0c7fcdd5c 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-23-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-23-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 10;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-24-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-24-s.js
index d7013058f06aedb17e63eb59301cd06975660203..f5fba4dfa80387230272ec18117ae331af4d76a4 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-24-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-24-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 10;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-25-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-25-s.js
index 4c7baf911696d81e003bbec8e85fb48e8ea1d769..1915c3f637e79cbc1bd1d78d9d70af0803c51178 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-25-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-25-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 10;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-26-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-26-s.js
index 2baee9a55e702c198a97190797cdbfbe15bcfa77..0b371d246e60b1a3a2877fb994240e5bbfbbc83e 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-26-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-26-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 10;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-27-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-27-s.js
index 138b42a9ccc51cb6bd981469b834269ca8191614..096a4dae8b7b7a00b2a2b068e14dae11317ba931 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-27-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-27-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 10;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-28-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-28-s.js
index 4e302195f02e9566c8eb1e4efdb5d1f8b45e60de..48eea119bd3e395be573a24bf1c1ae660dbacacc 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-28-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-28-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 10;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-29-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-29-s.js
index 02c3f81e133d0691a94f02482c6f97b4dbd4f65c..b49bb21d3fbe19b2384dc1c9333ac3244de0abf3 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-29-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-29-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 10;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-3-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-3-s.js
index 88f504ee971772ce7c6b957b9d4099869c21bf07..86e718eb9edb2493c23e7ab252377f8bc4f5a101 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-3-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-3-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof ReferenceError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-30-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-30-s.js
index e59f95239c19d350b99d72b0dfa3c7ccc06888d0..2b6d952ef2eb31deb9eeb21bc3bfeeef607b2e04 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-30-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-30-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 10;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-31-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-31-s.js
index 3cbcf8b1d6d7bfaa4c3fbf266def386227c9ebdc..b90f60cb4fc4227dc3c6959266168555c586139f 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-31-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-31-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 10;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-32-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-32-s.js
index 4005b4647da4f9be1d05a9a7f993accc50fd1cd9..e2c509a5fb348d3ccaf77c4e31a96d8f81cdb21f 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-32-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-32-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 10;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-33-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-33-s.js
index f5c4abd6270f4c9fdd09868c59352547511b37e8..afc1ce80783d44f4e29e9586ca58b561315f61c2 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-33-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-33-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 10;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-34-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-34-s.js
index c26964ec51ae48031e2735e84aff8f29a034d5e8..f75908071a3d0e9401dbc3fa58d88a36ffe9b65c 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-34-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-34-s.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-35-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-35-s.js
index 86b0c26d9d62585c5885ebe1625f2c76d7a2b92b..20f8a334884b654e711317e700872f7035816bfc 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-35-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-35-s.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-36-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-36-s.js
index cd96009da76cfd022fbdc6520bb5109d1ac3ae0f..9256221ace7770287839374ff68e979846b9c496 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-36-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-36-s.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-37-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-37-s.js
index ab354d7880766c7202b8e07342a0ba7d7a786dce..2cfe07db4304e72806486bed26e85d15cdd40114 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-37-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-37-s.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-38-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-38-s.js
index e15c2febe35f2dbb580330970d00e7c367fc54c5..c554c9f4474c6dc45878b44b79cabab8675e671c 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-38-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-38-s.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-39-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-39-s.js
index e82a87346f743dd0dd1b688d882993cf8ea6eb0a..5cdaece80718d89fc5d82b0669f2e17fd8411b9b 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-39-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-39-s.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-4-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-4-s.js
index 3f03bf1c91834f3a2b0e1debbe55b9f272c5ee2d..1b21d49af936bf9638e35fc58ce8c7593569400f 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-4-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-4-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof ReferenceError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-40-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-40-s.js
index 40090ddc85e4d318794d88e53c27dec03a230571..e08f2ecc2381ed70cf1808ce99f294a25b1ac3e8 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-40-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-40-s.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-41-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-41-s.js
index 50efd9bf9389ee642aab0bee0889484b1270a4ac..34321daad58342778d82589b4481c1867409549b 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-41-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-41-s.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-42-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-42-s.js
index e75528a9880397b0cf71e7bbf23e6aec93a07415..5777c16f1f3ce9de159913a516b5eaa65ecdcddf 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-42-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-42-s.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-43-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-43-s.js
index 5b26c4c3f4f1a0e49e0e3ac16c989bbb3fdffc51..93fd212db3801ce4b7c1604e593ce5fe63ce48a0 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-43-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-43-s.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-44-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-44-s.js
index 42fe1644a60e89f743ddeddd2aa18e5c3a93bc5d..27af83bb14f6c8da9f51565f5086870ed25f9cf7 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-44-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-44-s.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-45-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-45-s.js
index a5f20cc51c31f12633d58d47918079b4bdaa93cb..f89a781d4a6eb7a66809ae69e5b9de5aa36a8c00 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-45-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-45-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-46-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-46-s.js
index d8ffb4c72ee5b557fa2c0702734025c9cbe8cd42..e222faacad50ea91f73ebbd3437b55969fd4614f 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-46-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-46-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-47-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-47-s.js
index 009c6b05d31a96c3f0846e0e186974e671247c60..540666c3120d256a4b571a99d679f5c1b6a8b8ce 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-47-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-47-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-48-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-48-s.js
index 1d5b89cd6cd5dcaf608a018c4e86dbbe41d694a8..b2aa6d685646092a496851d2741c48a88bd1f99d 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-48-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-48-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-49-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-49-s.js
index 563a71fda242e5893f9ff46ceed77fa74f292bc2..eda14870830a1d06c76998627b1b3a644a81dcc1 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-49-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-49-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-5-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-5-s.js
index 41ab79ccc1529cb23ed17b3ec1ea0bc722f3477d..40309327e19a58622bbfeb3ac00f435a7d49d6aa 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-5-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-5-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof ReferenceError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-50-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-50-s.js
index 62e98421ac8d01a69017fc9b0c752de8a9740e12..ef568980f0af58d89426c7f004feed84b4159ce4 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-50-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-50-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-51-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-51-s.js
index 82b3f1ebb883c5095c64acdd087732157cd3f775..1dad6b200d85e540f4c2a4cd8ab3329cf7f564a8 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-51-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-51-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-52-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-52-s.js
index c7fe2109fdcc8565fb025a31d59f908164045e69..69f98a436b80f2f91e19dd2275354f8b85175518 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-52-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-52-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-53-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-53-s.js
index 2a61ad991774fb3d352cbe38593b03d604e57c83..8d016d2c04d6f47c983f3f1f5a772e942dc1994f 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-53-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-53-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-54-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-54-s.js
index 657e79f0d89cb7040c7e3708d890bfc0ca3f0659..5175334df0c492a5cd2cca3ab3ef07637fdbb00a 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-54-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-54-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-55-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-55-s.js
index d9ce97623753e48fa26efbb33ac392320df822d7..e6548a0d8ca8eb31d4f4fd6fd42dfde01260aa3b 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-55-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-55-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-1-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-1-s.js
index 02fd8dfd25159d931e498a61909ea1f9be8bd806..2bc44ceb740772241b1e612461581059827f8f70 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-1-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-1-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-10-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-10-s.js
index 087448249c27efa6babbcc3fe8608233d1e5a6bc..a4eb7f5f7894007d76433a8c2b8fafdab9b666ac 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-10-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-10-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-11-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-11-s.js
index 1efab8e64477452dad5ec5f6f76eb06bbfdab90b..4aebe8eaa5791c25e9a13fe4243eb018e08b971f 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-11-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-11-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-12-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-12-s.js
index 4dca3d444204ffc141dd6048c024df8fec6f71e4..afd88463b5a6feb14006512d2b1706052fe4bdbe 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-12-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-12-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-13-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-13-s.js
index 7316a954241e07d2536e2f62f5b79324b9d40529..e0506cd1574878487bdafeaf174c3eccb4f7c4c5 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-13-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-13-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-14-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-14-s.js
index 1454c73934a0979672cf89e34cb37630afff847a..da00e168020b4cf2a88195a4d4f9011bebb62669 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-14-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-14-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-15-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-15-s.js
index e7e18f670fa96746da37c133e3f92a052befd508..7a766923dbd9742be7d88c0ef3e64374caa1ab69 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-15-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-15-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-16-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-16-s.js
index 4398f33573325216d7fb3987499eef7b879ae66f..6e76aa78cb86138b6fdcbc13df0c562f3ba494d9 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-16-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-16-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-17-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-17-s.js
index 956020d7bebaf4683f06e6fccbeb5fa4a7074662..16f7e8e7788243a8477e941fe40408ce38420052 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-17-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-17-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-18-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-18-s.js
index 6c17617f114afda4bd28f00076117835184f64bd..98ca1d3c4c846a402d3c0a248b6db3e4dccc628f 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-18-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-18-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-19-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-19-s.js
index dd20fc72246bf68bf72b39e529de143f753587a6..49e02124e3b2a46a0327e69409a24621de4173d1 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-19-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-19-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-2-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-2-s.js
index a2c69aa01a8c86d368fa60feb2913581489a570c..c627c7e858be2011316d3ef99dd8f92ce7e4775b 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-2-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-2-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-20-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-20-s.js
index 3592baa27ae7c569a910a8c9ea78b6fa09a6b046..ea231a9fbbc174bc2c9a5bd80f17656851334581 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-20-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-20-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-21-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-21-s.js
index d18a3df0b517d700aac24f30c7fab56af3cd7057..3da837a4d3720658cdfe0e485a44d6ab40708ef5 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-21-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-21-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-22-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-22-s.js
index 86d9920bd87445a7add5efaf7ae3ecb8be31ecec..a2bdb21b0392f0b3af92dc9533c375e5897cec61 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-22-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-22-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-3-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-3-s.js
index 69fe62b85ca118fce763bc433fd87495cb9f9fdc..4250c9c977ff63733c6c2ba3ea79a8a65ba8707d 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-3-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-3-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-4-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-4-s.js
index 4596adcbf0363911583197efd6703589fceb2b1d..9eed286ca9d91fad7236d5c7ad942485530a3a9a 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-4-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-4-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-5-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-5-s.js
index 753e683475f4dcded3a2fadf6f56abfef6f6cc51..80de84d3f6a52d6cc98b6a7d27b7c6cbd4d3ac87 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-5-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-5-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-6-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-6-s.js
index c4e618d985c8b98452b17f506350b920b07343eb..ae78fe9cdffd9e3adfa9dc1781324f9180ef848d 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-6-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-6-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-7-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-7-s.js
index 72fcfc172a969064abcb76e315bdff7e0ec0f2a1..4f07551a14768c31350bc597a23b86036a97ca8a 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-7-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-7-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-8-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-8-s.js
index beb224206cceceafc6ad992a02f95666e3e3c2fb..f72cc2585cf568fb31a776a0a864454f0d661045 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-8-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-8-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-9-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-9-s.js
index a5d3789332bdd158d8056efaaa1ade3831c71b17..ebbc0c41fd8776721735828f5565035eb2d94366 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-9-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-9-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-s.js
index 4ef14aea26c9431434f7c3cd4028787f939bd629..b0acdc282cc392c1cfffbd1d4f6a3d49e0faed7d 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-6-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof ReferenceError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-7-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-7-s.js
index 20faef6c19414b857327221b6e2daa33247bf0f0..1422eb9c451136413e432c95b00aade131263344 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-7-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-7-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof ReferenceError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-8-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-8-s.js
index 5bc40b0ed5a8f6184a55964228bdb9eb9eed45cc..6d9799d0c176e8ca6779ba0d558f521044b08b68 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-8-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-8-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof ReferenceError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-9-s.js b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-9-s.js
index 8675f230f2983fb7b63e60a9280aa529d4da8a96..a4eff3edd9c824f92d530c46def108c52b3e4b07 100644
--- a/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-9-s.js
+++ b/test/suite/converted/chapter11/11.13/11.13.2/11.13.2-9-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof ReferenceError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.3/11.3.1/11.3.1-2-1-s.js b/test/suite/converted/chapter11/11.3/11.3.1/11.3.1-2-1-s.js
index 702375a45593241db12fed8b9a8c3f356e80ceef..28182dc301384ad35a9d5286173b7967915a4a8a 100644
--- a/test/suite/converted/chapter11/11.3/11.3.1/11.3.1-2-1-s.js
+++ b/test/suite/converted/chapter11/11.3/11.3.1/11.3.1-2-1-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.3/11.3.1/11.3.1-2-2-s.js b/test/suite/converted/chapter11/11.3/11.3.1/11.3.1-2-2-s.js
index 5e1d48c8e6aae5425ae77ea04de698c23d8bfc87..300a02fdad9b77906249ca13520ae87781f9243d 100644
--- a/test/suite/converted/chapter11/11.3/11.3.1/11.3.1-2-2-s.js
+++ b/test/suite/converted/chapter11/11.3/11.3.1/11.3.1-2-2-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.3/11.3.2/11.3.2-2-1-s.js b/test/suite/converted/chapter11/11.3/11.3.2/11.3.2-2-1-s.js
index a35340e4f714682894a5159ae22c832f6c701090..896c35a7c7df592caf819727bbba04e99676a93a 100644
--- a/test/suite/converted/chapter11/11.3/11.3.2/11.3.2-2-1-s.js
+++ b/test/suite/converted/chapter11/11.3/11.3.2/11.3.2-2-1-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.3/11.3.2/11.3.2-2-2-s.js b/test/suite/converted/chapter11/11.3/11.3.2/11.3.2-2-2-s.js
index 3b9d3245c3b3a4c79cebccfe9d6ee1419fcfb946..16f60a2a073fb5dfc8a9da8310babd0f47d698bb 100644
--- a/test/suite/converted/chapter11/11.3/11.3.2/11.3.2-2-2-s.js
+++ b/test/suite/converted/chapter11/11.3/11.3.2/11.3.2-2-2-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-0-1.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-0-1.js
index 0093150e1fd52b5b3865ac0fbe1ee5d8f8f53aaa..6b98d5e61aaf7d92945003d416414cface926384 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-0-1.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-0-1.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;
   }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-1.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-1.js
index 53d258cda407974573e64cfdddba67d7886a2d1b..57afcb130f73f88939bb2b36e1e0dba9fc226b6b 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-1.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-2.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-2.js
index b9cfefba4398397738f6d669d0c04b1c0114495f..5e711ffeaa11e302bd7f3b3e67cdc9ac66b0ff2f 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-2.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-2.js
@@ -32,4 +32,4 @@ function testcase() {
   if(d === true && bIsFooCalled === true)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-3.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-3.js
index e4e0b9516702c873dedd1bafbc649d5bb195c85e..90d5c4a955d90e871f0379352d7f12ebc098b443 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-3.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-3.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-4.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-4.js
index 0b1446e539a5c9cdf3c41c999c5e21b6208212ad..811f162d6c9b2d722350f0597363973b5489ae16 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-4.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-4.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-5.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-5.js
index f012b72d36974ed4d67d9a59d411a290f523f462..5bf932162ed77b1fafe785c611d79053b71935df 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-5.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-5.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-6.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-6.js
index 2c70f8fb6ab9d8ae1c39313ebdd67264bb96eb06..967bb23e60c35bc9bd312849e3e5d09532b83244 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-6.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-2-6.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-1.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-1.js
index 56e5f221998e7c6666618d2ad81fdbae0a99a649..4c68118dcc992531bc191c55520811a3eaf8973d 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-1.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-1.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-2.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-2.js
index 7a2f005b5dbd7f47fe88f6f9f9530f67cd8da1e8..f26c024422bc5436970c5bb9de701fe0eeda8f1e 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-2.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-2.js
@@ -36,4 +36,4 @@ function testcase() {
       return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-3.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-3.js
index 4acabd28869eb707c1c46c1d827a81390796c968..9a802a41b7e7c04ab5517aad4d8e2804a164b8ab 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-3.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-3.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-a-1-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-a-1-s.js
index afb96d40c97a9012a9d12d9fe59b73f1d596b58b..603973b1157c6868dc4a2a5bf48f9eedf800755f 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-a-1-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-3-a-1-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-1-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-1-s.js
index 348bf0ccd5301e13cf423c9c8c3d5820ab6e9bc3..b4047a40c6eb47701720dd4ab431b4ee66ebf69b 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-1-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-1-s.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === "abc";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-2-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-2-s.js
index 91193df76b6b4b4cc717abdda4a4548d81e30155..98805844a4b99c19905441ae74aaf41985b5f565 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-2-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-2-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && obj.prop === "abc";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-3-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-3-s.js
index b6ff2bda1938dc2a5bc4fd6109707d108e032dbb..995b3e596eb54782f4790f2b94a387277aa80ba8 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-3-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-3-s.js
@@ -36,4 +36,4 @@ function testcase() {
         delete obj.prop;
         return !obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-4-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-4-s.js
index e1ec1c1473b3aa6ac340bca29e1b8b6329bee5ad..c2f3d602a889b056412d45c64aa3aa7902e421ad 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-4-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4-a-4-s.js
@@ -38,4 +38,4 @@ function testcase() {
         delete obj.prop;
         return !obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-1.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-1.js
index 08b835696a6c63f16b7ca4548911409966121d33..7d3fbb6737c47403ac4655a31e1a09d3c8a871a1 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-1.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-1.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-10.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-10.js
index be6633cf21ad1b13841e404c187283a1e87dd9d8..ec3bda8fee89bcad8f2e7a860503adf1f41638c8 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-10.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-10.js
@@ -45,4 +45,4 @@ function testcase() {
 	else JSON.stringify = o  /* this branch messes up the attributes */;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-11.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-11.js
index 42418c942db456a763f516837dd60a291d3410cb..16791fd475da3af09d0e2af19615076ee4c764a9 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-11.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-11.js
@@ -36,4 +36,4 @@ function testcase() {
   if(d === true && arguments.callee === undefined)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-12.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-12.js
index a283b53194032ce19c99a74b448dfc51f907021f..e494c8bc3336eb3e92a0abe47d6ad321f7368a8a 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-12.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-12.js
@@ -35,4 +35,4 @@ function testcase() {
   if(d === false && a.length === 3)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-13.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-13.js
index 62b1239d92c8afa6eca256f54e19f47eb07231dd..988b39bece0401071d9be599def138e90ff8be3f 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-13.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-13.js
@@ -37,4 +37,4 @@ function testcase() {
   if(d === false && Array.isArray(a) === true)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-14.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-14.js
index 58d38114a73334dd6a0f7b15bae5cf4c7ec24622..c40f061424368048f026b01dbf2b060d15ba5398 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-14.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-14.js
@@ -35,4 +35,4 @@ function testcase() {
   if(d === true && a[1] === undefined)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-15.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-15.js
index d1342f406dd68816d8f27990c183a35ba0f00528..c4f48619895f8f098f891fcb502116ccc46b1f68 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-15.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-15.js
@@ -35,4 +35,4 @@ function testcase() {
   if( d === true && a.x === undefined)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-16.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-16.js
index c4bb9416e8c8756203adc96fb88e02d22522024f..52a39cf08dd291883fb0f904178ff234802d7b46 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-16.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-16.js
@@ -32,4 +32,4 @@ function testcase() {
   if(delete arguments === false && arguments !== undefined)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-17.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-17.js
index 6cf8d472d0b138fbd16b7116c0e15b8a9d8f0d89..31ee89c5f82651f747236503adbc37bec3a7f96a 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-17.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-17.js
@@ -37,4 +37,4 @@ function testcase() {
   if(foo(1,2) === true)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-2.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-2.js
index 70baed50322d56e99c3a3d26788c80434365601e..732c2bfbcfe65cded9895259efbbca092126df8e 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-2.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-2.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-3-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-3-s.js
index 851b09b5a28763f6e2412eb0d368c0639d4290a3..55d16a389af4e185204ca40a157a8129c5556ad0 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-3-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-3-s.js
@@ -44,4 +44,4 @@ function testcase() {
     return (e instanceof TypeError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-3.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-3.js
index ab70d366121c328e3f22fc5aa106925f9e831e6a..0c32f20f989c60c58a2ed5236b31e2b9fddf23ea 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-3.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-3.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-4.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-4.js
index 0a74debd1e86a8f07aa64c0651dcec7f4731d146..55b8b05a040ccc774f11cac94f69b3f0cf9e1886 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-4.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-4.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-5.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-5.js
index 5dbc9e30d8be2d1b278c5ca9cdaa550dd2c77bc5..d4e18b9a209d0450efd19d224ad08892e0ef1b31 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-5.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-5.js
@@ -40,4 +40,4 @@ function testcase() {
   }
   return false;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-6.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-6.js
index a2a1e9fa278b62e1bae6de93c6f58339fc36d928..8ce143d931c8871a329c46441922cff4319c63c1 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-6.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-6.js
@@ -39,4 +39,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-7.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-7.js
index bdfb49acaf5cb89c06e6d25afecd3d3a95be84d4..e84a434d5b488902e305070de083434e73cf0934 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-7.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-7.js
@@ -35,4 +35,4 @@ function testcase() {
   }
   return false;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-8-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-8-s.js
index e50cfe2a79c8d203318c1e88b3f89e09927dffb1..b59ffa7f9a393824edfa72c2b14d467f37457795 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-8-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-8-s.js
@@ -40,4 +40,4 @@ function testcase() {
     return (e instanceof TypeError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-8.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-8.js
index d9c460996f020314f2e765b2cac9eeb1c4dcfd1d..cb33163606e175b180aafbed7acbb3c9d886c066 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-8.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-8.js
@@ -38,4 +38,4 @@ function testcase() {
     JSON = o;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-9-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-9-s.js
index 827ae6914ad415148f3c7fa3f16b4ec8cd00a77e..44e57d2dbdeb8b1a956f36ef4e843a6a0e83ddb9 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-9-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-9-s.js
@@ -39,4 +39,4 @@ function testcase() {
     return (e instanceof TypeError); 
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-9.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-9.js
index fcb31ab7b0adbf08b88d74e702f6be5c3e4fccaf..ef77ea9492b2d40fb632d272e8f04eed4837a9eb 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-9.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-4.a-9.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-1.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-1.js
index f6c159e84d54e65ecf6bb91d14de7523f59e6706..e044c953132c3c71c07fd839f6772f2c6c96a799 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-1.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-1.js
@@ -32,4 +32,4 @@ function testcase() {
   if(d === false && x === 1)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-2.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-2.js
index d670ebeaebe133fc83797f4f3dad123fef7d9496..a10b6716393c22b2ba9ab4743d68c01b503c6002 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-2.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-2.js
@@ -35,4 +35,4 @@ function testcase() {
   }
   return foo(1,2);  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-3.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-3.js
index 19dee9b366807dfb0ae397f774061d51d66e40c1..2ca70c6ff8035ff8a95efb8293d8c87684fc93a6 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-3.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-3.js
@@ -32,4 +32,4 @@ function testcase() {
   if(d === false && fnExists(foo))
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-1-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-1-s.js
index 9c3ad6ad253c0f64ce5d24b99471331c9b40d4c6..cdf314963dd2b934b5b08202c57571d69f362369 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-1-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-1-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-10-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-10-s.js
index af1c1b03d197411cf00c9207f863c445189de161..ba36f657b85a0fe4af93a577a55097da5a61e1eb 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-10-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-10-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-11-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-11-s.js
index 8baf2508deb54c06f21d5296db6c563d88e93a3b..8afb57263d57381f62de210e046727ace3dc7fc4 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-11-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-11-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-12-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-12-s.js
index d2fed9f35600e9d6b341b7059797cb2cea94a1a9..0aeab60ed33bf3d405b82de81eef7400d96f5558 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-12-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-12-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-13-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-13-s.js
index e6b1300003ff7c7d1cc410f7bb165be0b390852e..111b4bee74348223a3166f98bbd0976511058c1b 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-13-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-13-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-14-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-14-s.js
index 35819008964ed845a6189d916914057eb9e5770f..c16e1204f80af9e9222d918d31873cf3f2811b00 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-14-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-14-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-15-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-15-s.js
index eadac6d653e71ef9308df57db6e472673cc6c489..0b05c54b717ecc9fe050a3cab5a0712c10f77028 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-15-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-15-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-16-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-16-s.js
index a31eecd61ea9cafbf9d4420b5c8e76eff6175498..46f1d31f21306e719f851ac49093229e959185bf 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-16-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-16-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-17-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-17-s.js
index f6d52a32fc9c1d34ad2ceb0398f6e9cd1a97087f..06b222d5f0520eb01852f571d6fbe0847dded171 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-17-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-17-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-18-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-18-s.js
index fd2a610cc6b705e735cb2eb89ed51087bc289123..a6c41c1723744a2cf6eb90939f27e7e5dd663f22 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-18-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-18-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-19-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-19-s.js
index e4823904be28b2811b4f0465cb3e31d72cde64f1..31ad29d6836571347086fb38ef9d2d271e2f30c7 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-19-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-19-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-2-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-2-s.js
index 4c0438836ff626c1926721fe7d38dd8ebde8013d..6f565529db186742e46fda6b79cb36273b606f94 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-2-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-2-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-20-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-20-s.js
index 1d72bc716f5787be6085af1bd7b7a21c8232d707..a5dfca687778616bcd21c7a5c3c8b693f21edaf5 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-20-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-20-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-21-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-21-s.js
index 3cb859f91c1c3625fddd79f7ec08a3e9bb9504d6..6269645212722498c540e58eb3304a6f98afe08c 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-21-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-21-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-22-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-22-s.js
index 61bd428bf6f8eefd60e3410f64cd716e7e2484ab..236a372942d732d8124439aa2845753b056adc01 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-22-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-22-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-23-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-23-s.js
index aff26e3f33c6b2b34f57efe990f5e6f6115689ed..6c6071f71347ee71d09dab0a498fb4052216561e 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-23-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-23-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-24-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-24-s.js
index a585c9a716b97325d5050b007f022fc920d1a85c..a6fb92105926b0af58c0a4b33a86fbb88e0925c1 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-24-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-24-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-25-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-25-s.js
index bfcafd830dee5cfc06485ac75754d2e9fcb2145b..f13039d93530d9484a18b8125e6ceb6567400da2 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-25-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-25-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-26-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-26-s.js
index 5a52a5c86ac100b26e3e9a99df614a36a602d4eb..8bc6b5148f28b9edf4417dd383fa693b44417a3d 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-26-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-26-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-3-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-3-s.js
index a72ca46d7937a131150be91f7db6680014c3a062..894ae2adae3df808bd6f21978568678ff3bea9f6 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-3-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-3-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-4-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-4-s.js
index 8c470887754c37cc35b0b52d6b0de173259a8916..4d99bea4faabd4d512e32d4ee3f8156bc6e0c803 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-4-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-4-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-5-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-5-s.js
index 06b45af02eda7cf592d1f8e1b8f129bd580be41b..38d1c3f85736b851400bbb029f46364aed00ad00 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-5-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-5-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-6-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-6-s.js
index 3174815d692c748b8ad5c3f714afcb2c1cc7427f..6f1d1fa5d36e38ce926564397aa0b22b3c7d4791 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-6-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-6-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-7-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-7-s.js
index 5a9699ffe1d024184a5dca9a5aefe1b3342d5db1..6a9f0f1eefb9de2dcdb149d52462db92c28331a3 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-7-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-7-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-8-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-8-s.js
index 3c120c05b9a5e785b490aede2001e63b609648c6..c584daff9ed303d7eb391a44d02c29ca52ab32da 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-8-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-8-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-9-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-9-s.js
index 4953291d0fdc0cee953b12eea4c68de01d414c20..d9235bca186fd017d44f97361c62bd3b0a6a02ae 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-9-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.1-5-a-9-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.1/11.4.4-4.a-3-s.js b/test/suite/converted/chapter11/11.4/11.4.1/11.4.4-4.a-3-s.js
index 41bf2f96dbf0ba5e1fdaab742499d053f66810ed..0990b30a053bd5e05981d27f9f73cdeeb9410d0d 100644
--- a/test/suite/converted/chapter11/11.4/11.4.1/11.4.4-4.a-3-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.1/11.4.4-4.a-3-s.js
@@ -44,4 +44,4 @@ function testcase() {
     return (e instanceof TypeError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.4/11.4.4-2-1-s.js b/test/suite/converted/chapter11/11.4/11.4.4/11.4.4-2-1-s.js
index 9c4e286e4b4e92c3513ba2d0b70c3141b2ed0da4..c87929cd0b2c9e49bdcef1af759bf4f1f1af5b78 100644
--- a/test/suite/converted/chapter11/11.4/11.4.4/11.4.4-2-1-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.4/11.4.4-2-1-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.4/11.4.4-2-2-s.js b/test/suite/converted/chapter11/11.4/11.4.4/11.4.4-2-2-s.js
index 99a9053e10bda1d09c5c888fd2947201a639f6af..b24e545227053f2c684fcb2615292ad3564d77f8 100644
--- a/test/suite/converted/chapter11/11.4/11.4.4/11.4.4-2-2-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.4/11.4.4-2-2-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.5/11.4.5-2-1-s.js b/test/suite/converted/chapter11/11.4/11.4.5/11.4.5-2-1-s.js
index 0440d49eeac05d5dab11bd2382d8c990b652ba10..15e90da227aa22de1066a7df09e8dd7051ec08b8 100644
--- a/test/suite/converted/chapter11/11.4/11.4.5/11.4.5-2-1-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.5/11.4.5-2-1-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === eval;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.4/11.4.5/11.4.5-2-2-s.js b/test/suite/converted/chapter11/11.4/11.4.5/11.4.5-2-2-s.js
index 95b65c75cefb546b77cc4d5d8db484b7adf5c97f..0c37881c5e78bb7ad64e0e98e8e9708130bdebc3 100644
--- a/test/suite/converted/chapter11/11.4/11.4.5/11.4.5-2-2-s.js
+++ b/test/suite/converted/chapter11/11.4/11.4.5/11.4.5-2-2-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError && blah === arguments;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-1.js b/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-1.js
index be7abb4a44017bf24115e42a5a82f845eb9b1f51..dc69b38fdb78fbcd0f8c393100124ee67dad562e 100644
--- a/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-1.js
+++ b/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-1.js
@@ -43,4 +43,4 @@ function testcase() {
         };
         return !(obj1 > obj2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-2.js b/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-2.js
index f4cdc6f0273282a4b8058fad09bdb19573a4c3dd..c2fd9719350898534fcff57b527b2d4f50adaeac 100644
--- a/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-2.js
+++ b/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-2.js
@@ -43,4 +43,4 @@ function testcase() {
         };
         return !(obj1 > obj2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-3.js b/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-3.js
index eb2224e4975564f3009c982dea9bbe93d1846b31..23c731cdec319764b3b1c44f391e43990cb175d1 100644
--- a/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-3.js
+++ b/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-3.js
@@ -43,4 +43,4 @@ function testcase() {
         };
         return !(obj1 > obj2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-4.js b/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-4.js
index fbb41f75bd2e2dbc97198231c2c248d374fcc79b..f25163a8d1c4c61791b229328e796777d4bc669a 100644
--- a/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-4.js
+++ b/test/suite/converted/chapter11/11.8/11.8.2/11.8.2-4.js
@@ -43,4 +43,4 @@ function testcase() {
         };
         return !(obj1 > obj2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-1.js b/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-1.js
index b9699e10de532d81a098bd5e79cdf8204b53b274..aa8d79e5c4c85153cf24195f9839fa39d923fdd9 100644
--- a/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-1.js
+++ b/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-1.js
@@ -43,4 +43,4 @@ function testcase() {
         };
         return (obj1 <= obj2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-2.js b/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-2.js
index 02a93e5868bf25b9ac375adda46b5a1cd697ffd8..12f9aa7de89f741bbec1c4d05f8c19011a09e0d5 100644
--- a/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-2.js
+++ b/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-2.js
@@ -43,4 +43,4 @@ function testcase() {
         };
         return (obj1 <= obj2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-3.js b/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-3.js
index 0f0d32dd0166d395e55ea01815986202335b8b62..91c99e28655fbf573142dba017379e112af38519 100644
--- a/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-3.js
+++ b/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-3.js
@@ -43,4 +43,4 @@ function testcase() {
         };
         return (obj1 <= obj2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-4.js b/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-4.js
index f2b8e065cee16d2ca4a6f0e7944aeb164c13884f..31c317bd0cf23ddb4756dcb77c6bbb5e7dc798fa 100644
--- a/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-4.js
+++ b/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-4.js
@@ -43,4 +43,4 @@ function testcase() {
         };
         return (obj1 <= obj2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-5.js b/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-5.js
index de0b3e4f955dd396943c36d0f68361f54b6a2dcb..e81fa96deaab4d63c6424082d5ada91d42232ec4 100644
--- a/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-5.js
+++ b/test/suite/converted/chapter11/11.8/11.8.3/11.8.3-5.js
@@ -43,4 +43,4 @@ function testcase() {
         };
         return (obj1 <= obj2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.1/12.1-1.js b/test/suite/converted/chapter12/12.1/12.1-1.js
index 6edde93614305eded230b65a53f0d60d6b5707fc..2c20b5b80969ba2dd3a4948036dc4567a6d642f5 100644
--- a/test/suite/converted/chapter12/12.1/12.1-1.js
+++ b/test/suite/converted/chapter12/12.1/12.1-1.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.1/12.1-2.js b/test/suite/converted/chapter12/12.1/12.1-2.js
index e8dab91f5cf57038d061e6d1a248d2f6761f76a0..eb3972682f628a90fbfdc599d7a30bf70747c031 100644
--- a/test/suite/converted/chapter12/12.1/12.1-2.js
+++ b/test/suite/converted/chapter12/12.1/12.1-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.1/12.1-3.js b/test/suite/converted/chapter12/12.1/12.1-3.js
index 5fce9fc29a8ae960e2247d29d013969b6500af77..67dddef333d8682d17b4bcc47a0f89fac31bd4bd 100644
--- a/test/suite/converted/chapter12/12.1/12.1-3.js
+++ b/test/suite/converted/chapter12/12.1/12.1-3.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.1/12.1-4.js b/test/suite/converted/chapter12/12.1/12.1-4.js
index 262f5f6b656af7c9bd25fb8bcffcd4ab046ea83d..d95baa6c32b449b5bbfb1001381b0be8b25dd049 100644
--- a/test/suite/converted/chapter12/12.1/12.1-4.js
+++ b/test/suite/converted/chapter12/12.1/12.1-4.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.1/12.1-5.js b/test/suite/converted/chapter12/12.1/12.1-5.js
index 3d168625f9ea86daad3f8b564693365dc12db72f..986eee5db4e4c09241c7972a8cdf5369a162ab30 100644
--- a/test/suite/converted/chapter12/12.1/12.1-5.js
+++ b/test/suite/converted/chapter12/12.1/12.1-5.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.1/12.1-6.js b/test/suite/converted/chapter12/12.1/12.1-6.js
index ab1df52665cb17f5e527fa178f75fc7b10257367..ea147fcaa3662d39638dfdd6f3a44740972e10ae 100644
--- a/test/suite/converted/chapter12/12.1/12.1-6.js
+++ b/test/suite/converted/chapter12/12.1/12.1-6.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.1/12.1-7.js b/test/suite/converted/chapter12/12.1/12.1-7.js
index 1ebd2d2b90149afc829ae39edf18c36a7e75c9ca..f0850fb42859b2e06e4430c3f3bc0b13d5702ed0 100644
--- a/test/suite/converted/chapter12/12.1/12.1-7.js
+++ b/test/suite/converted/chapter12/12.1/12.1-7.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10-0-1.js b/test/suite/converted/chapter12/12.10/12.10-0-1.js
index 3c06643d730a32e576e47cb6f3619610c0ee020b..4668eb353f6b52628d25aa7f55578639ae202738 100644
--- a/test/suite/converted/chapter12/12.10/12.10-0-1.js
+++ b/test/suite/converted/chapter12/12.10/12.10-0-1.js
@@ -38,4 +38,4 @@ function testcase() {
   return f()==="12.10-0-1"
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10-0-10.js b/test/suite/converted/chapter12/12.10/12.10-0-10.js
index aa95a6b2eb985a7a0f620b7c47aeda14cc365869..a00a5c9776208ba70f854e762b31bc1fd6500dfa 100644
--- a/test/suite/converted/chapter12/12.10/12.10-0-10.js
+++ b/test/suite/converted/chapter12/12.10/12.10-0-10.js
@@ -40,4 +40,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10-0-11.js b/test/suite/converted/chapter12/12.10/12.10-0-11.js
index 1a413c3a22924611bd9b90a74d77aceabc3bb229..54086ea1086fdfc317b521b9bb8749b6feb1ca6e 100644
--- a/test/suite/converted/chapter12/12.10/12.10-0-11.js
+++ b/test/suite/converted/chapter12/12.10/12.10-0-11.js
@@ -42,4 +42,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10-0-12.js b/test/suite/converted/chapter12/12.10/12.10-0-12.js
index b455f4c0ea914a2a641320f08088000a4f569d69..63f9f300f50a985623af2c792bc5a0a0eacbd65b 100644
--- a/test/suite/converted/chapter12/12.10/12.10-0-12.js
+++ b/test/suite/converted/chapter12/12.10/12.10-0-12.js
@@ -40,4 +40,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10-0-3.js b/test/suite/converted/chapter12/12.10/12.10-0-3.js
index 1309f2c671c1c8807386468215332ebe038dc2e7..3caa471bf647a241a816b6b8ea1caf6b459cdefe 100644
--- a/test/suite/converted/chapter12/12.10/12.10-0-3.js
+++ b/test/suite/converted/chapter12/12.10/12.10-0-3.js
@@ -34,4 +34,4 @@ function testcase() {
   o.prop = "12.10-0-3 after";
   return f()==="12.10-0-3 after"
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10-0-7.js b/test/suite/converted/chapter12/12.10/12.10-0-7.js
index f8c2c6f998a94dedec2b5fb301492aadac9844b7..aba4c77cacf73d90fb7ed5878c9b0f732d9f896d 100644
--- a/test/suite/converted/chapter12/12.10/12.10-0-7.js
+++ b/test/suite/converted/chapter12/12.10/12.10-0-7.js
@@ -38,4 +38,4 @@ function testcase() {
      return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10-0-8.js b/test/suite/converted/chapter12/12.10/12.10-0-8.js
index e01f16c13a3424547c8313946a55c933a39aa199..6f6b58a5c9c2c6be7a598a63cdbfc2be21db4a24 100644
--- a/test/suite/converted/chapter12/12.10/12.10-0-8.js
+++ b/test/suite/converted/chapter12/12.10/12.10-0-8.js
@@ -33,4 +33,4 @@ function testcase() {
 
   return o.foo === "set in with";
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10-0-9.js b/test/suite/converted/chapter12/12.10/12.10-0-9.js
index 68a26d4832f81d52f28c79bf045b5c66f5c751bd..2ee8b919ffe8f471bb154f325fc6f602c72ba9f9 100644
--- a/test/suite/converted/chapter12/12.10/12.10-0-9.js
+++ b/test/suite/converted/chapter12/12.10/12.10-0-9.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10-2-1.js b/test/suite/converted/chapter12/12.10/12.10-2-1.js
index e890d61644080f956a73f6f1e65a9abc7408b0d0..6a4e70a749e749af8468ccaf7c4fe0bee3875a36 100644
--- a/test/suite/converted/chapter12/12.10/12.10-2-1.js
+++ b/test/suite/converted/chapter12/12.10/12.10-2-1.js
@@ -39,4 +39,4 @@ function testcase() {
   return true;
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10-2-2.js b/test/suite/converted/chapter12/12.10/12.10-2-2.js
index 75e4919f8234996e3f9f72386e202217876e03a2..2a570bdef14eaeef8caf92a214a0b46b1adb9593 100644
--- a/test/suite/converted/chapter12/12.10/12.10-2-2.js
+++ b/test/suite/converted/chapter12/12.10/12.10-2-2.js
@@ -39,4 +39,4 @@ function testcase() {
   return true;
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10-2-3.js b/test/suite/converted/chapter12/12.10/12.10-2-3.js
index bf9064132f57eb53ae428b2a0a1a8ae723b58d01..8236c8e4c4b59840c728b594d889c2eb983ce5ea 100644
--- a/test/suite/converted/chapter12/12.10/12.10-2-3.js
+++ b/test/suite/converted/chapter12/12.10/12.10-2-3.js
@@ -39,4 +39,4 @@ function testcase() {
   return true;
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10-7-1.js b/test/suite/converted/chapter12/12.10/12.10-7-1.js
index b6a3985926dfc90523412ccb75ccdd1abb674b4b..122a593d54fd742f0dd8bdb40acff37722b1ea99 100644
--- a/test/suite/converted/chapter12/12.10/12.10-7-1.js
+++ b/test/suite/converted/chapter12/12.10/12.10-7-1.js
@@ -44,4 +44,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-1-s.js b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-1-s.js
index 9fe0294ff0f8fca0a44c89e50c83a2e5010db9c7..a6ee5847f7f026317b4016a7820bb3bb5e807fb9 100644
--- a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-1-s.js
+++ b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-1-s.js
@@ -43,4 +43,4 @@ function testcase() {
     return(e instanceof SyntaxError); 
 	}
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-10-s.js b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-10-s.js
index 2aa4ac3b557f848d6b9e9d22db410678d80cbe80..ed486fe040dafe1eaecb5176454949731428d267 100644
--- a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-10-s.js
+++ b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-10-s.js
@@ -42,4 +42,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-11-s.js b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-11-s.js
index 2e5f9d6108ab8e207682d35856814e03c64d61de..82021461d393c1ffa8ab9315c0b349df83b28735 100644
--- a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-11-s.js
+++ b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-11-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-12-s.js b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-12-s.js
index a52151907daaa9aa8cd958b8ca64442be495f61d..ffda008857bd80068ef2288b30d7f4bff922e7ce 100644
--- a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-12-s.js
+++ b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-12-s.js
@@ -38,4 +38,4 @@ function testcase() {
     return (e instanceof SyntaxError) ;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-13-s.js b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-13-s.js
index 6c4e25ff36320a5b087b24c1a7f0a612481cabd6..93dd55ffed9efa41fa6b335114997229c8daa121 100644
--- a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-13-s.js
+++ b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-13-s.js
@@ -31,4 +31,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-14-s.js b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-14-s.js
index 0f166324faa591078511bc0a636b8a1cb46bfa2c..280e2c87a3aac5f2f85c4a24f99192b3ef7fd649 100644
--- a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-14-s.js
+++ b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-14-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-15-s.js b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-15-s.js
index 94a9ed7016483f26112a8bbdd52d4a3d539f676b..cd5af45f9ed4ee4df2e6c81747916d1adcb01053 100644
--- a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-15-s.js
+++ b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-15-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-16-s.js b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-16-s.js
index b6115e9c46fcf8e59b827e230648183bbf1430ac..fb594bd7c17e6f2b3b9904673db41d659c13fc8a 100644
--- a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-16-s.js
+++ b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-16-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-2-s.js b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-2-s.js
index 6b7fcdb554e090c7b987a0a544eb94a1716f11b0..e42d809c787b2b2e2262f7f578b55b8dd5beb70a 100644
--- a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-2-s.js
+++ b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-2-s.js
@@ -44,4 +44,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-3-s.js b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-3-s.js
index 93d086cc215e051b5bb66d1f91d33f71f2acf7c0..3f443fc672217a0ce57ca9cdb49bca002f525dca 100644
--- a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-3-s.js
+++ b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-3-s.js
@@ -44,4 +44,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-4-s.js b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-4-s.js
index 18a8ed8ef8f15338692b908f89438b9d6c5bfa86..80dcc1b2730f07346054cbe562c3b6c8774ec7a9 100644
--- a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-4-s.js
+++ b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-4-s.js
@@ -39,4 +39,4 @@ function testcase() {
 	
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-5-s.js b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-5-s.js
index 66e22ad37cb6f3fe04e8cb616356eb1ed765ce99..e6ca7c2da6631218eb0610b17e35701a7b7dd80c 100644
--- a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-5-s.js
+++ b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-5-s.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-7-s.js b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-7-s.js
index 7806f5ca0a93470919f5acbf27e78198e2b77f91..e27855d1af77e53686b4fbb069a578994b517268 100644
--- a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-7-s.js
+++ b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-7-s.js
@@ -40,4 +40,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-8-s.js b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-8-s.js
index 20a683406a087b5973039f4cdc70e5d5cb29d0eb..ad679477f56cc464e478a4599000e87293eed076 100644
--- a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-8-s.js
+++ b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-8-s.js
@@ -40,4 +40,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-9-s.js b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-9-s.js
index f8dff19a3f9c370edc3fe77c1251ecf5a9fb3ee8..4616aa3273219ce69ad53ac39018ff313d559df8 100644
--- a/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-9-s.js
+++ b/test/suite/converted/chapter12/12.10/12.10.1/12.10.1-9-s.js
@@ -40,4 +40,4 @@ function testcase() {
     return (e instanceof SyntaxError) ;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14-1.js b/test/suite/converted/chapter12/12.14/12.14-1.js
index 0949381721deaba72f946ab31ed53a10398c348f..c14cd19dc04d458e70cf595aa9f1e942afbea3ea 100644
--- a/test/suite/converted/chapter12/12.14/12.14-1.js
+++ b/test/suite/converted/chapter12/12.14/12.14-1.js
@@ -35,4 +35,4 @@ function testcase() {
  return foo === "prior to throw";
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14-10.js b/test/suite/converted/chapter12/12.14/12.14-10.js
index c7a70c2e5a5ad58a603e4271d70aa2d4506a4acd..d8b8d0d27455f689d4873e4a06d8b8d07795ff4f 100644
--- a/test/suite/converted/chapter12/12.14/12.14-10.js
+++ b/test/suite/converted/chapter12/12.14/12.14-10.js
@@ -43,4 +43,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14-11.js b/test/suite/converted/chapter12/12.14/12.14-11.js
index a71817abb0ab767e655d6616f86ed3797cc9a0f6..d23da23c13bbb4199e28759e42b222de735421b2 100644
--- a/test/suite/converted/chapter12/12.14/12.14-11.js
+++ b/test/suite/converted/chapter12/12.14/12.14-11.js
@@ -45,4 +45,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14-12.js b/test/suite/converted/chapter12/12.14/12.14-12.js
index 911de95a962b767f2009e898b7eb9b244ca9840b..f1666f220634d81336a242607199b36c90425c50 100644
--- a/test/suite/converted/chapter12/12.14/12.14-12.js
+++ b/test/suite/converted/chapter12/12.14/12.14-12.js
@@ -43,4 +43,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14-13.js b/test/suite/converted/chapter12/12.14/12.14-13.js
index e32e2a764c74102da7e35fefb8874f14b430a920..22f84169b353c15929fd0753726ecb8d9101072c 100644
--- a/test/suite/converted/chapter12/12.14/12.14-13.js
+++ b/test/suite/converted/chapter12/12.14/12.14-13.js
@@ -54,4 +54,4 @@ function testcase() {
             delete this.x_12_14_13;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14-14.js b/test/suite/converted/chapter12/12.14/12.14-14.js
index c22d8a134e331fa4359dc1f77988451fbc930741..7ce4d6f502f628afcc816d000989136471c7031c 100644
--- a/test/suite/converted/chapter12/12.14/12.14-14.js
+++ b/test/suite/converted/chapter12/12.14/12.14-14.js
@@ -38,4 +38,4 @@ function testcase() {
            delete fnGlobalObject()._12_14_14_foo;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14-15.js b/test/suite/converted/chapter12/12.14/12.14-15.js
index 58cadf7f2c869b922c221a9d087c0110a28b5298..86cbbc919562136cfaece4d241e0a89b393f80db 100644
--- a/test/suite/converted/chapter12/12.14/12.14-15.js
+++ b/test/suite/converted/chapter12/12.14/12.14-15.js
@@ -40,4 +40,4 @@ function testcase() {
             delete fnGlobalObject()._12_14_15_foo;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14-16.js b/test/suite/converted/chapter12/12.14/12.14-16.js
index 359bea326f8b8cb9e77eeec441d1a0d454ae3e24..448bf939549b1a67c0a19b15e0196bbd4d3c9dd0 100644
--- a/test/suite/converted/chapter12/12.14/12.14-16.js
+++ b/test/suite/converted/chapter12/12.14/12.14-16.js
@@ -44,4 +44,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14-2.js b/test/suite/converted/chapter12/12.14/12.14-2.js
index 5159b5b13c4e153e0b061ee5cc32e7c2c5091c99..fe966c1b6a941efad71c4be8269780ddee08c1af 100644
--- a/test/suite/converted/chapter12/12.14/12.14-2.js
+++ b/test/suite/converted/chapter12/12.14/12.14-2.js
@@ -36,4 +36,4 @@ function testcase() {
   }
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14-3.js b/test/suite/converted/chapter12/12.14/12.14-3.js
index 48aa211a34f2a63146f7193d84106f754e32b7fa..69466185974bb3b67380b3be2003b362258b06d9 100644
--- a/test/suite/converted/chapter12/12.14/12.14-3.js
+++ b/test/suite/converted/chapter12/12.14/12.14-3.js
@@ -42,4 +42,4 @@ function testcase() {
   
   return foo === "declaration in catch";
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14-4.js b/test/suite/converted/chapter12/12.14/12.14-4.js
index 5db2498912a0f0153338585eb053a90e08fccdb1..5c79e638f7272b22b13b6d31eaf3d8fb0e41c40d 100644
--- a/test/suite/converted/chapter12/12.14/12.14-4.js
+++ b/test/suite/converted/chapter12/12.14/12.14-4.js
@@ -46,4 +46,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14-6.js b/test/suite/converted/chapter12/12.14/12.14-6.js
index 7f9505d710af16aecfb18870a1ac6ccccfc51e98..7f6635b03e37efce81c4705eb32cded2f3c0309e 100644
--- a/test/suite/converted/chapter12/12.14/12.14-6.js
+++ b/test/suite/converted/chapter12/12.14/12.14-6.js
@@ -45,4 +45,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14-7.js b/test/suite/converted/chapter12/12.14/12.14-7.js
index 488b2b3e1d6d5493105ebae7b7f9d2cd7270a856..a0527c85366329743ca7f844c9be82d5732f0f44 100644
--- a/test/suite/converted/chapter12/12.14/12.14-7.js
+++ b/test/suite/converted/chapter12/12.14/12.14-7.js
@@ -51,4 +51,4 @@ function testcase() {
       }
       return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14-8.js b/test/suite/converted/chapter12/12.14/12.14-8.js
index 11ac67a9f06e0f5c6278dfb81ff08a982f3a4fcb..37838e575350989025f8e2e72c90ef53305e8b54 100644
--- a/test/suite/converted/chapter12/12.14/12.14-8.js
+++ b/test/suite/converted/chapter12/12.14/12.14-8.js
@@ -46,4 +46,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14-9.js b/test/suite/converted/chapter12/12.14/12.14-9.js
index 32a51f7049c6ce038de6f7b89d83eb8c67cbede4..162a2970cf60834d877ad2df2289324b6ff200ae 100644
--- a/test/suite/converted/chapter12/12.14/12.14-9.js
+++ b/test/suite/converted/chapter12/12.14/12.14-9.js
@@ -44,4 +44,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-1-s.js b/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-1-s.js
index f46061e2a285ba8af573edcafd254d8646c74e7b..6d16969a825d734e1f9b5a77d7f4c62c2ffb2093 100644
--- a/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-1-s.js
+++ b/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-1-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-2-s.js b/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-2-s.js
index 9278ad1c0bdbc38e48127608de5fa2f684f645f9..7d72072909fee2fb781462955c9d2b6bf5078d65 100644
--- a/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-2-s.js
+++ b/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-2-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-3-s.js b/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-3-s.js
index d715c2aa9aabd9cb2bf30afe5a36ba423d8ca550..a9c870bbefb5d3e9bdc595c65d04471acfcb60a1 100644
--- a/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-3-s.js
+++ b/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-3-s.js
@@ -45,4 +45,4 @@ function testcase() {
              return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-4-s.js b/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-4-s.js
index 5d5749df0823afebebf97ddbce7898222dac522f..036b79ef4a320b47b820446818294e65a686dff2 100644
--- a/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-4-s.js
+++ b/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-4-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return EVAL instanceof Error;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-5-s.js b/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-5-s.js
index dbcf4be58d625a0190db78dd24847d5012d1a256..2faed1938bd2faf289c8e30794d9b0c838d21749 100644
--- a/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-5-s.js
+++ b/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-5-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return Arguments instanceof Error;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-6-s.js b/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-6-s.js
index 52d00fa7d844dc266f8632ab0efb8a5a3365de99..7feaf732c32cf8fdb9808e64ee45fd1a9389e593 100644
--- a/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-6-s.js
+++ b/test/suite/converted/chapter12/12.14/12.14.1/12.14.1-6-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return ARGUMENTS instanceof Error;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-1-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-1-s.js
index 5fc6c830896748f956835a21fd149cccb87baf5e..dfc65d716daa7f4ff1cd785a5230cd4052ebcb20 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-1-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-1-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-10-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-10-s.js
index bf329d806db3ad07cf6235fde47aa5af2dc38d4f..614aabbad09ef40c5b541617a9a98fd082753c65 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-10-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-10-s.js
@@ -31,4 +31,4 @@ function testcase() {
   s('eval = 42;');
   return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-11.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-11.js
index ab6d92501370b5d17d6709b36b355fbe39e9f475..8434966b8328138c8fdb960b256b5fa1529fa76b 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-11.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-11.js
@@ -28,4 +28,4 @@ function testcase() {
     eval("var arguments;");
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-12-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-12-s.js
index e3277dd00496040c620fb4a7c953c899ce937f4b..04b1cf30dc523161e9b095ac6e954f2e62a9207c 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-12-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-12-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-12.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-12.js
index f25c60af79919125ab6d92be55d6f36dcd43e108..df8a637e8bb577ac1309ef982f1a55ac02554235 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-12.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-12.js
@@ -28,4 +28,4 @@ function testcase() {
     eval("(function (){var arguments;})");
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-13-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-13-s.js
index c54c10f18a5b74140846959cbac72461b37160db..f5390a42dda64be183f1cf22b68fdd7a67f00506 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-13-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-13-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-2-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-2-s.js
index 926e041be026abd7a8dfce18af24c527590d2823..03178a09e50cd48828e71e1abfc38ba8155e20f7 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-2-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-2-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-3-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-3-s.js
index 47eb5d3568bc79810f8b2304af7a444d287ea45d..1bdd52142cc6efcde0323d5514f73886be00ccdd 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-3-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-3-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-34-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-34-s.js
index 2bc07f9e6015361acc91aec509d8a9071b5f3f0a..ca8b2f333144e0df584771d962be7b30a58cab8f 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-34-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-34-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-35-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-35-s.js
index 908667e1e632e91a56f73a2a4d54d02e765a1ef1..4d68149bd7fd8d25957a9f4e86791129cd5e0ef2 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-35-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-35-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-36-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-36-s.js
index fbc7993c2f21863d32a130494695bd2a7fb3c29a..37f0504ab6b53a43b87108e8905106596c0cf6fd 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-36-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-36-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-37-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-37-s.js
index 2b0b98b256688acd75af26441db883df1880edd4..639c9647fe87527f88b57766fc377907f5d933ce 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-37-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-37-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-4-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-4-s.js
index ce41ae9e6adf021629cfef2c07d59cc803280bf5..40c8eabffb2969a8f7fd3be5f8c3363743756b38 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-4-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-4-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-5-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-5-s.js
index 771fe94350994fff8f754c416c92f6ea98ddf750..d20be57d0920cac2bd04d5a0549001c4ca73d4f8 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-5-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-5-s.js
@@ -30,4 +30,4 @@ function testcase() {
         Function('var eval;');
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-6-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-6-s.js
index e92242157df2cbf4f75adae3300043ac3b25d0b6..41b45210a6f09e7862991a8c623add7575afd6af 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-6-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-6-s.js
@@ -32,4 +32,4 @@ function testcase() {
     f();
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-7-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-7-s.js
index 1aef752ca689647cb579f5241148b838882cb530..0f7ba5d76704f0c94e6050f320b8d69c328444d0 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-7-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-7-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-8-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-8-s.js
index b9b0c9300b018b32cbaf6ab661badd5b9ac53c59..792fccd2a2192544339dc17b0457203256ed1b8f 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-8-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-8-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof SyntaxError) ;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-9-s.js b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-9-s.js
index 49996f9ce62f0d78e3bd0fa3236bcf7e2c7194dc..5f1d75861bdd6c89797231ba884067cdd9042fa8 100644
--- a/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-9-s.js
+++ b/test/suite/converted/chapter12/12.2/12.2.1/12.2.1-9-s.js
@@ -31,4 +31,4 @@ function testcase() {
   s('var eval;');
   return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-1.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-1.js
index f590c558951e7044969c30e6ec045d6a533b9809..dbe3cc836d4d1ec715268a9efc6f77730b40e7f6 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-1.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-1.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-10.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-10.js
index 41f7dbb13ada77a7eb7fcc7032bf6d9be93cb6c9..a88899ee54651f692095ff2515b14badd25725cf 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-10.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-10.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-11.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-11.js
index 555d33bbf39ddfae410146281403f3979e7c6acc..6c546c6de5d2146c604e8e554dcdf4fc4f89b964 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-11.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-11.js
@@ -36,4 +36,4 @@ function testcase() {
         }
         return count === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-12.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-12.js
index 4084f372b40318e872b081299905f86378840090..a4a2449936cde68e9014d836765c5dde3557efc8 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-12.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-12.js
@@ -36,4 +36,4 @@ function testcase() {
         }
         return count === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-13.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-13.js
index e3ed5f41bbdcc05582b54c34a3af82f41ded1b70..c9fcba18a164fcca6711f4048ed4f6a6a72dd806 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-13.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-13.js
@@ -36,4 +36,4 @@ function testcase() {
         }
         return count === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-14.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-14.js
index 45744effa8f85b3200a92445dc9d8cc98be23bdc..d6787e2d2131d125175749b4968eff870de8f475 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-14.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-14.js
@@ -36,4 +36,4 @@ function testcase() {
         }
         return count === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-15.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-15.js
index 4d2f51a9e213b3b90640e383450f9eb206bb941c..02ebf7cf7ca8fb649db1468d978482f329a85a13 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-15.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-15.js
@@ -36,4 +36,4 @@ function testcase() {
         }
         return count === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-16.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-16.js
index b308b8b1d46993e9a792ed39749ab9bd877a830d..93dcb776af3522adf3a8d1e7252e69b7308e2704 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-16.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-16.js
@@ -36,4 +36,4 @@ function testcase() {
         }
         return count === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-17.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-17.js
index d9643e61633d5894876133517f1d59d2b416c729..730bd3d5b1a55b26125e8cdf255684c5902e4e83 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-17.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-17.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-18.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-18.js
index 1ed5e004a66e6fb887cf48f1d5fc0ee5ca1fce0f..dedbe9d61eec8bd81237695ecd51c96d71964797 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-18.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-18.js
@@ -36,4 +36,4 @@ function testcase() {
         }
         return count === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-19.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-19.js
index 15f237e75af138a9d4bdb2f4d424109408de7609..2738ffc0073b68678924ed6c24dda202f9c70643 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-19.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-19.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-2.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-2.js
index 6e38561c02383c825381ddca356843610c69af57..9eab75bd114624e4485cda830f43125cb43dbcc8 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-2.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-2.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-20.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-20.js
index 0c4b74cced3055b227bf8d2e784406be3862e4af..8a4e190fd77b374975f545fa0ef0462c56a308b7 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-20.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-20.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-21.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-21.js
index e5e428e70c8913c1ad6f94752d2259a40dbeb543..c7f59dcf71a4bcdeaef2520cf726eadc7d92f536 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-21.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-21.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-3.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-3.js
index 435c67659d84458f6e39deb0bc2e0b84fcd4103d..0629e660074013923e3fd11fc0765373083b5a74 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-3.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-3.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-4.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-4.js
index 0005fa757954b75d77e9551335ba403792044507..699b20036e0513afd32b44317c72dcdc4fe24157 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-4.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-4.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-5.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-5.js
index d2d25fcf24bd644b7d0ad0c560f2e1e2d1f972a9..0d3ac281a74f18e20220674719524acb954445a8 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-5.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-5.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-6.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-6.js
index 1592a430a7ba24d1b61fbf5e33e31e24abd2e698..46462a277bc4ec00193e72ea4174925ddfa9ee12 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-6.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-6.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-7.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-7.js
index 9e2a6bb88472ee1d8cca5058de51693c51d0df98..1f611c74157aa585131ad836bd837dcb31720b5f 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-7.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-7.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-8.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-8.js
index b66368d8afb27be67e94ac3ee8516d4997d002fa..8e6385f69241f8caa6a18a349662ab7d8c50cc1f 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-8.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-8.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-9.js b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-9.js
index 3f25486eabbd4b7b744e554f2a5212e866be98b5..0b4663d805aaf62f5637422ebc17cd922be11099 100644
--- a/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-9.js
+++ b/test/suite/converted/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-9.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.4/12.6.4-1.js b/test/suite/converted/chapter12/12.6/12.6.4/12.6.4-1.js
index daaceb1753e8b3a8a249066168df87afb0c06b93..c9bfbf6acb7e9f290a4943538d711217a73b3b67 100644
--- a/test/suite/converted/chapter12/12.6/12.6.4/12.6.4-1.js
+++ b/test/suite/converted/chapter12/12.6/12.6.4/12.6.4-1.js
@@ -46,4 +46,4 @@ function testcase() {
         }
         return countProp1 === 1 && countProp2 === 1 && countProp3 === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.6/12.6.4/12.6.4-2.js b/test/suite/converted/chapter12/12.6/12.6.4/12.6.4-2.js
index 353dc306f672792b28b73943f3baf871d6a516d5..593a8dc9d6553b69046b02ebd294d2be2b367c81 100644
--- a/test/suite/converted/chapter12/12.6/12.6.4/12.6.4-2.js
+++ b/test/suite/converted/chapter12/12.6/12.6.4/12.6.4-2.js
@@ -64,4 +64,4 @@ function testcase() {
         }
         return !accessedProp1 && accessedProp2 && child.prop1 === "overridedValue1" && child.prop2 === "overridedValue2";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.7/12.7-1.js b/test/suite/converted/chapter12/12.7/12.7-1.js
index 5c598eb98895be1be9f49fbb44d73f3f2119fac4..9292249aa2e6d02356b863b977edcf472282a8cf 100644
--- a/test/suite/converted/chapter12/12.7/12.7-1.js
+++ b/test/suite/converted/chapter12/12.7/12.7-1.js
@@ -33,4 +33,4 @@ function testcase() {
         }
         return sum === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.8/12.8-1.js b/test/suite/converted/chapter12/12.8/12.8-1.js
index cfd9ef968b35e2488d67a69ea7742ad3787e013c..f07315d14915235883f1cbed20238fe78e1cd63d 100644
--- a/test/suite/converted/chapter12/12.8/12.8-1.js
+++ b/test/suite/converted/chapter12/12.8/12.8-1.js
@@ -35,4 +35,4 @@ function testcase() {
         }
         return sum === 15;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter12/12.9/12.9-1.js b/test/suite/converted/chapter12/12.9/12.9-1.js
index a723d744374da04337c1297b08eb8892613946cb..eb69c2ccbc1eae16e807a63591887689c2547c35 100644
--- a/test/suite/converted/chapter12/12.9/12.9-1.js
+++ b/test/suite/converted/chapter12/12.9/12.9-1.js
@@ -37,4 +37,4 @@ function testcase() {
         })();
         return sum === 15;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.0/13.0-1.js b/test/suite/converted/chapter13/13.0/13.0-1.js
index ef6e581c7f46044ee66b7543c5cb36c348bb2d0a..ffe2b160804acb93ef92bcbd08ca3986543480ba 100644
--- a/test/suite/converted/chapter13/13.0/13.0-1.js
+++ b/test/suite/converted/chapter13/13.0/13.0-1.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.0/13.0-10-s.js b/test/suite/converted/chapter13/13.0/13.0-10-s.js
index 602a5481263fff85316f3709a838c2c5490a0506..6ec5260e90ee2ed9e05a97876615176f447e2572 100644
--- a/test/suite/converted/chapter13/13.0/13.0-10-s.js
+++ b/test/suite/converted/chapter13/13.0/13.0-10-s.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.0/13.0-11-s.js b/test/suite/converted/chapter13/13.0/13.0-11-s.js
index d4bd03310a8cceca5df35b602bfe7173c7eca07c..8b41ff2c9e9b5a3ad5c056826d95acb8785e876d 100644
--- a/test/suite/converted/chapter13/13.0/13.0-11-s.js
+++ b/test/suite/converted/chapter13/13.0/13.0-11-s.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.0/13.0-12-s.js b/test/suite/converted/chapter13/13.0/13.0-12-s.js
index 93de8fa835153f53cb472de3f3f14f4459d23b78..c2ba9f99f69f717f083f893acc9382f02355a189 100644
--- a/test/suite/converted/chapter13/13.0/13.0-12-s.js
+++ b/test/suite/converted/chapter13/13.0/13.0-12-s.js
@@ -36,4 +36,4 @@ function testcase() {
         return true;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.0/13.0-13-s.js b/test/suite/converted/chapter13/13.0/13.0-13-s.js
index 71c165f4dc3a6184260245bed31ddc51e4fc0e5a..aa5b5ee0096418e86d8acfe7ef0dd8ba68127cf7 100644
--- a/test/suite/converted/chapter13/13.0/13.0-13-s.js
+++ b/test/suite/converted/chapter13/13.0/13.0-13-s.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.0/13.0-14-s.js b/test/suite/converted/chapter13/13.0/13.0-14-s.js
index 128fa411e091b3fd4daade6e6b0ca639c54381db..b33d46c3eacfdbeb46e6a14e2c2df3cf7dc0d6c7 100644
--- a/test/suite/converted/chapter13/13.0/13.0-14-s.js
+++ b/test/suite/converted/chapter13/13.0/13.0-14-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.0/13.0-15-s.js b/test/suite/converted/chapter13/13.0/13.0-15-s.js
index 91a7e6c365fdc0d174f08f087226dadceaa8b045..850b99929acf3f7d4cf00480efc465098ee16baf 100644
--- a/test/suite/converted/chapter13/13.0/13.0-15-s.js
+++ b/test/suite/converted/chapter13/13.0/13.0-15-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.0/13.0-16-s.js b/test/suite/converted/chapter13/13.0/13.0-16-s.js
index e5a4759104da8e89bb323a0fe13b693e35b001d6..26090fd7cd1e3ff2039909f83694ae3d847a0ec6 100644
--- a/test/suite/converted/chapter13/13.0/13.0-16-s.js
+++ b/test/suite/converted/chapter13/13.0/13.0-16-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.0/13.0-17-s.js b/test/suite/converted/chapter13/13.0/13.0-17-s.js
index aea9124ed858b439d50cefc2f180933b15598bfd..93f48048edb57b6e290b3b65ec508fd328d70069 100644
--- a/test/suite/converted/chapter13/13.0/13.0-17-s.js
+++ b/test/suite/converted/chapter13/13.0/13.0-17-s.js
@@ -33,4 +33,4 @@ function testcase() {
         eval("'use strict'; var _13_0_17_fun = new Function('eval = 42;'); _13_0_17_fun();");
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.0/13.0-2.js b/test/suite/converted/chapter13/13.0/13.0-2.js
index 718744d4708e4c7105f0c949cf3be42b044e2648..817c4e1c9e5c07d53b9645e700797986817d669d 100644
--- a/test/suite/converted/chapter13/13.0/13.0-2.js
+++ b/test/suite/converted/chapter13/13.0/13.0-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.0/13.0-3.js b/test/suite/converted/chapter13/13.0/13.0-3.js
index 6207c00df7f738caeef8bb121ebd6796487758e5..991133af82064caa88d1be941952664e67117455 100644
--- a/test/suite/converted/chapter13/13.0/13.0-3.js
+++ b/test/suite/converted/chapter13/13.0/13.0-3.js
@@ -33,4 +33,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.0/13.0-4.js b/test/suite/converted/chapter13/13.0/13.0-4.js
index 2e8a6ff8e2f31356b9a1f05b74578803d780564e..8af7af4cd26e77c87aaddea4def7172fde52f523 100644
--- a/test/suite/converted/chapter13/13.0/13.0-4.js
+++ b/test/suite/converted/chapter13/13.0/13.0-4.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.0/13.0-7-s.js b/test/suite/converted/chapter13/13.0/13.0-7-s.js
index 1bea872908061ebc6bc3e51996416bee8a2926bf..1f3fb95ad0cb2e7cc6c7b0a16b81e7d3b39e75ba 100644
--- a/test/suite/converted/chapter13/13.0/13.0-7-s.js
+++ b/test/suite/converted/chapter13/13.0/13.0-7-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.0/13.0-8-s.js b/test/suite/converted/chapter13/13.0/13.0-8-s.js
index 9a19ac6521c52304c0eb16eb7e1f15f819c2f073..e41beed4c92de1ef38b73b71490b27ae44a9537f 100644
--- a/test/suite/converted/chapter13/13.0/13.0-8-s.js
+++ b/test/suite/converted/chapter13/13.0/13.0-8-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.0/13.0-9-s.js b/test/suite/converted/chapter13/13.0/13.0-9-s.js
index f7c75818aaac10e4c55fa7cdf535f4a2f5de7e98..32c666fad0fe4b24367d4fb9cb406988304b4328 100644
--- a/test/suite/converted/chapter13/13.0/13.0-9-s.js
+++ b/test/suite/converted/chapter13/13.0/13.0-9-s.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-1-1.js b/test/suite/converted/chapter13/13.1/13.1-1-1.js
index b0361879bd7e1be09a6701394959bc1ec58431c0..2afbae819bcbd4942657c6d3210e2313d810fbd8 100644
--- a/test/suite/converted/chapter13/13.1/13.1-1-1.js
+++ b/test/suite/converted/chapter13/13.1/13.1-1-1.js
@@ -33,4 +33,4 @@ function testcase()
   }
   catch (e) { return false }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-1-2.js b/test/suite/converted/chapter13/13.1/13.1-1-2.js
index 2c5c7d09b0566a52d346245cb4031aa0a8241cac..2f5d858662291530f0f152ce387d3e69a7fef7f7 100644
--- a/test/suite/converted/chapter13/13.1/13.1-1-2.js
+++ b/test/suite/converted/chapter13/13.1/13.1-1-2.js
@@ -33,4 +33,4 @@ function testcase()
   }
   catch (e) { return false }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-1-s.js b/test/suite/converted/chapter13/13.1/13.1-1-s.js
index 7e144e90467adb7da62a9ebf5b051ffe86b2da73..d7359cadfab95a8762816e75c0c146e768cd46a4 100644
--- a/test/suite/converted/chapter13/13.1/13.1-1-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-1-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-10-s.js b/test/suite/converted/chapter13/13.1/13.1-10-s.js
index 89e473c260ce580f258bca6d2e4ee4b08ba8765f..c543647c5bd6ae072bc149543185f7d9fb89792d 100644
--- a/test/suite/converted/chapter13/13.1/13.1-10-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-10-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-11-s.js b/test/suite/converted/chapter13/13.1/13.1-11-s.js
index 21411fbf178cf112da8b2de6caeb450bf990c88b..ddb1d17650da704596a8d12f2d8289b6b79a754b 100644
--- a/test/suite/converted/chapter13/13.1/13.1-11-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-11-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-12-s.js b/test/suite/converted/chapter13/13.1/13.1-12-s.js
index b71875ef8dbe875edfef373e4b05c82888aaf857..5b3a8fcdfa0ece5b296ebe0a924bbab04d20e064 100644
--- a/test/suite/converted/chapter13/13.1/13.1-12-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-12-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-13-s.js b/test/suite/converted/chapter13/13.1/13.1-13-s.js
index fa6715d32df4351dcb71d8381e4498331c5319fc..9c480205b6df29f1492c5b943fd7e66aa686e594 100644
--- a/test/suite/converted/chapter13/13.1/13.1-13-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-13-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-14-s.js b/test/suite/converted/chapter13/13.1/13.1-14-s.js
index 9bbead62e3a8e6de702bfdf33a17130ae52a6bb3..ad9f222fce4c5af7b72ad79695bb71ac95db3e8a 100644
--- a/test/suite/converted/chapter13/13.1/13.1-14-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-14-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-15-s.js b/test/suite/converted/chapter13/13.1/13.1-15-s.js
index 4d1126a0fe435caedf26ad5285a7ce98f91c8984..a440d89e320a08d6dbf3f18715f321fac1b1be5a 100644
--- a/test/suite/converted/chapter13/13.1/13.1-15-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-15-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-16-s.js b/test/suite/converted/chapter13/13.1/13.1-16-s.js
index 32cd49f3f1c0ead2c5fd69bc2a4020fc3003d277..3a80b75389ac3486f6e56013570d7c9c84e2d896 100644
--- a/test/suite/converted/chapter13/13.1/13.1-16-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-16-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-17-s.js b/test/suite/converted/chapter13/13.1/13.1-17-s.js
index c37389537336dc2aa7775597a3b561d3b3d10724..511540851055183ed346f26edd88650220353b6c 100644
--- a/test/suite/converted/chapter13/13.1/13.1-17-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-17-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-18-s.js b/test/suite/converted/chapter13/13.1/13.1-18-s.js
index dbd049224b93d3ce5712d686d027990fe5df0c67..0e5a986acc3a24918c09c14d5c063c1893409b39 100644
--- a/test/suite/converted/chapter13/13.1/13.1-18-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-18-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-19-s.js b/test/suite/converted/chapter13/13.1/13.1-19-s.js
index 3dc816ee9784480a18645be04dfd523086d5fbfd..89a5e10bae13bef38db7d45488724d03855a4020 100644
--- a/test/suite/converted/chapter13/13.1/13.1-19-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-19-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-2-1.js b/test/suite/converted/chapter13/13.1/13.1-2-1.js
index b311fd395ae337476313b0181bb47e28668df01a..5cf472aae67f7bec9199a5c3fce428ea0c92c5d7 100644
--- a/test/suite/converted/chapter13/13.1/13.1-2-1.js
+++ b/test/suite/converted/chapter13/13.1/13.1-2-1.js
@@ -33,4 +33,4 @@ function testcase()
   }
   catch (e) {  }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-2-2.js b/test/suite/converted/chapter13/13.1/13.1-2-2.js
index b366a6195cab8d69f3bc531e4aea0edff3c71e50..7cd640a853c351c83b555306deaab51197ef7398 100644
--- a/test/suite/converted/chapter13/13.1/13.1-2-2.js
+++ b/test/suite/converted/chapter13/13.1/13.1-2-2.js
@@ -29,4 +29,4 @@ function testcase()
     eval("(function foo(eval){});");
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-2-5.js b/test/suite/converted/chapter13/13.1/13.1-2-5.js
index b0742e23afc3be820f8122371a41e82d0a5aef72..d905988005d8fa275b72452b5f54d21bddad386b 100644
--- a/test/suite/converted/chapter13/13.1/13.1-2-5.js
+++ b/test/suite/converted/chapter13/13.1/13.1-2-5.js
@@ -33,4 +33,4 @@ function testcase()
   }
   catch (e) {  }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-2-6.js b/test/suite/converted/chapter13/13.1/13.1-2-6.js
index e909c412420eebc589c870667e5aad7919ca9ae7..078d6b226b4c7c0bab05162bf0c51c05a76c6330 100644
--- a/test/suite/converted/chapter13/13.1/13.1-2-6.js
+++ b/test/suite/converted/chapter13/13.1/13.1-2-6.js
@@ -29,4 +29,4 @@ function testcase()
     eval("(function foo(arguments){});");
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-2-s.js b/test/suite/converted/chapter13/13.1/13.1-2-s.js
index 6cd316715c4771a217b94ee49c2133b548c31154..4f7bac1835f233ef78f24ddd7fb855cccdd0936e 100644
--- a/test/suite/converted/chapter13/13.1/13.1-2-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-2-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-20-s.js b/test/suite/converted/chapter13/13.1/13.1-20-s.js
index 57c349013039d5c582d59c9e13546657d9e8e9e5..aa35338f7e06b155f3d572edddf78f079de27597 100644
--- a/test/suite/converted/chapter13/13.1/13.1-20-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-20-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-21-s.js b/test/suite/converted/chapter13/13.1/13.1-21-s.js
index 099ca078e6e684478c77902e43c4d77008dc8199..f06d924727e7cde04a5f38785bb58018cf183e41 100644
--- a/test/suite/converted/chapter13/13.1/13.1-21-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-21-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-22-s.js b/test/suite/converted/chapter13/13.1/13.1-22-s.js
index e801e060e4a480ca8b7384f61705f5e18c3831c3..ce0d23e2abd56da46d17259c916c724c9fd67415 100644
--- a/test/suite/converted/chapter13/13.1/13.1-22-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-22-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-23-s.js b/test/suite/converted/chapter13/13.1/13.1-23-s.js
index f19253ca953cca0af1d41eb53bc276801ead9269..345ce61f42c0c870e3c767ad68769e2b6621d5e1 100644
--- a/test/suite/converted/chapter13/13.1/13.1-23-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-23-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-24-s.js b/test/suite/converted/chapter13/13.1/13.1-24-s.js
index 8e265d042cb551cceb426fb7803c715689a90f15..66f965fb078c4dbe466d49e3fa513cd20bdb3131 100644
--- a/test/suite/converted/chapter13/13.1/13.1-24-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-24-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-25-s.js b/test/suite/converted/chapter13/13.1/13.1-25-s.js
index b15d7addb8e79831fb03d155929a10ac59bb6d02..7d0ba8a69f832702f6e22cdb680be267ba520e31 100644
--- a/test/suite/converted/chapter13/13.1/13.1-25-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-25-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-26-s.js b/test/suite/converted/chapter13/13.1/13.1-26-s.js
index b26099a181aa0f3de4da1b27c88ba64dd4bba328..c10b6624d6fdf2caa262c3aac3c9c4e9a599426c 100644
--- a/test/suite/converted/chapter13/13.1/13.1-26-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-26-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-27-s.js b/test/suite/converted/chapter13/13.1/13.1-27-s.js
index ef73f12a28e7bc12d143cc9d046ddfd3afdaba35..d849e8482ed353aa6e788298ffba722a7a32bee2 100644
--- a/test/suite/converted/chapter13/13.1/13.1-27-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-27-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-28-s.js b/test/suite/converted/chapter13/13.1/13.1-28-s.js
index 5618a7f4921d6b2d83a8150029ef999fbcab0388..5068369b5999d04cb88fadde51841f7e320468a3 100644
--- a/test/suite/converted/chapter13/13.1/13.1-28-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-28-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-29-s.js b/test/suite/converted/chapter13/13.1/13.1-29-s.js
index 085fd7de37bf498a53680d5623cfe6212af3e3d4..d2a3544654617e9514b620280626dc591015cc91 100644
--- a/test/suite/converted/chapter13/13.1/13.1-29-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-29-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-3-1.js b/test/suite/converted/chapter13/13.1/13.1-3-1.js
index 0ed74b3ad323b1bd1232f82e978f3c943f698c1e..f0d0ed3beca34c94dd6a792a9e646aac57597bd9 100644
--- a/test/suite/converted/chapter13/13.1/13.1-3-1.js
+++ b/test/suite/converted/chapter13/13.1/13.1-3-1.js
@@ -33,4 +33,4 @@ function testcase()
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-3-2.js b/test/suite/converted/chapter13/13.1/13.1-3-2.js
index 72f37e568ca2cabba3a4ea56bd1259f188cb3a95..3b294b014c2784679c58d054385205b70c7a373b 100644
--- a/test/suite/converted/chapter13/13.1/13.1-3-2.js
+++ b/test/suite/converted/chapter13/13.1/13.1-3-2.js
@@ -33,4 +33,4 @@ function testcase()
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-3-7.js b/test/suite/converted/chapter13/13.1/13.1-3-7.js
index bad3ac27e8a4bffca3eeb7f7ce1993dc05d6a924..8477c31a389354842eb3ab0613ecf7094eb2f233 100644
--- a/test/suite/converted/chapter13/13.1/13.1-3-7.js
+++ b/test/suite/converted/chapter13/13.1/13.1-3-7.js
@@ -33,4 +33,4 @@ function testcase()
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-3-8.js b/test/suite/converted/chapter13/13.1/13.1-3-8.js
index 5af1f5a34e6e819c89ea23085209ac9c21713523..de7457dac4b087183ed04cd10bb53a1bfec9e698 100644
--- a/test/suite/converted/chapter13/13.1/13.1-3-8.js
+++ b/test/suite/converted/chapter13/13.1/13.1-3-8.js
@@ -33,4 +33,4 @@ function testcase()
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-3-s.js b/test/suite/converted/chapter13/13.1/13.1-3-s.js
index 31b9be0880949c6aed886b8f637ebd2235ebdd1e..8b366ea64bce7441f0e24864edc270dbb751b321 100644
--- a/test/suite/converted/chapter13/13.1/13.1-3-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-3-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-30-s.js b/test/suite/converted/chapter13/13.1/13.1-30-s.js
index 668a299da750105201a1b6f5adcdf8a30d930277..0c075cc0cc10c540b45b597fd1b66bbb800e09c1 100644
--- a/test/suite/converted/chapter13/13.1/13.1-30-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-30-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-31-s.js b/test/suite/converted/chapter13/13.1/13.1-31-s.js
index 53903dd1a71f8433969cfd2be9cb010a9e304143..f80bc9ecdff4d77f624d7774da8690ae59cb4d86 100644
--- a/test/suite/converted/chapter13/13.1/13.1-31-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-31-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-32-s.js b/test/suite/converted/chapter13/13.1/13.1-32-s.js
index 2b4264202bdd6546df753360c13c26d2dcf721f9..48dfd553956e303f66081503527858e212d0c587 100644
--- a/test/suite/converted/chapter13/13.1/13.1-32-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-32-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-33-s.js b/test/suite/converted/chapter13/13.1/13.1-33-s.js
index 120dd9c7061ac4a21ff6a415a4e0b2db8b4d0af7..cffc53c5fae99fa6c4d0120f6d7b2cc2c63ecf76 100644
--- a/test/suite/converted/chapter13/13.1/13.1-33-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-33-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-34-s.js b/test/suite/converted/chapter13/13.1/13.1-34-s.js
index 5ac905a651e58811857e749fafebf8591381bf97..d57180aef8251eb7b9161c91dbf74d8dcc225a5c 100644
--- a/test/suite/converted/chapter13/13.1/13.1-34-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-34-s.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-35-s.js b/test/suite/converted/chapter13/13.1/13.1-35-s.js
index a1cff4eb55e284fb6aec52749f52afd8d5220231..5ccc1c18e06eb69f52bf543203ef392c4f8c2de8 100644
--- a/test/suite/converted/chapter13/13.1/13.1-35-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-35-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-36-s.js b/test/suite/converted/chapter13/13.1/13.1-36-s.js
index e38bc705a6618dcc804d07ef26cffb0087a36c48..64924420d50459108850ee05085ac955cd8a85a7 100644
--- a/test/suite/converted/chapter13/13.1/13.1-36-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-36-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-37-s.js b/test/suite/converted/chapter13/13.1/13.1-37-s.js
index 37f1cae5d1725bfe603f0157b4e864e375d7ebcd..0beba2ed19a60e2a93de565b8a8b0d1742bc71ca 100644
--- a/test/suite/converted/chapter13/13.1/13.1-37-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-37-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-38-s.js b/test/suite/converted/chapter13/13.1/13.1-38-s.js
index 1d40df9e2f4c1e64065a1b22e60bfc33c883ba7a..3d830de45c216522ae2bee93480da8b368a85804 100644
--- a/test/suite/converted/chapter13/13.1/13.1-38-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-38-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-39-s.js b/test/suite/converted/chapter13/13.1/13.1-39-s.js
index c9a92358b9828b37bf81e49575e89e2a61c0138d..3b1d9ba668790cbff8dacdcc464189eeccd1fa4d 100644
--- a/test/suite/converted/chapter13/13.1/13.1-39-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-39-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-4-s.js b/test/suite/converted/chapter13/13.1/13.1-4-s.js
index ecfacc77a14e9386fdebf45ad30a429b9e831400..cf6600a99a2108b4cc56e33c0f99da4f735accf2 100644
--- a/test/suite/converted/chapter13/13.1/13.1-4-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-4-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-40-s.js b/test/suite/converted/chapter13/13.1/13.1-40-s.js
index b2dbec76f5777c2038295e4f0be34461f18d2270..4de220cf29cf5d303f92ff49275047449e4b408d 100644
--- a/test/suite/converted/chapter13/13.1/13.1-40-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-40-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-41-s.js b/test/suite/converted/chapter13/13.1/13.1-41-s.js
index 5a9b4f55b37816daafa824bffa7421dc9fbbbeeb..17fb624e271151fb3cc046824149bda6dc9469a2 100644
--- a/test/suite/converted/chapter13/13.1/13.1-41-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-41-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-42-s.js b/test/suite/converted/chapter13/13.1/13.1-42-s.js
index 780a3edef1dfbbbe9176c2394284c9b5f10ccc01..d3e02c9331a0acf2629d6d2e5b457d35debc909c 100644
--- a/test/suite/converted/chapter13/13.1/13.1-42-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-42-s.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-5-s.js b/test/suite/converted/chapter13/13.1/13.1-5-s.js
index 9766bb21f13f3d652eeff3de6aaac24f50925bcf..f519a3ef2b10cdba4f8a6cef1006263e62e8daac 100644
--- a/test/suite/converted/chapter13/13.1/13.1-5-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-5-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-6-s.js b/test/suite/converted/chapter13/13.1/13.1-6-s.js
index ca0998e0d8515dfe8710168ee9a155d005377204..66b8f91c0f2b42d1f5014c12ab4a87902dc55e08 100644
--- a/test/suite/converted/chapter13/13.1/13.1-6-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-6-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-7-s.js b/test/suite/converted/chapter13/13.1/13.1-7-s.js
index 1846e1c5cdc130649826fe75615cffb96a5d6b89..0864c3a6e46c5bad6ff19c9a6914ecaf626abac3 100644
--- a/test/suite/converted/chapter13/13.1/13.1-7-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-7-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-8-s.js b/test/suite/converted/chapter13/13.1/13.1-8-s.js
index 8ed49683b3625dd2ab65ecd881709d07027b9f5f..57e69c75d019f1f12f137cbd4fb0051c8d95c88a 100644
--- a/test/suite/converted/chapter13/13.1/13.1-8-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-8-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.1/13.1-9-s.js b/test/suite/converted/chapter13/13.1/13.1-9-s.js
index 17670c0b5bc76f4e655e2a0e948013b176ad9a7d..6a68cfe3e19be8172ad5fbd52651a57cd023c5cc 100644
--- a/test/suite/converted/chapter13/13.1/13.1-9-s.js
+++ b/test/suite/converted/chapter13/13.1/13.1-9-s.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.2/13.2-1-s.js b/test/suite/converted/chapter13/13.2/13.2-1-s.js
index c2f56cd0c04fff6216cd53b1baf22b33dcf069a7..52884aa841ff3ea4025c766483dd1b333ba41c0d 100644
--- a/test/suite/converted/chapter13/13.2/13.2-1-s.js
+++ b/test/suite/converted/chapter13/13.2/13.2-1-s.js
@@ -34,4 +34,4 @@ function testcase() {
         var obj = new foo();
         return obj.caller === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.2/13.2-15-1.js b/test/suite/converted/chapter13/13.2/13.2-15-1.js
index 8e0798588fd8bf7b61db9616cad07c892d68009f..d88b9032a4fff392440ef43b23711e5efddbf49e 100644
--- a/test/suite/converted/chapter13/13.2/13.2-15-1.js
+++ b/test/suite/converted/chapter13/13.2/13.2-15-1.js
@@ -47,4 +47,4 @@ function testcase() {
 
             return verifyValue && !verifyWritable && !verifyEnumerable && verifyConfigurable;
         }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.2/13.2-17-1.js b/test/suite/converted/chapter13/13.2/13.2-17-1.js
index 14fe318706b95903485fc36a5782ea339578916e..324af1850bd260d536327a57cc0adc256081d0ca 100644
--- a/test/suite/converted/chapter13/13.2/13.2-17-1.js
+++ b/test/suite/converted/chapter13/13.2/13.2-17-1.js
@@ -67,4 +67,4 @@ function testcase() {
             Object.defineProperty(Object.prototype, "constructor", desc);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.2/13.2-18-1.js b/test/suite/converted/chapter13/13.2/13.2-18-1.js
index ff012a23d3f85804306dc0a0c6cd5101a8a252d7..f07ae61d43b281ea38e65ddad39cb14c77de0717 100644
--- a/test/suite/converted/chapter13/13.2/13.2-18-1.js
+++ b/test/suite/converted/chapter13/13.2/13.2-18-1.js
@@ -65,4 +65,4 @@ function testcase() {
             delete Function.prototype.prototype;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.2/13.2-2-s.js b/test/suite/converted/chapter13/13.2/13.2-2-s.js
index e002d87bc06f216adf01ba324c6db171e4d80248..48193774f4ba486b5d694c972c0da5230669c32e 100644
--- a/test/suite/converted/chapter13/13.2/13.2-2-s.js
+++ b/test/suite/converted/chapter13/13.2/13.2-2-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return ex instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.2/13.2-3-s.js b/test/suite/converted/chapter13/13.2/13.2-3-s.js
index 17cc6ea29d10a701f35f97a2e541a4d1cce7889b..a404d8874cd6f0b2582af1fd21bbad721f76d1df 100644
--- a/test/suite/converted/chapter13/13.2/13.2-3-s.js
+++ b/test/suite/converted/chapter13/13.2/13.2-3-s.js
@@ -34,4 +34,4 @@ function testcase() {
         var obj = new foo();
         return obj.arguments === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.2/13.2-4-s.js b/test/suite/converted/chapter13/13.2/13.2-4-s.js
index 0cd58161dc9a786474cfc6308fc526b1492d02f6..33fbf53c24c8ef33fefb8433dacca1e089a28565 100644
--- a/test/suite/converted/chapter13/13.2/13.2-4-s.js
+++ b/test/suite/converted/chapter13/13.2/13.2-4-s.js
@@ -36,4 +36,4 @@ function testcase() {
             return ex instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.2/13.2-5-s.js b/test/suite/converted/chapter13/13.2/13.2-5-s.js
index 5c0f4b3fe743970e386ec9fc7632aec0d8ef75df..5abdd4d32ea3ac4e15bf90b1a930b6b9bde75976 100644
--- a/test/suite/converted/chapter13/13.2/13.2-5-s.js
+++ b/test/suite/converted/chapter13/13.2/13.2-5-s.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.2/13.2-7-s.js b/test/suite/converted/chapter13/13.2/13.2-7-s.js
index f72f8df2a6f046a630bce526b15693fe774d8e9b..5907e13bc5f340e7aeaf13dddd0ebcc202e97736 100644
--- a/test/suite/converted/chapter13/13.2/13.2-7-s.js
+++ b/test/suite/converted/chapter13/13.2/13.2-7-s.js
@@ -35,4 +35,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter13/13.2/13.2-8-s.js b/test/suite/converted/chapter13/13.2/13.2-8-s.js
index a398564a5cf36e4050c28892e5f477fb70ec3e61..924a8d27e64f530ccbb1caccd6dd238613c71de8 100644
--- a/test/suite/converted/chapter13/13.2/13.2-8-s.js
+++ b/test/suite/converted/chapter13/13.2/13.2-8-s.js
@@ -29,4 +29,4 @@ function testcase() {
             var foo = new Function("'use strict'; for (var tempIndex in this) {if (tempIndex===\"caller\") {return false;}}; return true;");
             return foo();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-1-s.js b/test/suite/converted/chapter14/14.1/14.1-1-s.js
index 09602c38e0d01ba8bfd30d379808ad62594813e4..6607a8cfd88778331e6762fd8665085f75529c3f 100644
--- a/test/suite/converted/chapter14/14.1/14.1-1-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-1-s.js
@@ -35,4 +35,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-10-s.js b/test/suite/converted/chapter14/14.1/14.1-10-s.js
index 28435d0e99d625354f37e3ef8f6c0fa3ad147d19..2c684fa1a28ec076b28786ab8ee973de7ef875df 100644
--- a/test/suite/converted/chapter14/14.1/14.1-10-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-10-s.js
@@ -36,4 +36,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-11-s.js b/test/suite/converted/chapter14/14.1/14.1-11-s.js
index 47f709d085c5ca62a303cecd1d51d0aed2315e9d..19c7212945efe58ffbec048a1c213b2776ee4c35 100644
--- a/test/suite/converted/chapter14/14.1/14.1-11-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-11-s.js
@@ -38,4 +38,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-12-s.js b/test/suite/converted/chapter14/14.1/14.1-12-s.js
index 1d3399972ccf13223361ad6d930856e737657563..1d8013e5a9e128bc706fcc5ee393dc26c9e58877 100644
--- a/test/suite/converted/chapter14/14.1/14.1-12-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-12-s.js
@@ -36,4 +36,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-13-s.js b/test/suite/converted/chapter14/14.1/14.1-13-s.js
index ec5d2cbb48b20db70e3bf6b52345755624600654..0bb49f696bbe606069b0f7c974896c8ac45ef3bb 100644
--- a/test/suite/converted/chapter14/14.1/14.1-13-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-13-s.js
@@ -35,4 +35,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-14-s.js b/test/suite/converted/chapter14/14.1/14.1-14-s.js
index 4d2da25f7bf17fe1d18d3badc0d1e4fa30224106..07f36e53639723b3213d3b7e7cffc2a51bdce939 100644
--- a/test/suite/converted/chapter14/14.1/14.1-14-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-14-s.js
@@ -36,4 +36,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-15-s.js b/test/suite/converted/chapter14/14.1/14.1-15-s.js
index e95fde353828c955419cdfbf41b85f1ad683ec1e..c0b0a99d3f312f555f0a21018a2bb220d4beb44c 100644
--- a/test/suite/converted/chapter14/14.1/14.1-15-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-15-s.js
@@ -41,4 +41,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-16-s.js b/test/suite/converted/chapter14/14.1/14.1-16-s.js
index 4d6eba583e5c6338d2dbc2d56d559458168a04cc..73768c6cc19b51b371a49048dca65575cda67069 100644
--- a/test/suite/converted/chapter14/14.1/14.1-16-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-16-s.js
@@ -35,4 +35,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-17-s.js b/test/suite/converted/chapter14/14.1/14.1-17-s.js
index f3d1b276c8179770f3b0333ea4ac837b56d2112c..6362df451dbb9ef3f39c50103e786fa7d052c34a 100644
--- a/test/suite/converted/chapter14/14.1/14.1-17-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-17-s.js
@@ -36,4 +36,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-2-s.js b/test/suite/converted/chapter14/14.1/14.1-2-s.js
index d3e15c05bb1f46fbc020de79d47efebdbcebcf5e..6318bdf17d51d17abff99381eb691a95b18810c1 100644
--- a/test/suite/converted/chapter14/14.1/14.1-2-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-2-s.js
@@ -35,4 +35,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-3-s.js b/test/suite/converted/chapter14/14.1/14.1-3-s.js
index 449f877b422dce7769e0eaaf79b8c2fbfe97d150..8a169ab4fb9deece8279f9fe2a366bfb8295c3e9 100644
--- a/test/suite/converted/chapter14/14.1/14.1-3-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-3-s.js
@@ -35,4 +35,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-4-s.js b/test/suite/converted/chapter14/14.1/14.1-4-s.js
index 733d79f05f71215962712c90c12674d82c1f231a..7089dc6aa086a60cc3c6fccf1bb45a3ffc089a06 100644
--- a/test/suite/converted/chapter14/14.1/14.1-4-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-4-s.js
@@ -36,4 +36,4 @@ ict';
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-5-s.js b/test/suite/converted/chapter14/14.1/14.1-5-s.js
index 6ea50ed46da83e675f0dfba7952077d0b07b584b..9efad54ab38f3b41af9efe01ba8a52abc055a6c5 100644
--- a/test/suite/converted/chapter14/14.1/14.1-5-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-5-s.js
@@ -35,4 +35,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-6-s.js b/test/suite/converted/chapter14/14.1/14.1-6-s.js
index 2f0c036b145f33663000b83d0dc035c21095ad85..0e7616a9f81d7f32cef41ea3d5564489e1648815 100644
--- a/test/suite/converted/chapter14/14.1/14.1-6-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-6-s.js
@@ -35,4 +35,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-7-s.js b/test/suite/converted/chapter14/14.1/14.1-7-s.js
index 8f7fadbf8e1c77a4b48ecdcea077b76cccfc700b..c3414195da96335edfa9fc6916c833f216c51656 100644
--- a/test/suite/converted/chapter14/14.1/14.1-7-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-7-s.js
@@ -35,4 +35,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-8-s.js b/test/suite/converted/chapter14/14.1/14.1-8-s.js
index 210965a42686ca4be13bb67da5c634533093441c..86f91e764aaf5cea253f1debd1ecd8396ffa2358 100644
--- a/test/suite/converted/chapter14/14.1/14.1-8-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-8-s.js
@@ -36,4 +36,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter14/14.1/14.1-9-s.js b/test/suite/converted/chapter14/14.1/14.1-9-s.js
index da40c9f1f761675828166dd0a1262252383d7390..b37e25d87b10ad71b29f397142493882bcc7bef1 100644
--- a/test/suite/converted/chapter14/14.1/14.1-9-s.js
+++ b/test/suite/converted/chapter14/14.1/14.1-9-s.js
@@ -36,4 +36,4 @@ function testcase() {
 
   return foo.call(undefined);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.1/15.1.1/15.1.1.1/15.1.1.1-0.js b/test/suite/converted/chapter15/15.1/15.1.1/15.1.1.1/15.1.1.1-0.js
index 7b2c011b63605ae5903a8974f38889be40a21f69..56588e50341fefe530267ad8f74e2b54bd449b8e 100644
--- a/test/suite/converted/chapter15/15.1/15.1.1/15.1.1.1/15.1.1.1-0.js
+++ b/test/suite/converted/chapter15/15.1/15.1.1/15.1.1.1/15.1.1.1-0.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.1/15.1.1/15.1.1.2/15.1.1.2-0.js b/test/suite/converted/chapter15/15.1/15.1.1/15.1.1.2/15.1.1.2-0.js
index fa93c91d20283a52c5170716a3468353f9b64219..24fcdd8bd7708fc0af94841a48494b68bff0b232 100644
--- a/test/suite/converted/chapter15/15.1/15.1.1/15.1.1.2/15.1.1.2-0.js
+++ b/test/suite/converted/chapter15/15.1/15.1.1/15.1.1.2/15.1.1.2-0.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.1/15.1.1/15.1.1.3/15.1.1.3-0.js b/test/suite/converted/chapter15/15.1/15.1.1/15.1.1.3/15.1.1.3-0.js
index a186c210798a440e327e63d37f04776aa84a7287..d47db0549eb5e5cd2444d2a2b6c30726727b6fd4 100644
--- a/test/suite/converted/chapter15/15.1/15.1.1/15.1.1.3/15.1.1.3-0.js
+++ b/test/suite/converted/chapter15/15.1/15.1.1/15.1.1.3/15.1.1.3-0.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.15-3-1.js b/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.15-3-1.js
index a8d75b2f636eb8ffb417fcfea3e4d6905d3957a3..87300a5bc8ee63ec1bd9a95990ee2a81465a4945 100644
--- a/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.15-3-1.js
+++ b/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.15-3-1.js
@@ -33,4 +33,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.15-3-2.js b/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.15-3-2.js
index 01befc5898e39bea9d0224c08e59c76c3c415774..b13f86a727ff9189500755f63f2e9c289e7b4a77 100644
--- a/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.15-3-2.js
+++ b/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.15-3-2.js
@@ -33,4 +33,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.15-6-1.js b/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.15-6-1.js
index 744900c32b0fca9780578d52bf671bc6567216c0..53fce3d6241a3576f44ec98bf90ba6569f50d657 100644
--- a/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.15-6-1.js
+++ b/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.15-6-1.js
@@ -33,4 +33,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.2-1.js b/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.2-1.js
index 5642d2c341d81ba8faa5db815cdd73a55552a17c..7d6e283767b5699a09240be64d98b2d23d906f99 100644
--- a/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.2-1.js
+++ b/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.2-1.js
@@ -33,4 +33,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.5-3-1.js b/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.5-3-1.js
index 8774c30c6b0ccc2a5e4e7f24659d401a00177c59..3c991494748f46f601c0fb9ab576b879a1ffa9b9 100644
--- a/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.5-3-1.js
+++ b/test/suite/converted/chapter15/15.10/15.10.2/15.10.2.5-3-1.js
@@ -33,4 +33,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-1.js b/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-1.js
index f028dca5aaa9d0a64a346b3b90e2d2150d10d1fc..3922d0e6481e6015f1f755a51e7315e65168a442 100644
--- a/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-1.js
+++ b/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-1.js
@@ -34,4 +34,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-2.js b/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-2.js
index ce33cf3b6d7ae0c74d7377c2b0ee95c582b904b6..b71a91aec2f10e6fd6628aa11e6e5cbea579eba2 100644
--- a/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-2.js
+++ b/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-2.js
@@ -33,4 +33,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-3.js b/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-3.js
index 238f10c17a4f97d304d492a18d7357609e458ae6..2e3de6af7ced91f9297e61c856a64c83d66409b7 100644
--- a/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-3.js
+++ b/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-3.js
@@ -33,4 +33,4 @@ function testcase() {
             return e instanceof SyntaxError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-4.js b/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-4.js
index b34031b3d2ab97525d2ea3c61cc8d59840a987f8..b454127c236744c6cf2bfee15601440947946f9c 100644
--- a/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-4.js
+++ b/test/suite/converted/chapter15/15.10/15.10.4/15.10.4.1-4.js
@@ -33,4 +33,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.6/15.10.6.2/15.10.6.2-9-e-1.js b/test/suite/converted/chapter15/15.10/15.10.6/15.10.6.2/15.10.6.2-9-e-1.js
index e62206a13eb5b2df8b889bee0235fb5d74806388..1a7f9c7be30eb963c3037af9c2820e970cb5d63e 100644
--- a/test/suite/converted/chapter15/15.10/15.10.6/15.10.6.2/15.10.6.2-9-e-1.js
+++ b/test/suite/converted/chapter15/15.10/15.10.6/15.10.6.2/15.10.6.2-9-e-1.js
@@ -31,4 +31,4 @@ function testcase() {
         result = regObj.exec(str).toString() === "World";
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.6/15.10.6.js b/test/suite/converted/chapter15/15.10/15.10.6/15.10.6.js
index a490b8f4eeb28eb9e7ea081a58cc4d15770e49db..90b64e84210119c36c01a801ea52a4ced8c575ac 100644
--- a/test/suite/converted/chapter15/15.10/15.10.6/15.10.6.js
+++ b/test/suite/converted/chapter15/15.10/15.10.6/15.10.6.js
@@ -28,4 +28,4 @@ function testcase() {
   var s = Object.prototype.toString.call(RegExp.prototype);
   return s === '[object RegExp]';
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.1/15.10.7.1-2.js b/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.1/15.10.7.1-2.js
index 8fe1b1269823f353055782e0b8fb38ac55535dce..69a1518d235560ed87126dd5f5b095dabe8e4f52 100644
--- a/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.1/15.10.7.1-2.js
+++ b/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.1/15.10.7.1-2.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.2/15.10.7.2-2.js b/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.2/15.10.7.2-2.js
index 8e03401ac13cb243ed513a4220e43e8dcee23c04..4242cbd345a9cc7fec8bd1aa61f6b2aa8718604d 100644
--- a/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.2/15.10.7.2-2.js
+++ b/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.2/15.10.7.2-2.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.3/15.10.7.3-2.js b/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.3/15.10.7.3-2.js
index 09cb541106586bac6ac78455c7bec63f89a95636..c8b050288262f7816fc5835a2ee85026edff4008 100644
--- a/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.3/15.10.7.3-2.js
+++ b/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.3/15.10.7.3-2.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.4/15.10.7.4-2.js b/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.4/15.10.7.4-2.js
index eec69c4575b357e50305af8242d7b3cde5219322..d795590958879fffb679a766029d6c95eca6a96f 100644
--- a/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.4/15.10.7.4-2.js
+++ b/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.4/15.10.7.4-2.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.5/15.10.7.5-2.js b/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.5/15.10.7.5-2.js
index c3a700cb7da4d37771893804b4075fec30e2ae56..83731c8703467d7ef862b22425e255227f2291bb 100644
--- a/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.5/15.10.7.5-2.js
+++ b/test/suite/converted/chapter15/15.10/15.10.7/15.10.7.5/15.10.7.5-2.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-10-1.js b/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-10-1.js
index 0b19581601762f07bd43d5150a5650e633798c4e..eb2122fbfcde2d7b4f0609211cccdb16952547a8 100644
--- a/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-10-1.js
+++ b/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-10-1.js
@@ -29,4 +29,4 @@ function testcase() {
         errObj.name = "ErrorName";
         return errObj.toString() === "ErrorName: ErrorMessage";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-6-1.js b/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-6-1.js
index 135098e3e8ee52056504b9b0d3c483f140759eb0..532f13868e33b5b0347325d485fcf73f0f8efc25 100644
--- a/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-6-1.js
+++ b/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-6-1.js
@@ -28,4 +28,4 @@ function testcase() {
         var errObj = new Error();
         return errObj.toString() === "Error";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-6-2.js b/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-6-2.js
index 1daa95801c7a3126df3ef8b33fa132ac63e101ed..c8050994904e9a0d5b77518bfb59c2ba7291ec3b 100644
--- a/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-6-2.js
+++ b/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-6-2.js
@@ -28,4 +28,4 @@ function testcase() {
         var errObj = new Error("ErrorMessage");
         return errObj.toString() === "Error: ErrorMessage";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-8-1.js b/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-8-1.js
index f95cfcb8205505127b1f1cd025224fa8cf813ef5..3195f16e26e72d31e10bb397bb6e360099d72b54 100644
--- a/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-8-1.js
+++ b/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-8-1.js
@@ -29,4 +29,4 @@ function testcase() {
         errObj.name = "";
         return errObj.toString() === "ErrorMessage";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-8-2.js b/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-8-2.js
index d4173b9f2c37d39f2a0f9be9cb21d93f7ed5560c..e6b5685f143669764d0b709c075c4f3c7c1364f8 100644
--- a/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-8-2.js
+++ b/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-8-2.js
@@ -29,4 +29,4 @@ function testcase() {
         errObj.name = "";
         return errObj.toString() === "";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-9-1.js b/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-9-1.js
index d5c2712570ea5fe4f7b247c6d0b2b88e34391356..197847f9bd18d3303acb30488f8dcabb41dbf814 100644
--- a/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-9-1.js
+++ b/test/suite/converted/chapter15/15.11/15.11.4/15.11.4.4/15.11.4.4-9-1.js
@@ -29,4 +29,4 @@ function testcase() {
         errObj.name = "ErrorName";
         return errObj.toString() === "ErrorName";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12-0-1.js b/test/suite/converted/chapter15/15.12/15.12-0-1.js
index fa9eed366b811d3061536a51c843b94ccab39dca..129f775d88324656a263951156cfd4fb1525d29f 100644
--- a/test/suite/converted/chapter15/15.12/15.12-0-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12-0-1.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12-0-2.js b/test/suite/converted/chapter15/15.12/15.12-0-2.js
index c80f12663cbb06f8d9e5b097c395243fb5613554..4978405459ccb7a91f9a7dea70f196395becf977 100644
--- a/test/suite/converted/chapter15/15.12/15.12-0-2.js
+++ b/test/suite/converted/chapter15/15.12/15.12-0-2.js
@@ -40,4 +40,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12-0-3.js b/test/suite/converted/chapter15/15.12/15.12-0-3.js
index 41c1da23e44e1bd48ae551374bc4b7ce689c86fc..ccaff3732a9ef3841c0b7f2cd28966f2a9eda264 100644
--- a/test/suite/converted/chapter15/15.12/15.12-0-3.js
+++ b/test/suite/converted/chapter15/15.12/15.12-0-3.js
@@ -40,4 +40,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12-0-4.js b/test/suite/converted/chapter15/15.12/15.12-0-4.js
index c08e978ffdf4032be9ae2e0753c26c6c0dbc18fa..b378a7db66878ede9f7185a2b032bc6640712214 100644
--- a/test/suite/converted/chapter15/15.12/15.12-0-4.js
+++ b/test/suite/converted/chapter15/15.12/15.12-0-4.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js
index 35736e660eb473a7e889a04e83c3f10df4b7e5de..bb64680c1a9ca9633b030633be7f2f7524067933 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js
@@ -33,4 +33,4 @@ function testcase() {
       if (e.name === 'SyntaxError') return true;
       }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js
index c9122a11725aa9d14e46960fd377f5209b4ce495..1dbd9ee0d4fd77fd3833e0db596f13d51539f24d 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js
@@ -33,4 +33,4 @@ function testcase() {
       return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
       }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js
index e9c4c490c8e9717f29d56b96eb69ed3343f890b4..ecdde1a8431bd6494e6dea087ddf184309d63531 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js
@@ -33,4 +33,4 @@ function testcase() {
       return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
       }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js
index a8bc77aacf583e4357c278c319b052e0e9f260a2..f971be3b8e2e5e65c4e1f9281645e086ff8a01ad 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js
@@ -33,4 +33,4 @@ function testcase() {
       return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
       }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js
index 2edbb40d8e6ae3387334904180e1c5185eaf366d..8bcfc75151a4fa529a3e66552acd6da63a56d38a 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js
@@ -33,4 +33,4 @@ function testcase() {
       return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
       }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js
index 79b1a4b118da75a4ef7ea85d41b345bbef7391e9..4ce0c47e2f39230c64c93c06d7a9d1b5f7248a7f 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js
@@ -33,4 +33,4 @@ function testcase() {
       return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
       }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js
index 69d1fc9396da1c30b213eb80197e2c70278bf964..5d93430dcb1117f9ebc1ce7d8671da738ff2fdc0 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js
@@ -34,4 +34,4 @@ function testcase() {
       return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
      }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js
index 28064ac87374fb32e280ca81f59d55179fb3c2be..42f01406bcbb4df97d4af4f2dbdc21ceb7b53242 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js
@@ -33,4 +33,4 @@ function testcase() {
       return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
       }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js
index 41d25e4fabf2501968f36c9bfc82b0a062d3c2f6..5a149051e2b84d6762552b41f2f6d0e84504044b 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js
@@ -33,4 +33,4 @@ function testcase() {
                      '\t\r \n}\t\r \n');  // should JOSN parse without error
     return true;
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js
index 1ea989b2db1975b80d066d5df16f519fe2cd2f52..3a0bdb48c5068df45ad269671c36855fa934c80d 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js
@@ -33,4 +33,4 @@ function testcase() {
       return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
       }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js
index 0131ca8bc89b049462258c48e794f5bd5deb157d..54ec2317ef0af279f00578833a4b2aa25a4810eb 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js
@@ -33,4 +33,4 @@ function testcase() {
       if (e.name === 'SyntaxError') return true;
       }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js
index ca21878d85d4109c365328451a0247496da76b25..6a6d358df1e92d77993bb0e0850fede06541a15a 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js
@@ -33,4 +33,4 @@ function testcase() {
       if (e.name === 'SyntaxError') return true;
       }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js
index 96afaea2bc07defd71e36f48ad34e577dec7ece8..a645fd779a5cc09af1cfc9d76d59103f818a3f59 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js
@@ -33,4 +33,4 @@ function testcase() {
       if (e.name === 'SyntaxError') return true;
       }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js
index 4f4a94fc104a1510667c88329c59d38d8b9c0078..41656c0a81a65bb3562a5fbb9ecac20d89613213 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js
@@ -32,4 +32,4 @@ function testcase() {
         return true;
         }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js
index 83247995b8a31a6f02745c9a625b046a43618d33..c627a973ac6a8d894074c26b8d9188e3464d122f 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js
@@ -32,4 +32,4 @@ function testcase() {
         return true;
         }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js
index db3d5e6cbd9f0432b0827736324fcf492715becb..a47f30a8a61390cac0123dbeda9e2c0bbfcd7ad7 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js
@@ -32,4 +32,4 @@ function testcase() {
         return true;
         }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js
index dd43b33b45631c1292ee425c1db1b863d6c9173e..5f04c61c20ed74ec6f391c88fe4f7579e1c091d3 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js
@@ -32,4 +32,4 @@ function testcase() {
       return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
       }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js
index f14f0a0cb001c46153dcb0f5a384c66f6a016090..f78c91fa92aa867236f306a3bc5cac6da98d9e13 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js
@@ -32,4 +32,4 @@ function testcase() {
       return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
       }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js
index eb3a961c21d8a8154c8c55035171ff1d4198cde5..8f7a54bfaa26db875c408f69ce962399c7b7f5f7 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js
@@ -32,4 +32,4 @@ function testcase() {
       return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
       }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js
index a3caab181c0555211ff7acba5eafce04610c40b3..7594c92643ba374206ee9fff0749863ede1a301a 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js
@@ -32,4 +32,4 @@ function testcase() {
       if (e.name === 'SyntaxError') return true;
       }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js
index 7e2aebf9923d560de1443322a233e1aa8dfbec46..8ab617fcac8ca080042171ce2535820bc9749617 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js
@@ -32,4 +32,4 @@ function testcase() {
         return e.name==='SyntaxError'
         }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js
index b4fe8f36dd6b6a7baaaf9373eec522b6e0d5b90a..82154c6097a95615b0a245f2e7c3ca846ff53f35 100644
--- a/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js
+++ b/test/suite/converted/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js
@@ -32,4 +32,4 @@ function testcase() {
         return e.name==='SyntaxError'
         }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-0-1.js b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-0-1.js
index 8c28e03d2f5c1e107ebb150bf410fa69fb173c89..7248dd217938d5611043653fb0332496505ef8a3 100644
--- a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-0-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-0-1.js
@@ -44,4 +44,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-0-2.js b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-0-2.js
index b1068e91ff0ebe012063212d09f68280b0039646..a5f9ff2c8498bf3f11b46b998c3dc9907f91f916 100644
--- a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-0-2.js
+++ b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-0-2.js
@@ -44,4 +44,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-0-3.js b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-0-3.js
index febd53e08be9609171ad30ca5a1818c7bc9ff22d..0997b329054b06f7387df451bb58a448202380ec 100644
--- a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-0-3.js
+++ b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-0-3.js
@@ -33,4 +33,4 @@ function testcase() {
   var desc = Object.getOwnPropertyDescriptor(o, "parse");
   return desc.configurable === true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-1.js b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-1.js
index 9ca497179284db0d08542d91cb58a18e43876ba0..859ba8199ed6af3272dca14727801bb269d551d7 100644
--- a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-1.js
@@ -72,4 +72,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-10.js b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-10.js
index 6e0b538d8b0d1244ba13a7cf1ca952c7084fcbd9..f2c465751d0074ee69b7dba900c60ad0b853a769 100644
--- a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-10.js
+++ b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-10.js
@@ -72,4 +72,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-2.js b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-2.js
index c932a65c3ed82adcb55a1947e19abb9efaa9d4de..623e2bcdd8ac8e56ad4a04e4a091462b6bf97e31 100644
--- a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-2.js
+++ b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-2.js
@@ -72,4 +72,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-3.js b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-3.js
index f91b3999ec8eb6ee44ad5aed1f5ac34db70c78f1..198473ad6e1209f1d6f51bbbd1f69ee604eca8b1 100644
--- a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-3.js
+++ b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-3.js
@@ -72,4 +72,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-4.js b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-4.js
index 75285090a3646d8771ea4b35374e50c7a7e18669..2502a8185fde6fa78712f4ffec71490a183cdb53 100644
--- a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-4.js
+++ b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-4.js
@@ -72,4 +72,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-5.js b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-5.js
index d40f15422c0383af0ddaa4483470ea7c79bc9389..ccbfe8bcd7db9fedfafb0a7c385318726bee6377 100644
--- a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-5.js
+++ b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-5.js
@@ -72,4 +72,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-6.js b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-6.js
index 70449af132118c0c5e8adfbb710b2c0212c158c0..9011c3119d56b29bc434d4a21bbb1bb17f76e108 100644
--- a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-6.js
+++ b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-6.js
@@ -72,4 +72,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-7.js b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-7.js
index 9764a1a77b5d41398b3d14c076f8ad8edd48b591..4f31a752a2ad3a2b3ec71777a5094d38cdd0623b 100644
--- a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-7.js
+++ b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-7.js
@@ -72,4 +72,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-8.js b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-8.js
index e6c738870217377fea23d87b66828447a7af3a12..4801d6cb5be70c08883e46d061710cc7b5dbbd09 100644
--- a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-8.js
+++ b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-8.js
@@ -72,4 +72,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-9.js b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-9.js
index d6689f6865c262516d4f594bce003cb3a529d803..ee4a49b5f3f194db4d3be1dc72b5e5d289b2e9be 100644
--- a/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-9.js
+++ b/test/suite/converted/chapter15/15.12/15.12.2/15.12.2-2-9.js
@@ -72,4 +72,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-0-1.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-0-1.js
index 647f5bc6e558435c15118b3731f17387609a794e..a2610e1f805abdfe35c948131cd849f9e24f572b 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-0-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-0-1.js
@@ -44,4 +44,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-0-2.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-0-2.js
index 543867b89b64c6e196cc976193ea108e23341329..850662f38e279b3f9f065f4e344d375a01284d24 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-0-2.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-0-2.js
@@ -44,4 +44,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-0-3.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-0-3.js
index 2c56c83a9d25c211a4c1c62f2faf74a9877df369..4d4a1b986bce673b8c652c3297a035a2e957b6a8 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-0-3.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-0-3.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-16.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-16.js
index 6397936ba9a25de5bc1612b01268515e0b7d1ce4..0bc8645b68be200caf4ecc100b6af55328cf845d 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-16.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-16.js
@@ -69,4 +69,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-17.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-17.js
index 04ace449c86b64e4b21390b18bbc59a10c3f8431..86e217f23513f2874b1ef842cc7d420219978ca3 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-17.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-17.js
@@ -69,4 +69,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-18.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-18.js
index b4836b8e001662cf0506b54ebb508de2e5c3df23..8d7a6776aaaa580df8c009501d6a8b42bb962978 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-18.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-18.js
@@ -69,4 +69,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-19.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-19.js
index 7bb8f12654b5e625798286972fc2793bc982cabb..9a6d9479b60b5be18cadbf90baa9047b1f964d5b 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-19.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-19.js
@@ -69,4 +69,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-20.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-20.js
index 1397c927c0b2d9d8c9e974cffbb218406683e064..ebad08bd105d7552d29b265c64122c0652abd5d9 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-20.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-20.js
@@ -69,4 +69,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-21.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-21.js
index 631d6b040971407906718e562447c3932e883cb2..8d2c298d3043558ae453ad047a1681afd502fbb6 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-21.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-21.js
@@ -69,4 +69,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-22.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-22.js
index 2e444d9fe28cb2d3763cb14d6eb5345682b2da1c..5091ab75fb5e02916d3752c0f5d33a708688e94a 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-22.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-22.js
@@ -69,4 +69,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-23.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-23.js
index 69a4b5363c9d6029d93b9cf5314c9e7b78d90115..fca2ba0ce84682176db5317d3d4cfebb6b295eba 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-23.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-23.js
@@ -69,4 +69,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-24.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-24.js
index f9a3777cc23db7cbed416d5feb71c166b57a83a5..02f448fcc8f3710e695ad42e8cf3ce3c57b7eb9e 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-24.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-24.js
@@ -69,4 +69,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-25.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-25.js
index a5360df269c9252b4163788367683328e5beca16..4c4cbc87bdf5e10451e22858bdac9435eac7d183 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-25.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-25.js
@@ -69,4 +69,4 @@ function testcase() {
         }
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-26.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-26.js
index a995dad918850edac2264ca979b2ccbdd9d49eb1..51eadd8f9421587e4f34138115ddeb1733cdfa39 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-26.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-11-26.js
@@ -33,4 +33,4 @@ function testcase() {
         var jsonText = JSON.stringify(arrObj, undefined, "").toString();
         return jsonText.substr(jsonText.length - 1, 1) === "]";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-4-1.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-4-1.js
index 55e55e135c2d1703ea8a95a7e8c9aacd802464c4..ffc6c660669e5044dd2fe1d6ffd52272041b15a3 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-4-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-4-1.js
@@ -30,4 +30,4 @@ function testcase() {
      }
    catch (e) {return  false}
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-5-a-i-1.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-5-a-i-1.js
index 597ad8e1a4d2a874c64410e8f6f22d8640b4f45c..1993ea5f48ab18bc61f3233c4ed9992b3d4b6c7a 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-5-a-i-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-5-a-i-1.js
@@ -28,4 +28,4 @@ function testcase() {
   var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
   return JSON.stringify(obj,null, new Number(5))=== JSON.stringify(obj,null, 5);
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-5-b-i-1.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-5-b-i-1.js
index 616b87059e0667031586f5c9385ce7a90e0fbfda..c27e2cc3bb53a4fe5339627d9b0d14555b819e99 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-5-b-i-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-5-b-i-1.js
@@ -28,4 +28,4 @@ function testcase() {
   var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
   return JSON.stringify(obj,null, new String('xxx'))=== JSON.stringify(obj,null, 'xxx');
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-a-1.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-a-1.js
index 5afe2d3d9298e56daddd0317446ffafde4a25552..25ca12ffdb21231f8be3c0b9a99780da081afa55 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-a-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-a-1.js
@@ -28,4 +28,4 @@ function testcase() {
   var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
   return JSON.stringify(obj,null, 10)=== JSON.stringify(obj,null, 100);
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-a-2.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-a-2.js
index 20769eea0346d84ed8eae336652c7d74c98938b3..2a536bbea313c6b731c206025955ca194aece253 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-a-2.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-a-2.js
@@ -28,4 +28,4 @@ function testcase() {
   var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
   return JSON.stringify(obj,null, 5.99999)=== JSON.stringify(obj,null, 5);
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-1.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-1.js
index 04e3f8cc4c1fd5403fd745941d58e3336d9c73eb..278aafe09e14b3984f45249452a355205df43a74 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-1.js
@@ -28,4 +28,4 @@ function testcase() {
   var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
   return JSON.stringify(obj,null, 0.999999)=== JSON.stringify(obj);  /* emptry string should be same as no space arg */
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-2.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-2.js
index 3b65e8657ea86a7f5893074b83ba7c820a4abf90..f874a64fcc16a28e72680724a52e9dfca3882795 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-2.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-2.js
@@ -28,4 +28,4 @@ function testcase() {
   var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
   return JSON.stringify(obj,null, 0)=== JSON.stringify(obj);  /* emptry string should be same as no space arg */
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-3.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-3.js
index bd1942fdea02d47dff97e0b1e673bcac81611de9..e86a716faa9d3243ff2ed915913ded77c1058e45 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-3.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-3.js
@@ -28,4 +28,4 @@ function testcase() {
   var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
   return JSON.stringify(obj,null, -5)=== JSON.stringify(obj);  /* emptry string should be same as no space arg */
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-4.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-4.js
index be47fc586fc1e04e491e2f039f1ee501b8f6c86a..ffaa41e759d01120ebbc4e172a41f83acac2250d 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-4.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-6-b-4.js
@@ -30,4 +30,4 @@ function testcase() {
   //               '12345'
   return JSON.stringify(obj,null, 5)=== JSON.stringify(obj, null, fiveSpaces);  
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-7-a-1.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-7-a-1.js
index c85fa8936ef34179347501408ae0af5f50d4b68a..2d16b7667b2ecd49434720e3dfc1ca9bcde8148f 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-7-a-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-7-a-1.js
@@ -28,4 +28,4 @@ function testcase() {
   var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
   return JSON.stringify(obj,null, '0123456789xxxxxxxxx')=== JSON.stringify(obj,null, '0123456789');  
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-1.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-1.js
index 3ef52c1f78ee43968c6b6d804f5b7e37f7b67dd1..42bef771fb285a387b9aa6146fb77bf1c01452a3 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-1.js
@@ -28,4 +28,4 @@ function testcase() {
   var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
   return JSON.stringify(obj)=== JSON.stringify(obj,null, '');
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-2.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-2.js
index c597346d77ce09aad96237ebf6a8cc47fa8fddff..66606ac312417dda3929fb1515c34fe93f43d169 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-2.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-2.js
@@ -28,4 +28,4 @@ function testcase() {
   var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
   return JSON.stringify(obj)=== JSON.stringify(obj,null, true);
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-3.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-3.js
index 3afbb08d3cca6d572d814f27930daff31b28b3d6..77b2a6c1099b72fa40c3c8cc1e8c242d58ccbfc1 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-3.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-3.js
@@ -28,4 +28,4 @@ function testcase() {
   var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
   return JSON.stringify(obj)=== JSON.stringify(obj,null, null);
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-4.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-4.js
index 9f1c37ad2d87b65fa664402a62af703498e677c3..e6a9a6c6c5cafab17d39683cd6e9f78c3b976df5 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-4.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-4.js
@@ -28,4 +28,4 @@ function testcase() {
   var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
   return JSON.stringify(obj)=== JSON.stringify(obj,null, new Boolean(true));
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-5.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-5.js
index 459e5843fc11b9231804bb2bd12269cff4a94793..667d385b5ea60b253d9daedbe2eb2d519c32f2f2 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-5.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3-8-a-5.js
@@ -28,4 +28,4 @@ function testcase() {
   var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
   return JSON.stringify(obj)=== JSON.stringify(obj,null, obj);
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-1.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-1.js
index 28f7d745f3c27c5ec721d174dc93d846bdd603f3..9671188cefabe36f5543829cc63670b586908b58 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-1.js
@@ -31,4 +31,4 @@ function testcase() {
     };
   return JSON.stringify([obj]) === '["fortytwo objects"]';
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-2.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-2.js
index e46505c8ef82255774bb0c8c04e5e2d7df999101..0faa9ad27687790c50b792177ddd7e9d33b73f20 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-2.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-2.js
@@ -31,4 +31,4 @@ function testcase() {
     };
   return JSON.stringify([obj]) === '[42]';
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-3.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-3.js
index 069f5808360190131c99f998fe542720a8f0a87a..be6148f571c2a22ee6435c304c69b51a4f53ea64 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-3.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-3.js
@@ -31,4 +31,4 @@ function testcase() {
     };
   return JSON.stringify([obj]) === '[true]';
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_4-1-1.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_4-1-1.js
index c034b10f47c2864585fb9693bcb2a70a1b7bef67..7d4a93dad0aa02e556475d2de4fe4a09323ed015 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_4-1-1.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_4-1-1.js
@@ -33,4 +33,4 @@ function testcase() {
      }
    catch (e) {return true}
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_4-1-2.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_4-1-2.js
index 729c6172f7dd1260c09fc54e7118b240f5055a79..fdf7ee7478585f17bda47559c2a5657aebd85030 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_4-1-2.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_4-1-2.js
@@ -33,4 +33,4 @@ function testcase() {
      }
    catch (e) {return e.name==='TypeError'}
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_4-1-3.js b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_4-1-3.js
index 42585956c8031861237e91ce1650d87b83bb057d..4307cde611890e2977890bea818b675c061a4bf7 100644
--- a/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_4-1-3.js
+++ b/test/suite/converted/chapter15/15.12/15.12.3/15.12.3_4-1-3.js
@@ -33,4 +33,4 @@ function testcase() {
      }
    catch (e) {return  true}
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.1/15.2.3.1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.1/15.2.3.1.js
index faefe26998dc85a254be6d720735503c21ad527f..763df02c2c45dc101fe26e03ee0a54988a0d1b65 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.1/15.2.3.1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.1/15.2.3.1.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-0-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-0-1.js
index 9d49741c6cf02567d1e8794bbc2ace0b263b7307..63fb05ea54cd746041d024eeae3cc87ea31e445b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-0-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-1.js
index f0a476cd4af2af83d11d6b9bc455ec6bdda6dbed..7539412a27462531abf6149dc8d881831437c0bb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-1.js
@@ -31,4 +31,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-2.js
index 52d7a626f81a5cef997ba2305c2a5f75fd9b73d4..d77f7137e7c494ccaddf0a81bdb81cf8e777db5e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-2.js
@@ -31,4 +31,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-3.js
index 7874f47b31bfbacd762a570beec5d09cec1af7c3..e1ca57beeb381c84b477bbc5051b8f924fa9970e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-3.js
@@ -31,4 +31,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-4.js
index daa47cdeb88916b455e999b4286ac423699a99e6..a140867161f668cebd2df31b0a707b9e5ed4851a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-4.js
@@ -31,4 +31,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1.js
index 1b956210685a91123ebde397e517e2fe040ed8d8..39e76fe3944ff8872538085b531749bb691e2e08 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-1.js
@@ -34,4 +34,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-2-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-2-1.js
index 49eb58456598bfc84b7208079b916d343ae84765..dcce2541d226e7e154ca6b4e297e451801de5aa3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-2-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-2-1.js
@@ -39,4 +39,4 @@ function testcase() {
         return preCheck && !testResult1 && !testResult2;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-2.js
index aa89e0452c15ef28fcf054d45d6143d8ec7a3462..49cdc29d250eb7bfddb7ea6e3d90cebd1740cea1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-2.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-1.js
index be8cd7174dda42782ede7b3c116c857cb28c822a..4b784333d4ffe04928e8b6a78f0bcfddcc529a09 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-1.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return preCheck && !Object.isExtensible(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-10.js
index 306435de596b299a8debd1b78c5b6e362e3b0371..ee0c851642bfcbd0199d3b433c4348a8d9107964 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-10.js
@@ -32,4 +32,4 @@ function testcase() {
         errObj[0] = 12;
         return preCheck && !errObj.hasOwnProperty("0");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-11.js
index 66f9bd24a4af722a5e8cce40496844012b90614a..1fd472e361b84d58d8267cacd784796a2092896a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-11.js
@@ -35,4 +35,4 @@ function testcase() {
         argObj[0] = 12;
         return preCheck && !argObj.hasOwnProperty("0");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-12.js
index aa3394343d601b499723679ad857c5d5e40a6c05..8b38f68f0720d7e11171cbf972f0fa7f65adaa0e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-12.js
@@ -32,4 +32,4 @@ function testcase() {
         obj.exName = 2;
         return preCheck && !Object.hasOwnProperty("exName");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-13.js
index b5cda0c29e09ad453a31a85f2315d8ac257fbba4..aecfa419a0c65949992fe5ce42c61e2c996b1844 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-13.js
@@ -32,4 +32,4 @@ function testcase() {
         funObj.exName = 2;
         return preCheck && !funObj.hasOwnProperty("exName");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-14.js
index b6d3bc87d174476ac612a284f5d47a76123aaae3..a9620dbfe57161643d85bc30509d566a2e03520d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-14.js
@@ -32,4 +32,4 @@ function testcase() {
         arrObj.exName = 2;
         return preCheck && !arrObj.hasOwnProperty("exName");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-15.js
index 4fc7febe235f93f0535601cee66d2c5eecf7a235..fecf1e94d8bbbec414f64d5fca843a74c59c6e3c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-15.js
@@ -32,4 +32,4 @@ function testcase() {
         strObj.exName = 2;
         return preCheck && !strObj.hasOwnProperty("exName");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-16.js
index 461f677cae634aee6f2c91e270823763b54762b0..13be676f10a79ae3dc4053765e9c0ef277d341d6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-16.js
@@ -32,4 +32,4 @@ function testcase() {
         boolObj.exName = 2;
         return preCheck && !boolObj.hasOwnProperty("exName");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-17.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-17.js
index 72c9de6d2577d5d0ddb5e737e747ee8561c19481..c5ce45136c407dbfa39aeaf3238b484b7919c404 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-17.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-17.js
@@ -32,4 +32,4 @@ function testcase() {
         numObj.exName = 2;
         return preCheck && !numObj.hasOwnProperty("exName");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-18.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-18.js
index a635c5be9e8de2e4206144f604ca6524c5662264..874a8475bf1529bbfcc9d6c479e892fbf0d83ca4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-18.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-18.js
@@ -32,4 +32,4 @@ function testcase() {
         dateObj.exName = 2;
         return preCheck && !dateObj.hasOwnProperty("exName");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-19.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-19.js
index cad4beecb83cde80a3baec74c74d3d8a379051f1..7f277fad60fad4c8767c5b7586cf79d25507adec 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-19.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-19.js
@@ -32,4 +32,4 @@ function testcase() {
         regObj.exName = 2;
         return preCheck && !regObj.hasOwnProperty("exName");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-2.js
index d334045de2a62400c0f807d6271e5734c449f754..4c921b7eb033daee7d9da9364c3921f16ef5fc0c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-2.js
@@ -33,4 +33,4 @@ function testcase() {
         obj[0] = 12;
         return preCheck && !obj.hasOwnProperty("0");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-20.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-20.js
index 92558f324a0031713bb65288162651b6f7348716..bc344d0b2a0294432868df8578ac2d6bd82b00a0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-20.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-20.js
@@ -32,4 +32,4 @@ function testcase() {
         errObj.exName = 2;
         return preCheck && !errObj.hasOwnProperty("exName");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-21.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-21.js
index 2ac39f66ea9aa0e7018b88539942f4e84424b281..4eb2e2bb6f70b802e3f566a3dd308e18322af18a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-21.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-21.js
@@ -35,4 +35,4 @@ function testcase() {
         argObj.exName = 2;
         return preCheck && !argObj.hasOwnProperty("exName");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-22.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-22.js
index c1540aeefc3111e5176d3bde9cd00d57424acc8f..c71d097a6369b2bd1cd176892020c7585cd469cb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-22.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-22.js
@@ -34,4 +34,4 @@ function testcase() {
         return preCheck && !obj.hasOwnProperty("prop");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-23.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-23.js
index 68d16e23b7fb450c08b99017d02bf32debe97401..d5f05097e8ab0965d8bb51ab69e0fff37d1be612 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-23.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-23.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return preCheck && obj.prop === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-24.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-24.js
index 692a38ca3d959fc53701c064805339f3ef75d74a..c401e60f12c666252133f1b0d75705b9d301ffdc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-24.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-24.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return preCheck && child.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-3.js
index 602c045693b500f6ba1b5baa7b3a37cd839b62f0..a4340021111c167d5abdcab4386442864f8f58d4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-3.js
@@ -32,4 +32,4 @@ function testcase() {
         funObj[0] = 12;
         return preCheck && !funObj.hasOwnProperty("0");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-4.js
index 5dd593eb745d3fce217d1cdc2681e8b41daddff6..6075dd16a9137688f4c96d17dc54c2525bb15f86 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-4.js
@@ -32,4 +32,4 @@ function testcase() {
         arrObj[0] = 12;
         return preCheck && !arrObj.hasOwnProperty("0");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-5-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-5-1.js
index 52b1e5778b506118db3a08bcfde8a8d84c5e9f94..c15fd4e3325a3f7130c1325cdc979fdb216b4431 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-5-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-5-1.js
@@ -32,4 +32,4 @@ function testcase() {
         strObj[10] = 12;
         return preCheck && !strObj.hasOwnProperty("10");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-5.js
index b38a0150904fe5fe9d4abafcd8b0aa89ef45cd2e..5c3aa2b25f7520f3a1d629609fb03e77a624cab0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-5.js
@@ -36,4 +36,4 @@ function testcase() {
                 !strObj.hasOwnProperty("0") && typeof strObj[0] === "undefined";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-6.js
index ab72423b666016d7fe90492b5b1d75a7cd6aace9..1cfe55d21c9f46c33a9f9fd250c44c8d6741671f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-6.js
@@ -32,4 +32,4 @@ function testcase() {
         boolObj[0] = 12;
         return preCheck && !boolObj.hasOwnProperty("0");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-7.js
index c2e574489a573332519fb9b4d192c17e4ba52744..eb5a4be679309fa7d6a8d76753157bddc021f341 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-7.js
@@ -32,4 +32,4 @@ function testcase() {
         numObj[0] = 12;
         return preCheck && !numObj.hasOwnProperty("0");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-8.js
index 2e11bffc0ac8f5d63430129febbe62adbf69e702..a712c8e5030e2bc0e2e89a7be712a976d894c60a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-8.js
@@ -32,4 +32,4 @@ function testcase() {
         dateObj[0] = 12;
         return preCheck && !dateObj.hasOwnProperty("0");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-9.js
index 534e86ff110fa2e55a6b8dd2216296d9d3f9c326..f8d8efa253f196820c8718ce16b87c9ecc74595d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-9.js
@@ -32,4 +32,4 @@ function testcase() {
         regObj[0] = 12;
         return preCheck && !regObj.hasOwnProperty("0");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-0-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-0-1.js
index 4a38e3d851f00003812073b0609731490c5ff37f..74b15a141accd9179e40240824f8449e4e9e3250 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-0-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-1.js
index 99ec6d37801622e4d37510f96ef3f1db6991768e..427e8c28122991486220d727ef160b227b016f88 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-1.js
@@ -34,4 +34,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-1.js
index 93f6109aa8391c220b46b5cb8e8f4eb00f00443a..a0c0850461677c63d59139631b88155442f163f6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-1.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-10.js
index 6cb9cd6cf92a8b6bf0368c66902dfea1e7022593..ced5e5f45365454422c82759c8cc07dcd642b002 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-10.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-11.js
index 88e057f2908d88040127a383dced1dbfc1183310..c413ab97bc89ed4d0f8a1c796fd941186abbfe70 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-11.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-12.js
index 25fbffdbba03daab67cf03e9f8a3ac43104162c3..3a0a1dbbc5f8d630427193db4d2665085bf5a60f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-12.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-13.js
index c1726af0589f28aa38b274706278c750c01c111f..50f2cea276a74b3e3e356c26b734cc769ae294fb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-13.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-14.js
index 2fad0048a9b4ce61c3bc2bf3aed7494d31459845..fe48b9f599798d77477d970db005d0db5e929c33 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-14.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-15.js
index 7d18f2a4cc75d4e56244e846c00d323726de8e09..c9c8f02fb5e03c0cad3c9151d795ed27a4196713 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-15.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-16.js
index 70d7367d24dd25080ba662879ff5147881c70991..b86e81b1d259f6222e72d8e5ba3fd0cbd3254d65 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-16.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-17.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-17.js
index 64fa1dfdba947f6c2f7bb47e0f518aba3a6aeea8..e0d684b142872d9a41d8870fd6af60599ce06c83 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-17.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-17.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-18.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-18.js
index 5698d75213fd553e7645c949114eaf5dac3249b0..ce19af3929efec7d0af13461cc7f877037db3277 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-18.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-18.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-19.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-19.js
index 899cf7dad69fe6a1980b544291d37ea51f2e9b20..ee707d3d551379154cf4fb109ab8f4b3a4dd4bd6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-19.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-19.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-2.js
index 275c523b286e3e3e78e7cb2394ad784bddcd6d82..2edfd626f2f39c79313d79063f62ff29d4096b8e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-2.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-20.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-20.js
index 0d8a0e626569143f9de7bf5d0279438260ab95de..23653d265aa066608dffe3fbde18b3fb318bf425 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-20.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-20.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-21.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-21.js
index 333d998d24ef0f46d3c3ba7f14ecef501a9fc0bf..5924131e0ac46132aa4634a67c9f879a1802455c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-21.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-21.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-22.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-22.js
index 2d4f19002fc40e20a824186f4ad9e874ec9e1949..41428e27a8ef6b005f6e234e4e61f7c500396153 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-22.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-22.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-23.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-23.js
index e60af630587e616991d1f59c9482df21996758fd..eead2968012ce3af9141c8d5052e531c527ffb85 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-23.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-23.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-24.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-24.js
index eebae8ab7b4b0497391ccf3f0a8412fe300aaa2b..f2f56f5b6b5db800c910494c26eafd95dd77b2ac 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-24.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-24.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-25.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-25.js
index 6df5d60494d2e98a86d37610de1dfd3defb167d2..d5bc044abc179f0d6759f258234042e5340de91a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-25.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-25.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-26.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-26.js
index b3ae2d35b3670d0c293fefc4dc55a536dd1af74d..feb64d4d891acfc3b385ffa88c8967cb02e091ec 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-26.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-26.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-27.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-27.js
index cb2540bbe2cc2d3a55784622df288f1310754842..793f93c9dd0a5ca3cb8c07d8a132ab361cbac2be 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-27.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-27.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-3.js
index f561a864ae19e18e3c9f0ad0c4c8fe1587147c86..0d484c5f8c6bcfea1513dbf323cc83b9758b49cc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-3.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-4.js
index b4bff070fb6889132b2d1051fa669fb7d8e924e4..da53d60e11a823dc432362ff7bb02168c5e442d3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-4.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-5.js
index 075cf0878d3f2a00813010d0cbc756b31dc37c03..80b50763a8c682f295e5124c21f5c5a3617333df 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-5.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-6.js
index 249e86e90ff0cb10495c4e3189610b899b75578c..22ed04de0091ad004eb4b6076fcf08cf71dcb803 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-6.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-7.js
index fdd76ba484b36295518cf80676f034902b8f146f..369b4fe388d8dbd97d51c157220a127d7e48d16b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-7.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-8.js
index 1bb0bb5f20b64cdadb7e5f8184d2724da6864dfb..82d7e302610003e22dfc8957ef84ae0b2cdbe102 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-8.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
 }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-9.js
index abea98e3207bb4141d95be2e21421ef230e952c8..d3903e0aea4925a2e8e1ea14c1c3e19c078f3a8f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-9.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-0-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-0-1.js
index 7078d8fca6a41c9c6fc23b83ad3fd4fa1b6bcdf0..1604b466ae4ecef792ff10d1a1124bfab4cd8d26 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-0-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-1.js
index d065f995ead70212a44adf20c1c1c5f85e99ee84..aeecf31221e570e76a5faaeaabf75f1f304c768e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-1.js
@@ -31,4 +31,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-2.js
index 33c0f7ac6a669bbb32adb906b62ab184d6703c6a..f1e7d33eb9d6e9f06a08428dbd99b6f94e646124 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-2.js
@@ -31,4 +31,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-3.js
index 9916207dd93fb39f89651be92f6b20ad18d201be..11d9fe48c8392d9c12ab9235d5cb4b237ec7ef75 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-3.js
@@ -31,4 +31,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-4.js
index 7812502fbd40ade1bbca0547547b223076a9d41a..bbe393986483a968b2754e3d0ee87042ad7f0cb2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-4.js
@@ -31,4 +31,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-5.js
index 48eaa7e739a2bd4ec411fcc7b1e79b5d15c70c63..13a82581037bf6460580b615bd05860fcefeabfc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-5.js
@@ -28,4 +28,4 @@ function testcase() {
         var obj = Object.freeze([0, 1, 2]);
         return Object.isFrozen(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-6.js
index 6fa84b6bd2d02968a2ec6cad072b9e12fabb388a..c7e8575a13075d97f4bac3b8ac42161ea52c4ce6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-6.js
@@ -31,4 +31,4 @@ function testcase() {
         sparseArr = Object.freeze(sparseArr);
         return Object.isFrozen(sparseArr);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-7.js
index 88b11d14732df34f788e19d53d5393bcccb4e1d3..5a3ad0cf9116f7f276f4e33d2a96eaf31c72e06c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-7.js
@@ -28,4 +28,4 @@ function testcase() {
         var obj = Object.freeze({ 0: 0, 1: 1, 1000: 1000 });
         return Object.isFrozen(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1.js
index 4c70b0804d4862586a1ffee8430b8bb11173b7b0..ffdad6081622e501c723ff14195d612da34792ae 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-1.js
@@ -34,4 +34,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-1.js
index 9f0ba0f0c60c20cf0ef3b67454cb715843b8c933..f7ed5820c52c329c985fb264bd5828100ac68b60 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-1.js
@@ -43,4 +43,4 @@ function testcase() {
         return Object.isFrozen(child);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-2.js
index dbf188ad5c605ae62ab76cddfad22341bb35b9e4..5c0c48e77de0ce1f4ef5e6005d8dccd5e549aa70 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-2.js
@@ -49,4 +49,4 @@ function testcase() {
         return Object.isFrozen(child);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-1.js
index 4657d370595a47ff9042616314d283bbc2ad3d44..0b2dad35a3acbc2085151af186b5d543aabf212e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-1.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return !Object.isFrozen(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-11.js
index 2bc9a1a496718acfdda6c1d420f4368b4c47fb00..25ab24b53a5e6dbe879ec0ab58b7b01c9156599e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-11.js
@@ -35,4 +35,4 @@ function testcase() {
         Object.preventExtensions(arg);
         return !Object.isFrozen(arg);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-12.js
index 7a3c6edaf701edce35b066ed038251fc77d36ddf..d1558b56848310f2235655fb910a29f5fc48694e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-12.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return !Object.isFrozen(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-13.js
index f851ccfe9c492db9c6fa3654d6815edc56ac1d43..b120e38d5508bc61f71006e37926c6ea7b90b667 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-13.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return !Object.isFrozen(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-14.js
index 0e21fbd5760acb8cd471a1f8d5a8a10c586641ff..ca4ba6adbb781a1ed7828e5768184b36281291fb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-14.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return !Object.isFrozen(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-2.js
index 0c6ab557cd28abcab81a0c24aed224b1601eaac9..328054af4cb66929430023913e6f97fca77e5c03 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-2.js
@@ -47,4 +47,4 @@ function testcase() {
         Object.preventExtensions(child);
         return !Object.isFrozen(child);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-3.js
index 92ce2123df4bb90be3efce7cdb4b7bb1d16fdda7..76a89d1270028120c5c9f022a06303ba90afa6a2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-3.js
@@ -48,4 +48,4 @@ function testcase() {
         Object.preventExtensions(child);
         return !Object.isFrozen(child);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-4.js
index 43c098bb2f643f68642bf3ee9d8d9170c81ddc39..391db7c6060cf31f9dc30d6ca007ea6355787831 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-4.js
@@ -37,4 +37,4 @@ function testcase() {
         Object.preventExtensions(obj);
         return !Object.isFrozen(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-5.js
index d4cfe3dfbed6dbaf6c0f5742997b29876b009643..37aba6097768b1e9adf16fe440e7cb9513f79467 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-5.js
@@ -47,4 +47,4 @@ function testcase() {
         Object.preventExtensions(child);
         return !Object.isFrozen(child);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-6.js
index 5516ecf7b2d9a6a2c703029ef59ab91f2bcb67b4..0b756052becec6db7119f1fe75731d69870029a3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-6.js
@@ -50,4 +50,4 @@ function testcase() {
         Object.preventExtensions(child);
         return !Object.isFrozen(child);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-7.js
index 9a203923ee3e0c035ebfa0d43dc3e14789a7f48a..5755607fabe4125c20784df0fca648e54bfa9f95 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-7.js
@@ -35,4 +35,4 @@ function testcase() {
         Object.preventExtensions(obj);
         return !Object.isFrozen(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-8.js
index a111d407edf3a4e921bce246a8d771460d21e474..9f27f4428dfb0a081d4d9570ddd359b0b8ca7d32 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-8.js
@@ -47,4 +47,4 @@ function testcase() {
         Object.preventExtensions(child);
         return !Object.isFrozen(child);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-b-i-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-b-i-1.js
index 8b3177ecc8f36d3d6626f190c54e5be6ec9d4c64..d1d4f8385a880a9d070fc05712fd936f4adeacde 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-b-i-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-b-i-1.js
@@ -36,4 +36,4 @@ function testcase() {
         return !Object.isFrozen(obj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-c-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-c-1.js
index 16aa7f8e4b047c4496139cec015884a92c275200..37acf78d67003dd2ec5be6dda1af0c299f5f929b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-c-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-c-1.js
@@ -37,4 +37,4 @@ function testcase() {
         return !Object.isFrozen(obj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-c-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-c-2.js
index ea283d4e56b825c2ffc749e59af46a41110c6967..fb9fa163f3486b2b45d86ffee5a375c52c9eadaf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-c-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-c-2.js
@@ -43,4 +43,4 @@ function testcase() {
         return !Object.isFrozen(obj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-1.js
index 03773fbe89e94eba74d37a3f84a14b00c62455d6..87e3595dd877f288b5a58e1dfd9be4d7878013d0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-1.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-10.js
index 668c78c441c8f7fde5920025d4666b6ec7fe4330..33c9a52526f6d988e295f7ae8bf2222ca21efae4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-10.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-11.js
index 695285c3132933802ce66214236b71cf9e6ad7fd..adcbabf93f86a3d725d20ca4dbceef87455066cd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-11.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-12.js
index 69cd56845f1af521755b52c2655eeb14e7a5a3ca..fdd2c7f0fa6d2f38a85caae74869edf5907b6397 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-12.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-13.js
index 091b379f3d9682258fd9215da3047cd183cb4e11..b609fc472d8dd9509a0c4a346b0a5fb4a69137a4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-13.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-14.js
index 06eb82f0af658a2b8683264a73a468fb81b1bd5c..4cb1c438298ce871afd64dc22fb2b2b931805351 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-14.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-15.js
index 21c09f7e0602c7bf4c8f099161dc7fb5a8bebafe..16cef5e3420f26b41e0500cd9e70b40d3010cf46 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-15.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-16.js
index cc06623785590c8a0196c019cefb1661f3a3ac8b..b05e7bc981964c67c65ef56e0eb2c0514ce6ad6c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-16.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-17.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-17.js
index 55fb282d12606c070af6c1226c3ace32aa42938f..2521fc1d7c4b2fb2202f6a4afb3943ca9a2b3055 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-17.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-17.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-18.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-18.js
index e1f68dca4c061b0efe165e0baff95288eede5a0a..0221aaf5aa6faf9b71f2b17f3fa828f5c7ceda23 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-18.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-18.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-19.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-19.js
index 416225e83ac3ec2387dc98cda87eeea4d7c8881a..4ce83425519daac40e6166bdd663316fe65188d2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-19.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-19.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-2.js
index a1606c2453087e651fca07f0aeac15f3f0f7db42..fbaa1cb55ec35ea6ff92854f356b6ad01a8a9518 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-2.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-20.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-20.js
index add0ed40a064286e9eeface4f710da91b85ecad8..b3b56ee46b0beba387052b2c062ee558449738a0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-20.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-20.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-21.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-21.js
index a20b2d9a1fcfeb87bcbe453c4d5c37fdcf97642e..fccbda071e778de5d47fc426ade8105397188b45 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-21.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-21.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-22.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-22.js
index ee4ba33eff60d3c8213b371828d607e25a7d6af9..29fe95aef1c8aa2927b7e35152e9430ebc8c86e8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-22.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-22.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-23.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-23.js
index 404a2baa658b074c21ff5e822e4e329aec683ee9..c80d9da7935381e19d242033dd51d095a555d064 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-23.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-23.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-24.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-24.js
index 8aef7f6f131b13e4e711894397a0e9d03001b41f..1ec737baf86d947fb5745800787bbb6358d5c0a7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-24.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-24.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-25.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-25.js
index 700324379c555d3088148e27c9996db17590754c..83cb71e20a2c54929da4afec48401a53bce17a43 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-25.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-25.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-26.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-26.js
index 6e2425651f75f2735701eb51d8a0ee1083ca275c..4ddc7584a262c2641aa17fb764d59a8e5e138c68 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-26.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-26.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-27.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-27.js
index b30ca3deddf64b858bd00142ec85c9e78201be2e..5f5d13a998604cef2729eb192ffc4b9a2aa2cabe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-27.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-27.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-28.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-28.js
index b9e0de416e11b9e252833c487549901623045a7b..8501784b925657db9ddf46781dbd4d53ad22f431 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-28.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-28.js
@@ -51,4 +51,4 @@ function testcase() {
         return Object.isFrozen(obj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-3.js
index 6361d6559fa44e7969676b27d18a90edd6e76d2f..2b4262308d474f6a67d515652825b25e06cf0e0e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-3.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-4.js
index 9aedfe49ca92cf9f13e30d569f36a6d4ca55fd9e..d097243591839a9f625657fca8b639ffbf5e60ee 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-4.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-5.js
index 51b916647c862f8aa2f7f5211bbe1be911ba5f60..2ee76e004adc75794b99147b4714cc3b31ca090f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-5.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-6.js
index 7e104cef2f0de2cb7cfdf24f1e8f9c633aa719c3..312a3a34373ac1a5312e8cdcaf0bbc5a10d61789 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-6.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-7.js
index 8ad4535670b7ec89c9562aa47d19b2441488d632..1823a3e71452d6d228696a964322e7127bac6101 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-7.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-8.js
index 84188bdf3eae6f17f6236103cdb76041d560ee8b..a236ac4939d6f998e309a45cccdb075e4e622998 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-8.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-9.js
index 3a819a36a186a43dc4d4529f2441d0f14988be30..1911b222e213073cc45a4aa1973bb1d747d74a61 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-9.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-1.js
index 14e88d764e11f4d1cdf8cf2837c72b31a440235f..7c0855210c3fa316d16d7e314f6baeda4449badc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-3.js
index 75af4f1c2e3039cb049d2f620aead9127093638f..2b009881f67cd95b1af4ffa5678c060068071129 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-3.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-1.js
index f8a75755fb265dedb839eaae8fa8a0028c88a3d0..41f62137f8c899112acdd684d6a1528b3deea992 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-1.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-2.js
index ef1bb5dfa4dba5369c3c60f16c64a08220298336..d54f79260484f5fdba4b6ebe2efb81ad8a7ac5c0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-3.js
index b133cd51c2abd639f1942276a5f0c720a48dcafd..1b00b0b30995e94306f6abb82a8329048ec0d170 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-3.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-4.js
index 10989c2e11a17faf3488a48da7cb944cc6be8229..93f12994dc6a51bb81269a2aabffd1f68b5e0e69 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-4.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1.js
index 56b714b8d7751bb8a2ba531a8fb68ad594d72b9a..d2700ec5fa1e4f21267215cb79ab9a1f432c32b3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-1.js
@@ -34,4 +34,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-1.js
index 5eb23e42dc6d2a81662c545c824410d7f858d0f4..7939433a9346858e13e296a997dde6be4a23cdd3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-1.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-10.js
index 7ebc8e51dee37f4ca766fd89e656189b616c7574..dfb50200d332df262baf19df3dc7a5fd12c1b322 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-10.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-11.js
index 190cca8abfb0085dc96265241804d843ad1244ae..c4264eeeb48a9277c27a14c6c4278dda25fff0cb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-11.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-12.js
index e6fbf19ffa507cd89eb415be9b501e48715ebf07..1d9cce03ae8e94b0cb3cfdea9cbcf0efa0da6b7d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-12.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-13.js
index b043513f15035029fe9cb13a358ef3d416d7d679..013fdca56cee650f2e9d11386430bd26ac948ada 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-13.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-14.js
index 53130b775039746c20b341bfe9d34cb223bdd38f..97d213221ae62d6b4c8862a97560cb6397973299 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-14.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-15.js
index dc5d433faa5bb16b86e493d63f3f13a7a22126fc..98312c60b5c1bebadf72f6cefe21dd1371454a45 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-15.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-16.js
index c0f899c69d55a7fd21021e92fd69c8c34ebb7478..bee58221547633040ee5358bf795cef4ca744591 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-16.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-17.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-17.js
index 9562aa7ba3acc4dd5b0b97fd95ec8cb85cf6ba1e..1304a0ecf1e50c3b391d9d6ec42d1ebb6b6b6b98 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-17.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-17.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-18.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-18.js
index 64522876f8cd7170ac47fb1542fc3c68a6825d41..ea8e59102ea78a26e303b179ea6e98f78fafc3f9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-18.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-18.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-19.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-19.js
index 71def4b892514feea212030bf2d4950a54078e67..6edef245a5ae2de4f6133e7e2f3391dffc4dedfc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-19.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-19.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-2.js
index 35eb7bafeb8227d73535bb9b3693a26cb8cdaa49..fc0c12a6cb45bb4cc5798633cd1cd50627937c72 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-2.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-20.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-20.js
index 5828b77e6047fef7088c8b5058552e615e7ea478..0ec598267774b625cdef02e0ddaf476995a2a12c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-20.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-20.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-21.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-21.js
index 4c7f844bd8fb2a99d01407eea40795d48dfa4310..ed61f68a5a2c70eb43faa538a51f44de61b54351 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-21.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-21.js
@@ -40,4 +40,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-22.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-22.js
index 4494d1d0dcf97b5874d0749829223e699eb7f345..20e929b918fd932be4998d316fa945d611e058eb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-22.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-22.js
@@ -29,4 +29,4 @@ function testcase() {
         var obj = {};
         return Object.isExtensible(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-23.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-23.js
index 1bcfb3166c41c58a11ae6f5aa98c374c81e85417..26b8d74c7f693c14cbe9a0153116f6fcc0a288c5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-23.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-23.js
@@ -31,4 +31,4 @@ function testcase() {
         return !Object.isExtensible(obj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-24.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-24.js
index 4d7d269494b73315e9ef1f15b91049f621143f66..6c7625f0b655bf161f69f7aee40d117b3a3e94c0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-24.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-24.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return Object.isExtensible(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-25.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-25.js
index dd8763fab67be8612e1f44b5fafaf21badcfded3..b779080e648a5ed088067aed68c8478e98f832d4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-25.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-25.js
@@ -37,4 +37,4 @@ function testcase() {
         return Object.isExtensible(obj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-26.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-26.js
index c6bca46cc29956f2be4d759c0befb951ea315f16..26034827576ba68f706ed9e20aa6a1abd17492f5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-26.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-26.js
@@ -37,4 +37,4 @@ function testcase() {
         return !Object.isExtensible(obj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-27.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-27.js
index 9618fc93a8bfe1fb5fb143dd2c1df408000ee206..c8f7e150754ee98424f043fed848e9bdf3e5b6b3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-27.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-27.js
@@ -38,4 +38,4 @@ function testcase() {
         return !Object.isExtensible(obj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-3.js
index bb65bb76fb517a8dd65db30c6e66da8211a828ca..9503556be4b7381e397bad65c85c6205b28a107f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-3.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-4.js
index 0f6aab5d83adf2d0612be67227ad789161f4dafa..327d4267fcec1b50d3cccd1427296d4197a8d59f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-4.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-5.js
index 67fd073eb1063a348e8b75d51ef909537cfd7b98..c3b3b8902c7e2fa8db1b3451cf0658dbb7147c18 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-5.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-6.js
index f822f547b7f685029959d1e020b34c3eee970352..4427c716f97eb65038c871d0f7d01ea05bf4eb1b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-6.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-7.js
index b68f8e4f74704cd542602cfa6ad95fbec62f7c76..6eb98abfde55adea62219506a8a5e072a620fff8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-7.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-8.js
index c714a653d637aac36395940efc61f5aead20fd91..d38569b30fb1f26bfb375ba61f9b7c7f683ddaad 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-8.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-9.js
index e4596676b35b5df5f090f42e439bbd04f0f9e456..3b4553ae7edd29af8c8c29ba8fbc8f88660fb6a9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-9.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-1.js
index 63f938bc4a596926395013014c598b175e2d1569..6e78e8a3ead08e82057ce1464ff266ede52fe30c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-1.js
index a45c5fb71e60b02e660612f7c477c0ced3da7d5f..7448be17a1694165d7fbd8382f5fb04e4ae30ab9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-1.js
@@ -34,4 +34,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-2.js
index f20890d8696dec6b97455399631bbc11a89df5fa..abb0ef3ab1c3a664c348201d245eccbb403af115 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-2.js
@@ -34,4 +34,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-3.js
index 001d64238ad0f2bb50ddd30710cc173d9255469a..439aba524c22251a9a85259596cfff1878aba86d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-3.js
@@ -34,4 +34,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-4.js
index a8c95c91e5e2e3047035989677b71d8d08da0727..774a138d77f8282508efc4459780c5d78607f59c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-4.js
@@ -34,4 +34,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-5.js
index ffd3066b82147b5269a0939d05c37b7bc03dee12..0438cd84dfadbc8a47d56fbe4af4f2ed82c5ae45 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-5.js
@@ -34,4 +34,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-1.js
index 8f4a90461e37655d2f2346564a5a2bdc9ed97e6c..f3ad92bf0c7526b547fc9be06b01946d25ae0e1c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-1.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-2.js
index b3cb0b150ca6ea9176034bddeca03094ba92b0d2..cb9e7a219b6e8568a17b9b9ca5135fe27c5bff26 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-2.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-3.js
index fc5249503663259c6ec13d13df67735a05c865d9..898a364428eea351d93859a5bc3e99d8cb54adb2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-3.js
@@ -36,4 +36,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-4.js
index 84c7e34e00855c7925371a0a187bd563d6fb2920..e5ff6b9c2757038002e4f6d3811efee30d3d42e0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-4.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-5.js
index 776bc98566f2a1af37781ac564d06f8d38e3330a..d0ae84fcd4522156a23588617b8fd117bc81bef5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-5.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-6.js
index cb264520d7027590077df6c17d13429df3cb39d4..d0492a4ae1ba54a6003cc6d7085cb83098669cdb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-6.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-7.js
index c5d0dee4e327a05a2ced18ed3211a84441a83559..9631a42f9b276e263e1ab7ab34b597a3aa472206 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-7.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return arr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-8.js
index 370edefaaad65cfcefac1de0b91bdba6ae036763..ec8e6dd2db388ddeb12a40d3abb3180da5717143 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-8.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return (arr.length === 2) && (arr[0] === "prop1") && (arr[1] === "prop2");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-1.js
index c773f34b460597083827bb761c6f0af2081c2274..8ed569d444505aa047c019f57d95dad2bcf2c02b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-1.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-2.js
index 731bf505b113eafdca0cc8c166a226ffa8fa925d..f420ac85b919e5078e57b178a098ffe47126522e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-2.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-3.js
index 2e3a5ceb1966926f1533a0f33ad8d88913e4398e..fe0b9b005e4f52fa2717db539e981ee6b6de5f84 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-3.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-4.js
index 44504036a163178a8111f5283d5e9605ba5d6da8..e9cf0be9e6a2959fdd1f75bb8d1b82e74a41cc7b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-4.js
@@ -45,4 +45,4 @@ function testcase() {
   }
   return testArgs2(1, 2) && testArgs3(1, 2, 3) && testArgs4(1, 2, 3, 4);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-5.js
index 9e590e3052418786d43b521b50f711ff253e65a3..dac747f9d354076e7dcd3c1ee774c0dea0eae7ac 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-5.js
@@ -32,4 +32,4 @@ function testcase() {
   var keysAfter = Object.keys(literal);
   return (keysBefore[0] == 'x') && (keysAfter[0] == 'a');
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-6.js
index db0a4205212e6c4f1ede24d38939932a3b4824a5..c3ea1b942f03492692078d31ec3c617f523b151e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-6.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return arr instanceof Array;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-7.js
index c6f31796ec876a32b74d007eedd7e65c38cb32ea..c33722cd2ab8f127b66ea577e3e7cf8c82f37df9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-7.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return arr.length === 3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-4-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-4-1.js
index b26bba4eb4105e79b7417ace0d72477b00918155..f0a1782a7797fef2263494bdc295dd8380b43639 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-4-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-4-1.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return arr.hasOwnProperty(0) && arr[0] === "prop1";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-1.js
index 027d28e7b3cbfb15ae394a4c57f0884e4c883595..f7078ca077ae8abc1a5dcb252e82e4b9b9be65f2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-1.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return arr.hasOwnProperty(0) && arr[0] === "prop";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-10.js
index f05f68637cbf9c183dfdba259f87d0add38bcb48..f8e94db636591210ffc3efd440f310b017c076b7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-10.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-11.js
index 5a95fa7c1b8f00ce2cab231cfc7f22659310e46c..c51ddc29d0772d879ad5144d35b08448b3255988 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-11.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-12.js
index 3f6246429725d8d787828e5a41cc0d93842228db..950eae8da0bee4376f6d4f72e021a22888404cea 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-12.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-13.js
index 5f239691931d1f5557beb9552acb0e7ba14535ca..97d472ecf529931d1a1a53a381daa7f80a213f6d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-13.js
@@ -56,4 +56,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-14.js
index bdd2ba513f48b15f0831ab719ffd4e3faf09a9d6..be74fd1a960fbb75d72e39c005cd26449b018820 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-14.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-15.js
index 5f58edcaab21f49976df6200306dd3804a415fb4..1fe355e9c6176f6e73bbbaf9323a870f3ad4555e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-15.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-16.js
index 2b1af8aed80b371dbb9233f853ab40d59355a51d..76271da7ab03694067655ea8810402407475a832 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-16.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-2.js
index 62585241780c00b2f317812d3a395706d92bb50b..710b663c5804732e06b22393a3c1461c5d19239f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-2.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return arr.hasOwnProperty(0) && arr[0] === "prop";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-3.js
index 2a53c6b687a33eb4f4b2000292e5c0d0967aa113..6ba10a6402cfe44aeaa8185656a2e227702ecfd6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-3.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-4.js
index bbc5276d4045b2627b0f2bf8b5242a5cf0e6eb58..1a7894d2e3bc6a3695bca3c3aaccaba57b4ba244 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-4.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-5.js
index b8a60e52dcc0501e97a25bb4468dfdbb13177570..7aa1574c47f951883ca78561f7586eb4fcd9b686 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-5.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-6.js
index cdcaba99ae64b6218cac4cf473d8470c17339bff..97c0c2d6c7b415654a9723c84ab179bbda31d6cc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-6.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-7.js
index b72ca5ed35d90f7306883fb1ceb5fda9323240d9..7089308bb7403660e76c008cd6a8ef41dc11734a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-7.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-8.js
index 988988c261c4a5d4de1183146c6fe7f6e8d82ba2..a0adbdcab16a5fd8a25d2cecef4b14931006776e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-8.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-9.js
index c1ceb78b2677224cdfdc687343c207eceddcf18c..32458307a47205cf4c06971c8dedc282628ac26c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-9.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-1.js
index 9e1e185fedac2c86d230c866ad96b5a10b142a10..2edda551254fd9c6a3b58b1d3a9268844c81057b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-1.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return desc.hasOwnProperty("value") && desc.value === "prop1";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-2.js
index fbd5c8ed89c39f811e7cd242e2fec73496bb8ff2..4f52d745ae0c77ddf65629e6b823a57847a18fef 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-2.js
@@ -39,4 +39,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-3.js
index e6eb2caf2373c962ffe3abc6c1835f97c1ef12ff..615d9d24c42e52d2a94ba7a43aff8e809db95104 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-3.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return result && desc.hasOwnProperty("enumerable") && desc.enumerable === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-4.js
index 1eebe1d5a31659247de7fa6f37baabf177807f4e..e94d23a6a3580b063e1b142224f032516f71f7b7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-4.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return typeof array[0] === "undefined" && desc.hasOwnProperty("configurable") && desc.configurable === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-b-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-b-1.js
index 28cadcd9d4771b0d63c9a3f738961fb988f2a8c5..62babcca378e20564d821b90e1f9b258cf993260 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-b-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-b-1.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-1.js
index 2bc301bcf236fade7023dd67c86ded7569676938..558b754a326f55b6a1d25ec415c4182872fdeaaa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-1.js
@@ -44,4 +44,4 @@ function testcase() {
         return true;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-2.js
index f3fb3e20c1f106d26aff6070ddb469c8b01af2b8..ea11adc5e3488aaeeddce7ace9691348f760bacd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-2.js
@@ -43,4 +43,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-3.js
index 481235160a06043c4f4761a31504a9a52b10cfda..c9ac0b5f6553e61fd6b177e9a2e5c7135ddd3871 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-3.js
@@ -43,4 +43,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-4.js
index 96c4b48f79d0041a43d98d714f7403f1d72220f7..d69db38fba45b2ed91d8889f877547368eb5166f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-4.js
@@ -47,4 +47,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-5.js
index ee8f88accdf7ee61b6a78d5221768acff1b5d9a3..f29a39cde23ef5a3bf75b9f39a3c95430e880ce8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-5.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-6.js
index e340aac69053f9487fcbf6ca535e7e31f535a459..0d12aca679191c509072c0d2dca370e4c70b8cf7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-6.js
@@ -43,4 +43,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-0-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-0-3.js
index 8bf79271fa2a87a59b934d48f1c9c68e9377e737..efbdbb46ea40e36d3f9b2b2e681ec5f7434f5d2d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-0-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-0-3.js
@@ -35,4 +35,4 @@ function testcase() {
       return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-2.js
index 0809b272b210468b6efb21aaea52c0c40204fd88..62d9cb6c7c810e2bebcdc296000d23c7bdf99a00 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-3.js
index 2c81d576cab6c659559dde78e686a8193f0183ee..bef822559d72a7cf7fd9a5bc22036a333f7c2441 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-3.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-4.js
index c6d9096a2c546eba2024f0c5476d49aa237abec7..9e719b587544016f205a012e52a2dc2bd565d627 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-4.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1.js
index 1c066990363eb530670ff39977dfd475bf774565..98966c121b075be6c77ac3860dd9dd7dbc5f9cec 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-1.js
@@ -34,4 +34,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-19.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-19.js
index f55c1aa4289caa25894efdf2d08e8213bc2f0be1..49fce298fa6ac22e4f922611a2eeafe10c6f14bb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-19.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-19.js
@@ -29,4 +29,4 @@ function testcase() {
 
         return Object.getPrototypeOf(obj) === Object.prototype;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-2.js
index 1139d0a22341cf9baad9b22acd18dd28646becd4..3186c9f3ee5818b13a007b97de0803c9dc9b4933 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-2.js
@@ -39,4 +39,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-20.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-20.js
index 0d97d46d25b465f5dea68bc529655d408fb875a8..74bdb10a9153f14721532f0818a400475eae582f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-20.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-20.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return Object.getPrototypeOf(obj) === Function.prototype;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-21.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-21.js
index 1ae32ed8282c10fb1556c8649b0761994665fbb5..5285f234cbec04aec8f852649034fdb712882cf1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-21.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-21.js
@@ -29,4 +29,4 @@ function testcase() {
 
         return Object.getPrototypeOf(arr) === Array.prototype; 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-22.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-22.js
index 747ddf009dd9f8c17afeb5ca38a668e1e415455b..d006e4223bdcf6a38635880e4dfc420c99272e97 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-22.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-22.js
@@ -29,4 +29,4 @@ function testcase() {
 
         return Object.getPrototypeOf(obj) === String.prototype;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-23.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-23.js
index b6ad83056f7b597ee973361ca67719cc19a6be7e..a9772e43ba8065253ed3f25a898e940bde91d678 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-23.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-23.js
@@ -29,4 +29,4 @@ function testcase() {
 
         return Object.getPrototypeOf(obj) === Boolean.prototype;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-24.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-24.js
index 1723170f098ba293f436727d59bded29a5a2ff4e..4012719970748c6a7493a6c5b7f0d48f337b53e9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-24.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-24.js
@@ -29,4 +29,4 @@ function testcase() {
 
         return Object.getPrototypeOf(obj) === Number.prototype;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-25.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-25.js
index 7e77a06e3f530b86a36db63814753265d323ed67..5a926830b72904af2d10113ce3bb80b78b725e26 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-25.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-25.js
@@ -29,4 +29,4 @@ function testcase() {
 
         return Object.getPrototypeOf(obj) === Date.prototype;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-26.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-26.js
index 3770932137a92a316376955f8ac73c6e971c1d98..d77d5c72f1ff9015705dcbd890309d99a5db9e73 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-26.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-26.js
@@ -29,4 +29,4 @@ function testcase() {
 
         return Object.getPrototypeOf(obj) === RegExp.prototype;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-27.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-27.js
index af69b18d76cc9a8206fe2f728f8b067453978974..cd2c342f6c0476b64475fbad9bc66e43fa14b0b0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-27.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-27.js
@@ -29,4 +29,4 @@ function testcase() {
 
         return Object.getPrototypeOf(obj) === Error.prototype;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-28.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-28.js
index 1a184a23f5e8d4c6b24f110503b1782363e152bd..06c8831b89a28b1520901e76f8ef141e5324d73d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-28.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-28.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return Object.getPrototypeOf(obj) === Object.prototype;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-30.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-30.js
index 055cfeae64e9e439edce9594c09f3903f7f664fd..2b275a45040b5c9a37fc70b080f183930f6bac77 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-30.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-30.js
@@ -29,4 +29,4 @@ function testcase() {
 
         return proto.isPrototypeOf(fnGlobalObject()) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-1.js
index 7b106bd5e4c0de0c980f44ddd41f5be12be68143..59e766fe55b31e1cad03f3b34ca41ee3ac91217e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-1.js
@@ -31,4 +31,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-2.js
index 0a6c05d56a37fd96d37ff716bc0dac5520988652..e66c06325fb07ef2ec937628e9080dc251d67c49 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-2.js
@@ -31,4 +31,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-3.js
index c16351e1f2fb5358d04ca4cced9b9689c6786cc7..59879a2a3d61d4b76f19c349a3f92ca39b00c20f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-3.js
@@ -31,4 +31,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-4.js
index 27a942a0a5216f97e0352fabfd6ddaeba7d1c027..8cdd2e48b9e8d07d012f6764c73ff4cb3dc09cdd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-4.js
@@ -31,4 +31,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1.js
index b91a7db56d78b1785e119c19a1111d369cb5f145..a9bf5966853978e3ed395cfb04399f7a5c78510b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-1.js
@@ -34,4 +34,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-1.js
index 70b0d00456a47e6f5ffc86d7131eea7bca4ecbd8..9a7b3794cc6f8031ae2d314d36bdcda8abd64418 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-1.js
@@ -31,4 +31,4 @@ function testcase() {
       return true;
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-10.js
index 951f5f999532cd7311d979911b696297590518aa..1ee36ccacf61a41ef8bae5a11a593d7bb30ec4f8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-10.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-11.js
index 99b7e79b043e60682945325640c76040d3fa87ee..526e169bf397d1e664fdd4465939d66c6809eb86 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-11.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-12.js
index 1070d60128e3c54c70348e42589e984e4008f077..03d65e89b0b5925d69a1a0ca81ded65f7dffddeb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-12.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-13.js
index bbf31d26cb29757dbd09a09cadca4898243ed39d..51ed6298e5cd6c77b257d14bef771010a0fd8ac9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-13.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-14.js
index b1ed2b241edd0aadeee7bb3f7aa12ac63f5b1384..273b2b698ed9a54500022b1906bdc276c40facc1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-14.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-15.js
index cee76cf96baf8d8bb1e98377e9267d27d459e83a..430e8642fbd06ccc86972c6370a8131f08c03a4e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-15.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-16.js
index c302019749ff1add4acd8723e18bd63ad2908655..a67ef8cd63d582e3d0d7e580fbd7cc48082a49fe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-16.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-17.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-17.js
index 9463d615a9e754fcd86a3b0020111bfb4ebf7e60..06e305b43c34a49ce0e654f1e060e626f7d92632 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-17.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-17.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-18.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-18.js
index 0af988df93bc5278f1b2171e656ef82a232a603f..dd1d839780f871708d697928ecb9b65f0dba3d31 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-18.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-18.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-19.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-19.js
index e5e17d4f52e7a7571a6f68b57370f6da44959f3c..fc529e62ab1d37b72ebdea8f3f586761e3e7a5be 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-19.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-19.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-2.js
index f12b02ec282f0a5e7ba3e19b31c6ab6c66ad3ea2..43ee8947f67a0efd7d634a10d4a2b4dbe52edaf2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-2.js
@@ -31,4 +31,4 @@ function testcase() {
       return true;
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-20.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-20.js
index f67bbb4782b480f7a75a70d9d8208798ab9e499a..8f88ef151bd0df921fa1ec748dce7f5c0c11c8a2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-20.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-20.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-21.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-21.js
index c2f865fa77e8e3616d6d8776d4d759d081a83c23..9326637369706f390aae69309e5b2a7505ad9257 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-21.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-21.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-22.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-22.js
index 5e917b69b0429a2ed81fd8febb7b94746aac1f8d..3ee9df72693880f9ce9be9c5ad783797c6e73080 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-22.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-22.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-23.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-23.js
index 67c6541c7a5d289dcc03848f6722d7d7dc89c6cc..68f1b34aa0dbe846e07ba722b77a86b4cac1413a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-23.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-23.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-24.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-24.js
index 6d2ee293db17baab310953e81403eae4d24b39ac..94122fbf2197b33974798a5b819c602027057844 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-24.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-24.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-25.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-25.js
index 4420fcd19c0a28fb491ee876ab21ebc328a8039f..74d61fe4e86a1430fcaf9e68531ac3d6ca96e758 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-25.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-25.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-26.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-26.js
index 984a68423538c6bbb5dd18d97083b3f309998160..3b09f28a2464529e0a6c1644832f5b773a3e1ee8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-26.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-26.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-27.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-27.js
index 0c5ee9d88512b21b8405e9454d9291773acb1d94..47f28441b3bc4e138d091563d371b0593354f6ca 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-27.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-27.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-28.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-28.js
index a62a25f7a75eeaa751ed3a622d7e0309fbfaf54b..324032074de6d22fd24074febcd95aa81ab72cc8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-28.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-28.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-29.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-29.js
index 46fa01d3da8478a7c5114fa2ced65353f3d57586..33508744523e12622a82be3e4b3ba91499a6a8fc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-29.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-29.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-3.js
index 041015c7c431c209430ec87d3c0799ef6a317ec7..29ddcf69ca35e9c1e742646205912bde075b365f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-3.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return desc1.value === 1 && desc2.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-30.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-30.js
index 763d155ea0e72340a7c015d5abf58c7a99c21879..a4a8101339ce28f6ef20600b3c5da0f61a009323 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-30.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-30.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return typeof desc !== "undefined" && desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-31.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-31.js
index f1ad0c90f7c2f1fca46189e0c1040f9b983cdee4..269b7b1089ba48f7bfed2a513d331345a2d727ef 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-31.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-31.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-32.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-32.js
index 7036a6ff69c696c8ca0b173b59aa972efcb0441d..0aded63f270c92086c1fb6cbf81fccb269e23fae 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-32.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-32.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-33.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-33.js
index c1f52f071e3d2d585c9a19f7fc4d3523a2d2fb43..bda2562a52051d99311eb28aa6e060eec105ff3d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-33.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-33.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-34.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-34.js
index d4cafd008ceb8c60c9f503b8ab0fa92eb601d39e..b6717a105b3b7adecf579d001333f9ab160803a1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-34.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-34.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-35.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-35.js
index b675fa7ac0ebe984bec7d0fe8f97ac79118c8ca5..32caaed7dc72d21d28446cd05cce9860108fe32f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-35.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-35.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-36.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-36.js
index 04429d6dad079b2c27830bb493e90fed983f4edc..e37f4ae086240d4f8770c56c3f0ad4fb554ce9f5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-36.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-36.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-37.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-37.js
index 4f33acc0be0b41536789b84a477c7c22579ff5a3..906df75e63a73741e854366e6a85d1e94f3b9c6c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-37.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-37.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-38.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-38.js
index 565bde3d5a9f50dec6735c04e6453a09207c3d43..820a33fde04368eaba7af3c38475da887426ff97 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-38.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-38.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-39.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-39.js
index eabcf498ff343def8c1fc9499c202cb64dd6bcfc..7241d5ad0e445829b17f6c4cd38ccd04c1f2b6ef 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-39.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-39.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-4.js
index 393890d42ad1261343b5061d9341e247d9466550..04b8c80e263f1a93ef1d0669ad8ddcd38669d15f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-4.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-40.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-40.js
index a581644f520550dde1727079c28fdd771d37ae2d..899f5f28965ec4525859dd2c91505dc97bba4709 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-40.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-40.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-41.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-41.js
index 563e71a552eb35dfd65017d1f3c4461c73cd0fb7..be333e4fe018ae0cf20d9c198061e76e146d5a27 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-41.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-41.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-42.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-42.js
index 819c89491773b9efab46a4e5a98a18b809c89415..8734e85791ed8524ace54d1e460423a098e264b8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-42.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-42.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-43.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-43.js
index 144c7827304dcba023be10c6238603ae466e291e..4fd5f33f8ed7713bbe196d261d31a3e8c7fdbcd5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-43.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-43.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-44.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-44.js
index f331ebc551c1f26d5db0bf70587480431d42017d..13da043807031c1167a3f8b241fca302142014c5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-44.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-44.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return desc.value === 1 && valueOfAccessed && toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-45.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-45.js
index 6641ecc24d3f170b4c82c0d5dcac7725c44b6943..50a98597357919bf71719d378d1bce712d62ff64 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-45.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-45.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return desc.value === 1 && !valueOfAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-46.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-46.js
index 734bf004cd827e6e934c96f7e5dc990ea2990bd6..b9101f001c972f155bd6f4404beb489ac72f74be 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-46.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-46.js
@@ -47,4 +47,4 @@ function testcase() {
             return toStringAccessed && valueOfAccessed && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-47.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-47.js
index 1c2d5c6e975607d0ea5885a5e2b4952d1ab4fdf0..189418f46994bebaf4af790bb07d7fe0d6495bfc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-47.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-47.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return desc.value === "length2" && toStringAccessed && !valueOfAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-5.js
index 3005294267b709efd07b2dc6b6894050dbd5cdbc..d67bc31a4bff77c02d0eef21c6807c2bb8dfb0a4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-5.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-6.js
index d55c5b7dc57c935d7c0c694125181907e0e5ec09..5c925c91e4a9667ccc452c999f15309ba2729548 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-6.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-7.js
index db0be91f7dc9d96dd2da611ac56f569539d1718b..3ff03d624f010a7153801741e735487c371e3e99 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-7.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-8.js
index e208500e449ba848740ae9fe02b8c34b15cd4b94..2f88fc40d6bb625bb4106dcccbf82777aa066871 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-8.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-9.js
index 11c0a605ebdbaf1ad9fd5812d0c4b9544c2ed93e..a5d58688c866abd1ec186bb19c0c3e59fa0e25b6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-9.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-1.js
index c444f76be71c0df5cd88f70c8f4b3935efe9682e..d22e20f6a9468190155cbd9adddacd8381c540e4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-1.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return desc.value === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-10.js
index 5a98c301117faf133849e9a4b50ef32e2b25eb62..e1e1f9c0efa4f791d22113b8b4347d09a6bafb21 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-10.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return typeof desc === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-13.js
index bfa75b43142b114eada931d238684e44d08cd824..02809abcf4d279dc042c7a0c9dd627bcdc1963ce 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-13.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return desc.value === "ownProperty" && desc.writable === true && desc.enumerable === true && desc.configurable === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-14.js
index ebc95b8f7fe1a2ac49ed73a8b7ae386865e131dc..1e17a6f5a2f5d8db5789e601b65740f2078bcde4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-14.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return desc.value === "3";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-15.js
index 4cda4cd9b7e0d3816565154a31b5bb07b51502bb..cf4f0a01f31994ccda9b59209a4c31a02c68f228 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-15.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return desc.value === "ownProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-2.js
index ff0035f954715444a942e0776f6a30cbbdec5a10..31818b0c6696b4a92df3fcabc8822a02f7a273ec 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-2.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return typeof desc === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-3.js
index 1475e48ee0854fcae599c1acb69908052658bb2a..23c48bd45e934709511320765325378b2a389d0f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-3.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return desc.value === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-4.js
index 714116b9eda3fbd4af37f29df0d5102cfce18b37..0fba2eb0291eb9586749fe1393b7a999d88c3ae8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-4.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return desc.value === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-5.js
index f083e3239129c7fc133caceba172314a3ea43ea0..86420d841b12e0a68c865ebfa99dcf04359cf856 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-5.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return desc.get === fun;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-6.js
index 1d1deaa9ae6dabbe9a6263c4fb8fe00366536e8c..92c9ad7ceb4fa39ed0c3e9f9d46417cdbb6764a7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-6.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return typeof desc === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-7.js
index 13532a6b59a6d56a39bf48fa8a1ad5750574816f..648cbed511e9f8ebdf59dd3d5b91ef22644d1653 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-7.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return desc.get === fun;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-8.js
index f09ca9a55d94326602532200ccf258fa5110fa16..e93a68293574c5766dc07622cc0f1443978beafc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-8.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return desc.get === fun;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-9.js
index 583aa3ed623eeea9aeebca738277d59f2669daef..295cb4dd89af50cc0b83aec44de579d6994b8ab4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-9.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return desc.set === fun;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-1.js
index 4b6dd79d3459b4dd9625538a8deb28632cbccdcc..919b67efad604663f5310d2f2a4a4ff192152490 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-1.js
@@ -38,4 +38,4 @@ function testcase() {
       return true;
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-10.js
index 484c736212e3ce407f4dd37f3875b43bc2ce9f65..b1db3f261d1ed3b0cd1c7ae407068601f3016213 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-10.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-100.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-100.js
index a51766b5a3d4d119a45733791c9c35241af642b8..2a093061f7aac1e5a0ffbc21cc874d61d35e8402 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-100.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-100.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-101.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-101.js
index 6f11551bb58d1fcccb75e1e03f255934db1b148e..d832fbe8959bce4714a988aa9aa4ab56d415dd69 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-101.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-101.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-102.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-102.js
index d426958141adcb218f9bc6c2a4f58ce032a06ca0..c84b946b9d0a12641c99ed78aa36f441f62f4ad5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-102.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-102.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-103.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-103.js
index 7c41a869be357bba37f5aee559b2a870be67971a..9863d65c455bbfd1efac9ca05fdc29f15c7fbc03 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-103.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-103.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-104.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-104.js
index 72ba71e050b06baef55d030aeb905ad61f46d386..5c59b46737719f032c3a9169bd5b5fdab135b477 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-104.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-104.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-105.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-105.js
index bd4978925e54f8cfa4743eb5e2029a59d5762cd0..1c5cc8cb5e377207cfb66f254ce0d64f529f7d54 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-105.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-105.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-106.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-106.js
index 7a1154879c3682024d7e806cdcea86c436f7b0ab..79c63a1a78b63c8c77337f3d52dc7ce5548dd069 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-106.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-106.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-107.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-107.js
index 565818486e478d812d0249cc71cb0072523b0fbe..ff9e3847bf41e88f5f81aaba7ad513fb2eecf34c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-107.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-107.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-108.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-108.js
index 1099d7860b7921ae866918cbe06fb06491215aed..c2e9af98c9be678198f5c6e15346d9ea4bc648fa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-108.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-108.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-109.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-109.js
index a584ed423aa7412f8edb4a888b80c4ad266ae86c..58f3ec8dc4a6cdce729f1093656785411b989f29 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-109.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-109.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-11.js
index 1638e77a28aa70327e96e468ba2011e268a7c720..477958aa0720272b79f89e9de6e6f6fabf2d2df4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-11.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-110.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-110.js
index 9d11a8343657cb3ea0eb0744daf41af021959301..1f4b474cc639beafbd8e725f1d1e7315a6affdbf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-110.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-110.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-111.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-111.js
index 7a8089ff77f60b235a593df9e59667ef103407d8..0226c3d390a5c405872b9c147cab629ef078f6a0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-111.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-111.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-112.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-112.js
index 393b66ce7e4793eb7f67df100e8a7502edae0a6d..387d0ed912536838f091f60906d92c3b612a7c9d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-112.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-112.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-113.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-113.js
index af33516bcfbc741a41fd529a2cc8a06721f0d560..5dc11de38d32835f81d356b0cda0e157c09fee42 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-113.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-113.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-114.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-114.js
index 6d0ce9c08b569f3c17713d334ec187bba1f4cf43..85ff44ef180d0ba0844d6256a4f79e782e35ea60 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-114.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-114.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-115.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-115.js
index 9520d912909b19a800aa077cceb60a6f1791907d..e322e9206e596a9d36b1ea4e4009c974f569f950 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-115.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-115.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-116.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-116.js
index cba1b09b2c0146d38d0cf2b6fd6f384e5ed94ed8..94a7568ce4b833c3f4160b2d75fb03489ae4fd8f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-116.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-116.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-117.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-117.js
index 6e12f62f03c0e7cca1ef9f083a77c5ac8829485a..0ccdbb8c89266fe18a7f968b2e88a20c28443f52 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-117.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-117.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-118.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-118.js
index 3043dea6c83890fc8cee2507e2ad98538f248979..2d57ef8a272fcb15fb81406210cf8c1c167d378d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-118.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-118.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-119.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-119.js
index e24534601c16f2fc51e9628e34fdcec4cc1a6b10..85cc69371d91630aab4d6e5adab0b13e6d6a544a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-119.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-119.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-12.js
index ea6625b39d451652570e935452d1b644c3cdbb11..240f8abf244fb1c817d47cf35740f3105731f029 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-12.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-120.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-120.js
index bc9f521766f24905dc9652b9841566c229346668..92afd7cd0ccfbdaf44a889475ed99ccf6c3ae6d5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-120.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-120.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-121.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-121.js
index 6fd3c74d2282dda186d8a0647662ad010920de9d..8b1394d5e820de45d2b7ca4a39e706c81e4736a8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-121.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-121.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-122.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-122.js
index 5ba1aed24ae4e047012cb563604e649f72a1fe08..9fd5d6255f4b9ceaf90c3d4238b4297a5e6cf784 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-122.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-122.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-123.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-123.js
index d5a94e97b567ffba3216baebe740b7e04ef6bd4a..bed5ab2778360429f8163173eb7a6b1a1bed008c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-123.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-123.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-124.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-124.js
index 985ea0ea2fd73b2d9a9d75afb93934815798704a..1993259f2e5da300049d4c115645786e101b6094 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-124.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-124.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-125.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-125.js
index a48dd16b047a9afdc24f2c3002cc18c11495e157..a8dde85551666efb97983c58df2d8bf1f219c0a4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-125.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-125.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-126.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-126.js
index 75a37c80d1c8e57c12fd8383a41374638fac5026..94054de954b9e8a139e59cabeb7d85b09b916ad0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-126.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-126.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-127.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-127.js
index 2f8707ca9d461726c027866ca30d6f6865a1a33c..9987b20168f715a217374052d4070914bc83b435 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-127.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-127.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-128.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-128.js
index eaaa10fc654048ae5abf570a79958d70052be4df..18feba058daa1ae038a7f9f91864e4e6593128d2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-128.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-128.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-129.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-129.js
index 04cf374f73dfc8c978390fb4d59629f135a1ea72..6b93b75b046829bc7b8abb37307c4fa3a433c43f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-129.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-129.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-13.js
index 6f2e54d8795b0aa9f581e3acec2bde550839ce4a..587949b837bc11a409cf3b7bfd25e63b69aaf0bc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-13.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-130.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-130.js
index 6d577a39a592aa82b292e72e8df086466345c28d..fac9ac121ccd9a54bcd5fb7d6f49215399061de2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-130.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-130.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-131.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-131.js
index d497128fcf25714432ed24ee9dcc26010840d952..cfd450ad4c6ead9567c846338d9792601e3d03e7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-131.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-131.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-132.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-132.js
index fdea5fb30a596bd9933d5354244b80a6ce85126e..fa89776cca328ca7129237f52ebf4f79d791b74c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-132.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-132.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-133.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-133.js
index c71a4a76f0f2f055db6d2ca6b91d9370e3c415ef..27eb1db515449a7fb972a63912634af313295cc2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-133.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-133.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-134.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-134.js
index e425e84a0a9adce96beafcddcf3bf26fc53359aa..dc1deee9c991f2d2aba9fffaebce2141ec728c4b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-134.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-134.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-135.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-135.js
index b6134bb3231ebae44a942ca80fcd8c5851248a6b..edf88eea1446b6cdcab19fb676dd13368edfe236 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-135.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-135.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-136.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-136.js
index f1f80d6396d4ced724d4b2a1246d27b4f581b384..2ac13bafa634cc7adddbb7e377fca66e0ae2e8db 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-136.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-136.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-137.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-137.js
index 9a398dd4d69b17e1c7c2481f1165cc2591d16817..818d49f1ce39b46aafa018342601186d7435ccff 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-137.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-137.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-138.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-138.js
index 32dec959198f401ceba13ff121407ba3272ab55c..80723a684194e1ccec27c68565465b2c13d41dda 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-138.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-138.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-139.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-139.js
index c9062bf185ac7f3f9b703c1c7385071ae0fe387e..78b63b23b5a1487d32c8bcd3d0976546f5647596 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-139.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-139.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-14.js
index 6996f4a20993e8b657727b31fa1428d60d1690eb..262750b3cec30a39fbc3b87656199dfd5e72e3fb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-14.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-140.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-140.js
index 3326bf6d9d4349bccfdf309ddbff23135462a285..a4d42102db4defc8c1dced588d43347e6cb3dd0e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-140.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-140.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-141.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-141.js
index 8648cc448e19caa6efa863fa7309ae5bf10cd1eb..7dd11abafe651b1509077d24837d55a9f90b2eaf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-141.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-141.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-142.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-142.js
index 0d40714e3cb48f792bf54715c482929107991c27..023f78f1013aa0ed36f23a535c67403ed1800e59 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-142.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-142.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-143.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-143.js
index c7679c99ddf37e337b98b7e3ba9c8d9a810c1ae0..3afbfbb04d83e6fbb5bedc896745698fe5d33ccb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-143.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-143.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-144.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-144.js
index c87fef12a52e1331c872446c6afd5c1ff6d6354a..88c590577a94b63db32855966738ec2b48493c67 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-144.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-144.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-145.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-145.js
index 0f510a01512db41f5bdc89b29e9f0d6cb681afbd..f118ad388c7843758c273e642f1caddaae4a1990 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-145.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-145.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-146.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-146.js
index a6e90e233fdfaadb75ce3a63a46da3b09f2a775a..7ba26c72e1cc40646a55ffc351c03c6742911bdd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-146.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-146.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-147.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-147.js
index 7fe02160965162eb283ead41f21e9a54afe267c1..5ba632a4fc70e206559783a722427467c454608a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-147.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-147.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-148.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-148.js
index 28e162b5caf620186b6bb0848a62515754df8f5e..e7fe0097eaa7b92dc697f7bc05c12c7e80380ca9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-148.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-148.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-149.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-149.js
index 2a0a446d110817ee9315cfa850cf408a385bd047..6139baaa0d246f5c9d5343b3892785c962ff417b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-149.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-149.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-15.js
index 43e7eef642ead4e9cc488b94e9b115462c5a99af..83e6a23fdc382ddbdd1924516e1b77579f769607 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-15.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-150.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-150.js
index e2da36e83d28b68e0dd55a2d9132785e3f4d153b..d184a52fbbc56762ec1456f77c2a54ac1c449b1d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-150.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-150.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-151.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-151.js
index 91bec7166a48bcf84267f2f57795fc5864ecf621..f79fcb2434658fa1a6048e8f1221b608a89c2402 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-151.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-151.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-152.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-152.js
index 9a843a3f10e4dafc64eb5547c9d97982fd681250..7d7ba1d5143503b10a75a24ab2977e68e201900b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-152.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-152.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-153.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-153.js
index 509d5d6765e9c330c2fc51397c51e8ac1995c065..dd250ab476d36eef9d92c9601bae75a89469c5c6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-153.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-153.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-154.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-154.js
index 52e124771d4aa77d3e48d08309b22958b5816d52..36426b21922bc3d663daf0386e20a0c529a537a5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-154.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-154.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-155.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-155.js
index 329ed5f79546abf22def51e731c9b5f6080f96a2..6388a78373d6fd5e1aaac58c2d729314bb69368b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-155.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-155.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-156.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-156.js
index c88aa3836aa9389f1b13fe7eaaba5b0051d3cf05..b316fee807c5860d72a4822b7471a03233e34da9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-156.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-156.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-157.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-157.js
index f332a7a26f079d305bb5f2af5ea16fd8ca3b770c..0cbfd98db826f6fdb8dcfe7be674b5554e15db19 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-157.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-157.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-158.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-158.js
index 8db65abdb380b2b5e3e43fb9cdfc924e3c59c287..72fa975d1b17e2957236109526c2b1c26e17cc00 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-158.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-158.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-159.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-159.js
index ed3e28981e5e6c639b68692d8b129c7a279dc472..150d301de4ad3e7c01db67853d82e7278ff59df9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-159.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-159.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-16.js
index aadd14b5fc51bf20ee48e4327076673de979a47b..26ae11da8cfa24ae31037cbbdd8870881daff78a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-16.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-160.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-160.js
index 409b1573772748dd604809ec14fe6ea79203c8e8..dbde625a5700c7e9fed9995fb6848e5e7cc79c8e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-160.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-160.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-161.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-161.js
index a978e61e575a63085eebc002fa84df2146dad73b..9ef5fabffa15c8599225c81a5ffb6cc09e1d1f82 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-161.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-161.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-162.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-162.js
index 2d869624d9f8067c91697413020e76d8b34f51b4..8d3ef36f69cc9555829c85b20560554e421e7dec 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-162.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-162.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-163.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-163.js
index 5022793a0dadae67574394262ae748b5349601cd..693bb9270ec50ef0ff770109a65649795eaca229 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-163.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-163.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-164.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-164.js
index 500ebb27941d11438c6582bbcb27258990f3ebf8..67728b6448510209074bf46718b4b7592f13ab01 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-164.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-164.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-165.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-165.js
index 091f1d6aae4dd92d5e423311ebb945585cbfacde..d94715d6e1cc6406d105c5df4e299e1e68f8fdc3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-165.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-165.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-166.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-166.js
index 358fd05df0037b786f23a4cf0ef2e10be2661555..d76c1278495bf76a278b1f4cb6af115bc6fae9e0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-166.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-166.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-167.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-167.js
index cde6b62b05a4f3169123a8e06a97ea8fb2b5358e..7952ea3c314f6d986ec59a13c72f6825278028be 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-167.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-167.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-168.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-168.js
index c265456d5fb1bd0c3af9de16eea91af64d5e7b95..a968d9d875fd9f1068c83726a63e2ad9a7bb4db9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-168.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-168.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-169.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-169.js
index 1e01448405bed772a51c5a978340cbc3323963c5..703ca068bd12456e4c3d5c7d20c1cf413125f0a1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-169.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-169.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-17.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-17.js
index dad6bffd9c61d6cfd1f9806fafa5b0f1874afcdd..f238b0c65a6277da19c0570f64b7e2aeaa847108 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-17.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-17.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-170.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-170.js
index f829f7e067e0a2a55d11d4e08d6fa5ee45cf13ad..de5df8b89f6c19a9ae7e36ab1070a767be194339 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-170.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-170.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-171.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-171.js
index 42a6b276535fd6597d702aa977564bd7e64edbe4..4f0f78714348a4b735e7f2e1d103774f48355d94 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-171.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-171.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-172.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-172.js
index 51d9baed4c0f8db3445ea59294a0df2dc46b9f9a..3ab83c7171f24e8e35a663e2ad7e940bcad2f78d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-172.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-172.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-173.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-173.js
index 4477efb90fb5069be0d56fe2ff19eefaf7a0eb07..2bd7f3a53d3be358048e2acc3a790a4a6f02a097 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-173.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-173.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-174.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-174.js
index 49585aa2bbc7c88e95831151bb089abb2d710632..335adba5342eb57c8bdc3046c980c29e95198b6b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-174.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-174.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-175.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-175.js
index 80a85447a145686105803be06d6c2509de689f32..f176c288eaf887e4ede79995f99dcf93e4cac1c1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-175.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-175.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-176.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-176.js
index 0235190e80ce4391a374fff680e710e980a12bfb..169c78a6d9390a891a2685f2201fedba309b52e7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-176.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-176.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-177.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-177.js
index 6705dfea2c59b3cd28021c0a2b7de6105e6e64b7..ca9d7715a15f8f877086b936b9cb7bb0de17e815 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-177.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-177.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-178.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-178.js
index 86a152f0c37a5685dd760257bb4a51b9d5cfda6a..f921ac89ac9078c3a4f1c894afe7c86d96ed0a56 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-178.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-178.js
@@ -37,4 +37,4 @@ function testcase() {
   }
   return false;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-179.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-179.js
index 73844c5736176a7da0f292c57e7f924b2176e8b5..cb982e046aaedf632b775777f7bdf9fe0a9edb33 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-179.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-179.js
@@ -37,4 +37,4 @@ function testcase() {
   }
   return false;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-18.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-18.js
index ded03df0ba273f51e76d1c2827c8948cea4e0fcd..abcdf67f8dabc1ebc6b4ef0691ad09537e7eb610 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-18.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-18.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-180.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-180.js
index b3fcc6597eda5adfe9604883349521e3ef4e3f6f..78615099378e3df827a4f1f5bb9cf8ca0fbc82ec 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-180.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-180.js
@@ -37,4 +37,4 @@ function testcase() {
   }
   return false;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-182.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-182.js
index b90935ef09add7568def5dd6ffb4751f6184e149..5acb5c84ba86b6897e01fc063b95ab34126c5839 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-182.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-182.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-183.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-183.js
index b7e0a7aa3146d8a4c025ff38f52e0d99d1f954f7..436ff2d3658aa1f4e3391af52d535eeed035edc4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-183.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-183.js
@@ -32,4 +32,4 @@ function testcase() {
   else
     return false;  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-184.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-184.js
index e20838a10f88a50c1e6c76bd4be7f16d3880672c..e7d4b88940581e737dca285939f36f46c473be27 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-184.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-184.js
@@ -32,4 +32,4 @@ function testcase() {
   else
     return false;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-185.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-185.js
index 51e6d0ac90ec804ea96b89ebfff114dd58400388..fe609c2f0d900088ade527624370ad7553c33996 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-185.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-185.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-186.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-186.js
index 1f2933fedb635af8e5fe5b4fa1a78361c14a061f..1704a46d411990acecb55388e8fd37600d7ebd20 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-186.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-186.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-187.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-187.js
index 3ab23e40b4f50e7fa009bb62f140aa7b1581d67f..cfdbee1e43a030b5077a6f45d43479b0941387ee 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-187.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-187.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-188.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-188.js
index 14692d643c3008575271265be7dca1f01f1c9d22..d798c6db0e3b4cd235aa4c91527da2b0102a0b28 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-188.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-188.js
@@ -29,4 +29,4 @@ function testcase() {
   var desc = Object.getOwnPropertyDescriptor(f, "functionNameHopefullyDoesNotExist");
   return desc === undefined;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-189.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-189.js
index 225e6f46905ac6d2fbacb5677b6d9e1b163cbcd2..ceb2bec096f9874cf63ee2c4c7f0ec831805e48b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-189.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-189.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-19.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-19.js
index 41a3e6f626c59807c50cc00bb3b9e125e63d2d67..9bbb9692d3f2a226aa58188fddb2df8080d142bf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-19.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-19.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-190.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-190.js
index 0634a643f28c2301c27044ddbe36a7627530d77c..2844de97c686236fcabdc6da6c56875e1fb60319 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-190.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-190.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-191.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-191.js
index 29d93a88fe990f723097fa71584ecdca20bf7c20..d9fb51714863a4ed1c5c750cb5bf2636b3cad294 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-191.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-191.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-192.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-192.js
index d05070c172c6b4bc0bd5b025eece2f1f47a65e06..b43deefb47d1c02524226b1b897d5a2377a1d3bb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-192.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-192.js
@@ -36,4 +36,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-193.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-193.js
index f84460f14ad28c9723f36756fc9dc1b15ca1a9d6..1617cc7f866714caf1bea880f4558337fe5f705c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-193.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-193.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-194.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-194.js
index ca0731da66b9507903fbe2860dcc02dc43f32af1..eabb3ac774662718be796bb2bfbdb5ec6108ec1d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-194.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-194.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-195.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-195.js
index 9c4b85e2448480fd9415472d5c040a0deee1b570..5f35c7fad665f4414a1330c92a04d2023f090745 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-195.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-195.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-196.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-196.js
index a1b61223b0c8955abee93907ee98d095beed534b..d3755254b35d5f5916a9f8d4b191316340ad5f84 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-196.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-196.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-197.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-197.js
index c184317b297c9057ea76915db409c1ece66e1c2e..3072c237f59231a9b2bb2c5a39490f7b8a56f096 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-197.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-197.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-198.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-198.js
index dbe4d4778d2a89e4046be8ea93e7d2a52b2a8ba6..17f8fbc0e7362e41519b8d4bdea0529d47a0dfe8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-198.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-198.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-199.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-199.js
index a0798af955c20d636a77471ad53858e5c98ee134..c6d0cd6b922296c43168e5e820319b87dfd916eb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-199.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-199.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-2.js
index b78342d67852cc3232509da3d92850110452bdc3..7433e95a330e9900ec5fd43fd71b6cbf94c301c5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-2.js
@@ -32,4 +32,4 @@ function testcase() {
       return true;
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-20.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-20.js
index bdf461514ded395e27a69afb3e57a5489f62c04c..274c18ac236f3852a1dcb09f009d4006830bf68d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-20.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-20.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-200.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-200.js
index dc225c9509f3a371074064e278b87fe8a3742d11..389d53440439b47cda65881bbf7795aa1a28d377 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-200.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-200.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-201.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-201.js
index fd08725008e8c34274da8d5b8a4fff1f15227088..b7bdfffc0caf170b0a23b6b4bd9d70a552d24adc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-201.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-201.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-202.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-202.js
index 928ef279218ac2fa3db47b31e2340bf7ae2f3a89..69e38c53f1aaaea4a9e6cb5a4ce4d00441c4b084 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-202.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-202.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-203.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-203.js
index 014522eeb30696c99dc00c3aae7d5f57d66ca264..e0a4cb29fd186c695c79620fcb8f7868e6185dd9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-203.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-203.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-204.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-204.js
index 65d927a1ccfc24d1894835b18ab45729472f8a14..196c79e59534b258f3132eef0f31dedb1500c6a3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-204.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-204.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-205.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-205.js
index 6074687f506fa671b9939fd1dfa55b28f89640e2..b97258fd319635b255a908ea190dc18fd6c23549 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-205.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-205.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-206.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-206.js
index 59f5330961e81a0779945f676d028a6c297287e0..38cd8449ea90c324c50b0f5eb19589eedd05085a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-206.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-206.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-207.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-207.js
index bfc36aa5c73bf0e6d97e294c4aa0e8c4bdc819a6..a739a64069250f251deecacb70226d6cca8b4e18 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-207.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-207.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-208.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-208.js
index 9bce1cef3e2c971090c5e2a34d0cfbfb8d4d90fc..59ed4913c46488ec515451004f6494e8376b6d6d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-208.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-208.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-209.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-209.js
index 90bb69738da8782bc07b6aca375e6f2ced89dd14..b36f11577acfa02d1bad1caf820187b5ac6973f2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-209.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-209.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-21.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-21.js
index c988a23d191e900b4e76d459e473d1c6fe5a6000..8aa5ee9273f7ec9370e2686df8f058d836b27f8b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-21.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-21.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-210.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-210.js
index f5f1167d55626ff5e4fd780a69dd5fdc449d84ec..a00da917dd82c236fe232a294f4e4bde72bc527b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-210.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-210.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-211.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-211.js
index 808b39f069408f9978c8ef72626a054c8cbd8daf..9478bea15f8e616a2624650bd5e2c50b2e02ae18 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-211.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-211.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-212.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-212.js
index 4f08631e4e8079ce021f1a42ee36fb26eed3e376..ac93b570fb384f8f08423624362bc3eb70e6c542 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-212.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-212.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-213.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-213.js
index f941ea1d8a82816ad36a16b69a37c8399680b7e7..297a5d867a68267bb1e0c7048a5150bbf92879ab 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-213.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-213.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-214.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-214.js
index f7b5e9edb46975ac7fd9c85d4a96c34637867b54..a5e1a2aaa6452735268f0f4e3618609c32ad6729 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-214.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-214.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-215.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-215.js
index 6e14e2395ba22703b99ee37ab7063ce404d9bb96..458b5b59ccb08194b532276918986f7ca45126cc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-215.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-215.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-216.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-216.js
index 45478ed0e9e3202c79a15a94cddaf9d67dae546d..29875189ddcb3526ae1c241f8e61d67ca743ac2a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-216.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-216.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-217.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-217.js
index 9567126feb5a49a3495d8c1d616b281dfa6df24b..8a31093e39ac5deec230db458b4f8ded1e8cd3f0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-217.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-217.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-218.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-218.js
index 9fee3eb3ba6cf42ae079bb786d88752b2556c76b..25d940d254c2215b7dd11fa85a756b23d0089925 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-218.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-218.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-219.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-219.js
index c285e2aea24e3d5ecb96b60cb42a601eb65c7140..b0f7fe58e71b1287f578a51c5e6fcc235c26e6d4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-219.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-219.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-22.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-22.js
index c5ee4bbf3a458dfed28c50016793846bab584340..a41bbdf4ab1ad869dfb311188ab9be94181c7a50 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-22.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-22.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-220.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-220.js
index e381110049190dad363c4f225e75446563673733..4b6e6c091b14eb68b15702aa808107433384abfb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-220.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-220.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-221.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-221.js
index ac8c68ea3c3a23554d013ec10a57b2489154142e..2741450f1656a6d3ade215999efae7b47882ef4c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-221.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-221.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-222.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-222.js
index 437e78c4e05c05bc0f9179697d714168ae54b7cc..dd09e5593bbec9f30e26fd6252b3c7ef1eb5e994 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-222.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-222.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-223.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-223.js
index 477f770b203fd9eef894f0ceae78d4d4b110178f..f8e2301bc9bce2c9d7ee4d360727d8160aebf736 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-223.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-223.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.value === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-224.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-224.js
index 78b4e68f0fd179897d0a325bed2f15b843a30232..0dd2c6b9e3c3802906d072a9f5d66a258eba2a4e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-224.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-224.js
@@ -36,4 +36,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-225.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-225.js
index 1d39ddb12c6badb39afba071feb1e039d9affed1..7552b8e62601a13d2574f4c5fad8ca7a14b3ca02 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-225.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-225.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-226.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-226.js
index 38024c3c9326d833fefe7ee42240cd9e3e54954c..12b63c3b1ce2612cbdeabdc8e9072369d3c62aa1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-226.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-226.js
@@ -40,4 +40,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-227.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-227.js
index 7be16f64bfd3a26e8dab2ad7eeb98e0b091bd8b3..4bf734daa41e692e666c7f72219bf64482e6267f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-227.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-227.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.writable === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-228.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-228.js
index 3d4239026f9f16e148d59cd5d6daf4d0aca8d3cc..e9c00c71875fee9bc8ce1a8aa7ebe19ec67b450d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-228.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-228.js
@@ -36,4 +36,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-229.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-229.js
index 5da589ae8b4b0e0f6f850fafa03714540bb4f55c..97eaaba2aa690fccd35f08be297af055878e9bf0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-229.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-229.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-23.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-23.js
index 5082ca542d04842e03cc85954c9559769fd2b98f..bf03e109916cf36c1f4ced780162b45be6174744 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-23.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-23.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-230.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-230.js
index d2a577262f71192b3badb3a1d34b48500ab28f5a..a8fa7272c854c29b968ec439fc54341dece316aa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-230.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-230.js
@@ -40,4 +40,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-231.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-231.js
index c212f04beb43b9f3dc2f8c72224443f530ebd568..39433730f71d96908bfa689b19e4bf633fa938a2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-231.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-231.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.enumerable === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-232.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-232.js
index c2b03056a5743f493be171b4a7cd2a5875f489c3..07643341188c762fd27dd2a1038d878a4ed229ac 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-232.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-232.js
@@ -36,4 +36,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-233.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-233.js
index 5434a66ef566c6eab263417c66c2f50a16eaaf1d..671ddbd1b91754b4f098b9d1c97917feacd8ff7f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-233.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-233.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-234.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-234.js
index 20a73c011e38e5acbb4c46ecbc5d3fff51edaaf8..8c07c5768ca5ee2785731db9eaef684bc35f8330 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-234.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-234.js
@@ -40,4 +40,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-235.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-235.js
index 35277ece089e6d75e94f9a2d04f83a5b588cfa4e..ab021b93641a9e3b4e22248ba7ed2652573d8b59 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-235.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-235.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc.configurable === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-236.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-236.js
index ad5eac1b695b566199abcb9201097cb8eb8dfe19..70c4919feb47521fac4b9b9bfc0a66ebbde8dbd2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-236.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-236.js
@@ -36,4 +36,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-237.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-237.js
index 82a18c81c4e104d63ba8e195137cfc99eb1ac3a3..c606d72b3f6f2921bed688ff41dbec83a519b23b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-237.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-237.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-238.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-238.js
index dea204a740e19033d07207f5ae16565aa24e0d87..4702dd9f8da70faef94bc1d9eebcc9e3b19ebc3d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-238.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-238.js
@@ -40,4 +40,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-239.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-239.js
index 81551175069a13a7a31adaf8c946dc23f275c242..6e37afaacb0a73235d7804dda84e10ba26e822f8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-239.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-239.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return desc.get === fun;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-24.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-24.js
index 47bb11a72fc7f3fe9d334b4943d4851e2c4b8a25..eebed6a7d31bc1100fc3a865de3a44537f19cc38 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-24.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-24.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-240.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-240.js
index a326c0c04de0d3251fae7b562c7196725088a2c6..7c4c3a7bb7bb3cef067d5df8f4d8a9e048db6fa6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-240.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-240.js
@@ -43,4 +43,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-241.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-241.js
index daa06438a577dd8b6b0172310db2f3bf12fc389c..32ab9e1a6bf3fd2171c92bbfb3daab3b0b75997e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-241.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-241.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-242.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-242.js
index 31f8bca97639283164d0f64e96aca51ea07cc562..c7bb7832f94a10e731c1c282776a719e26ab31ed 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-242.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-242.js
@@ -47,4 +47,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-243.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-243.js
index 1624637ee3af659ce4997e09701f403c44554b1c..58cd02b999a21797a49887f0308e996641374049 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-243.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-243.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return desc.set === fun;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-244.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-244.js
index 9337de83728aceb2d4c81c85891b6cc670a766fd..e020052a5d5fa2e54bbf3f4717ddba95b623d53c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-244.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-244.js
@@ -43,4 +43,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-245.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-245.js
index bab27f3ea6798b2c946e20393402ec84412a9e00..831c1100146687b0c4cf30725daa5b97a826e5d1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-245.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-245.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-246.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-246.js
index f95f0475393ad886271a419a4c2d747b8e240958..373e858143f755e027f0ec24190ce0bdbd241fb6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-246.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-246.js
@@ -47,4 +47,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-247.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-247.js
index 9b0e11afb0993809e7d426456049ff65f624959f..35270172bc83d368d2386deff7f775aec3d8f706 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-247.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-247.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return desc instanceof Object;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-248.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-248.js
index b37ad9c1a0434aefa3ba837e1fc12fb2cb43fba6..3037b87311b2f1b2b638e34dd0bcd519ba134d69 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-248.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-248.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return "value" in desc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-249.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-249.js
index ab3352df8bedbc5b358ed95a37b41ebdcc9bee2e..e57f8b733341cda9f0faada4dcda9121148e4990 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-249.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-249.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return "set" in desc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-25.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-25.js
index 105f1958e9b963708c074636379fb5f8f48532e8..a5c02a2a6407d82d81ba90ff7ac81e245ed3c2a7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-25.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-25.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-250.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-250.js
index 09cca49b35660dac9f9c9880364ea5bae5b22f6a..a5060d34bbb4dbeacf5942460aa7ba8d76ace9c7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-250.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-250.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return "get" in desc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-26.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-26.js
index e1528af9d344fe2cabead315083422eecd4b871d..6c1299aa364f58b3b1d16c59646a2e743d95d3a0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-26.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-26.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-27.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-27.js
index c5bc87744c491ebb6ea31c0cd53c0c4c0f373b46..bbca5b4e0aafd2fc105e064c51330cb8c38b16f1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-27.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-27.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-28.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-28.js
index 6a7b0ea49f73729b0451c61c8a531939b706c617..9d8e79f62e55d9cc2f1c08ce897065532b2eec0e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-28.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-28.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-29.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-29.js
index d041c02d41f47534602842c69823058a154a420e..6ab39f3e6c6febd14eed2de8e7b59d80d5dea8d0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-29.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-29.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-3.js
index 54d152920feb99a2539ffbc7a8f9df384f8f8dd8..b6bb23b06da477c26a19a7629153d69b124bcb26 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-3.js
@@ -41,4 +41,4 @@ function testcase() {
       return true;
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-30.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-30.js
index cd180b1697bf69eae092bb5ddd5236f88a7ef2e9..79eb8806af3c5b1daace3d442ec5b9827d67e5bf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-30.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-30.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-31.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-31.js
index 7898cb549f32cb65e151ef44f42313577644e151..ed1411397af824a80ccc82ee6de32a7a0dee5f65 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-31.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-31.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-32.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-32.js
index 9947e468b3f6953e9a8682cc1926ba75c0d7854f..8c436e2a08ea430bd9988bace2b4f2e9d5bc552a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-32.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-32.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-33.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-33.js
index a1b2aa9384858e39f5e22a1119734798c5732ddf..514ca5798392c897e3db1f68cba41ba283a6296c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-33.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-33.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-34.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-34.js
index 1b32aed09842a1627afe55943bf6f0d9bde6d62a..cfaee36094c461d4a98d98a417b029015499c25d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-34.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-34.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-35.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-35.js
index e3366a50f8f745a0e8e0706ef70b88bf5211d4e0..51ea132e8c3e3a1b9dfab82c402ac5572078d6eb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-35.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-35.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-36.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-36.js
index 7d363870326560ab26ea78c25e645e72fca19d22..5d2199ca0e5ea6ed944584c5637e147976869cdb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-36.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-36.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-37.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-37.js
index f205c40e32e77b0742a8451a72f389416ce1e7fe..25c20d1dd99d77ada483424488037334b1fede98 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-37.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-37.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-38.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-38.js
index 8e246a24c39f168e4a66e6c7a7cf591e6828ef9c..fff48cc33d4d4709d3cb17fadc2f3dcc6f68a02d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-38.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-38.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-39.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-39.js
index d5496eeca957a569680b1313c75dfa1aa98ed2f3..cf3685290b05d1d47c4786c83e7c91e464384d63 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-39.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-39.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-4.js
index b0fbba35f39fd10723d91391776b1fb3fb6e56e4..c0aba41b978208ff3e2f656dca7deb2fb8f2c3bb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-4.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-40.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-40.js
index 792f9d48022a3e2e4f56b17b7008d1bd1a95235b..199213124fd885455b5bb7b6755e7741f96eb949 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-40.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-40.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-41.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-41.js
index 31774ac10014b8cfe30bfab792c2c22e3bf9230b..a9d27fbdd023d8d8f187fca5f5b6f46241f717a0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-41.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-41.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-42.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-42.js
index 91d8c74993f4d6c452ccbdaa3e8cad555c22a8f1..2a037d41a1e75c7b0f1fe87033b395c886777192 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-42.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-42.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-43.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-43.js
index 658ecd647866f30bb65b7ddf52e108b7ab4548be..fe0f416af8148b937deef1f2dc9f6778aabb0a89 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-43.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-43.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-44.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-44.js
index 894f50b1fe12320d1df31e30766fb380f4138468..7b1f999c1a12456fcfbfcd5c74c6a7fff61cf5eb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-44.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-44.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-45.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-45.js
index 3d393599c5e3d0804ba4f89e471f9fc793c6fa96..a5b54b96c3ab91385a190d1f3262af12859e9fa9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-45.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-45.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-46.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-46.js
index 2cbdb92d80749ae6ae668151a813d88f218b035a..1fe46f8c9f2a771ab500bd07cfcd5ccd49a71ab3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-46.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-46.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-47.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-47.js
index 75f08181c1331c66fe0c4711b3744eacf89ea857..b1f804938119c8570764590a061c087d62a55c03 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-47.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-47.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-48.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-48.js
index f6026f0959faef8d5e81ebc58ba61e2f06b721d8..9d092f66b71b4225b4dc836ccb32fc4c9d3253c9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-48.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-48.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-49.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-49.js
index 87c82f34d8580b6cf1d0b196564a027bfa73d8af..6115780c8c1dfba329ff197500c203fa437331ab 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-49.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-49.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-5.js
index 879b6451870564458929895d081d4f63dcde3825..5f58db30b72afedceb14254eda1f1045413373b7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-5.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-50.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-50.js
index 64a504dd05157e7c54f71f20e5c389fdcb662724..1078a8a2a841d7dc49008123360bb38b24352f3b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-50.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-50.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-51.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-51.js
index c9ca751434f5ac688ad65ef6043573e749aa9feb..8bfb112e4cf913e4c447e06a2da3538332416514 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-51.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-51.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-52.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-52.js
index b19dc11d5d7079e48d58cfedbfe2a09cbbe9bdef..0d30df7454cc7fc3efea4a577c5fe4fbdc1394b0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-52.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-52.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-53.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-53.js
index ac47d98ae1a38318b8f7792a7d2cb178a2785b10..6262a5b49a69616574b16547a5a01000a45abc3d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-53.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-53.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-54.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-54.js
index 8e3dd524410c41b4a6b1d625322993eac874ed04..e3c295150a7ba4ea92087e714352498e471f708b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-54.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-54.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-55.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-55.js
index 91c4c4ceae35ea1f4aef099561adde16769360b4..904e699d74b85f5f60b65abd62748a293a13cec6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-55.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-55.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-56.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-56.js
index e8c24e1886b4976f57f4562199ee91f3264dab2f..2af01f656a511bbecac695cd7e5464fab3e76fa7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-56.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-56.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-57.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-57.js
index fc1ec929a6411ee192848abd2305332cdcc4f005..e063ae805ee2861abca85da624f5bb63c14fe574 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-57.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-57.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-58.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-58.js
index 16ecf91f431f8a1eee81a8b575fd5f2d89428fab..4ca6ad51f75ea4cd0c964f0d9b6c428f314a900b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-58.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-58.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-59.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-59.js
index 878a3b9175604659eabcc0607f2bcaa0d39ba390..3e1392af63671bb055989657922636238055e4fe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-59.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-59.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-6.js
index a849b1d806051ba6676c8031c1126b208f938527..e7964ef97c1fe4f977994acd28de9ca922ac75f8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-6.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-60.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-60.js
index 64b604ff0fc3d8757a96ab8c991cd7cd48a604fd..115739106505b80486c2aba11a09b041da330394 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-60.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-60.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-61.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-61.js
index 01f9f9c140fc9529350fed8297868b6cb7a75cd0..420f09e9dec4b9c8a06e66dec427ee82c3c18b84 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-61.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-61.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-62.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-62.js
index 158429c7fc528500da44fddb98548e6ea3a59338..8f2fbf1fbdd19d5e1dd31bb5b059ea3a723ca619 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-62.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-62.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-63.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-63.js
index 76248b167f3ecd075fc2c935ffed73fa51efbee3..3cee32be6ab4423c1fdd78e45ea0af4b2e9d89eb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-63.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-63.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-64.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-64.js
index 513a13ca1170f3af40c0c2039da778162dcb12ae..d63e69152543dcf6d851400032be1acbfe938ed6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-64.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-64.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-65.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-65.js
index 6017e0c1ba551020cf87e6f53b4fd9aa10f444e3..d98ca469e85809d132af7ea34a035abeb3c5f584 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-65.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-65.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-66.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-66.js
index c1f4e1a6c22363892fcecb2aa0775fbaf8da924e..2cc4e94224101c48c26d270cb0f43ff54f3534c8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-66.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-66.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-67.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-67.js
index 67a32925dea0ad558dc9b51157da61e85a2d3f06..e2bb73bcb06c123c437333ef8325479d65e772e8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-67.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-67.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-68.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-68.js
index bc06175792511cb3b4bb51fde10f0fa484491fa2..0579060263a3e49ca248cf8d653b02985847b44a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-68.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-68.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-69.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-69.js
index f425a06fa8cff0059b3e127165926b6910f53aff..5b0f82838a542516036cfe049864544b089adfb4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-69.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-69.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-7.js
index ccee696961b90d7df9e0f27fcc90111a405f885d..2842e7b7b807e54240a2877ac295a4fa994675ec 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-7.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-70.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-70.js
index 2e0e4e77e801da135c50fdbc8341fdaae1ac631f..8225583fc7f430590fa82ce7dee15112696a856b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-70.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-70.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-71.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-71.js
index 44d057c221d5da104ce5726b10031abc7b4c2085..b146915da6f949c0e5fba28edb2be1f9f3af050a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-71.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-71.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-72.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-72.js
index ad096774e54801f0674462b525dd9bf448908108..2aac7db86278c294c87f522bd35b5b145fe104f7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-72.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-72.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-73.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-73.js
index 7cfe154e9fb9e5b14d01256a77c57664b6a2c7ab..c7110736599cd61c54eb03d4b332fe731793e750 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-73.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-73.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-74.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-74.js
index 5929a12edee13353ac16e3757826c891e0e3bed6..32918373c65a2896db23eb4db57bf3fe41587290 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-74.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-74.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-75.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-75.js
index 9eaa4ff7bf8a01bddb09adc4e82d9b32966698df..4e7f4943e05d472d0ad941e025ffc7f20515e6d1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-75.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-75.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-76.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-76.js
index 26ae6d2720111c2b8a89fddcd51d7b85b09cd00a..a109ac216f7739bdaf5f4e93cb90053c1951db51 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-76.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-76.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-77.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-77.js
index 31f9cc3e8097a5ef814778269ee8e98eb025e461..865514177735ea3e09082b6f279a520dd5061ed8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-77.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-77.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-78.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-78.js
index a80ddf9c096cdfdf93f9b4799454c2da6b5dc9b5..30dd505b5b96a974fb321a03913513102ed94c10 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-78.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-78.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-79.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-79.js
index bc27e0ae0b18d4d974b40984e3191b314825ba5a..0a33616ec980e1540d0a285e14f78bc42397469b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-79.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-79.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-8.js
index a71efb0edfdbb7366d2d0b9b683a78bae104db34..7e44de7a32db3c36376c98a4df605e18de933f2e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-8.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-80.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-80.js
index fc4ba0020153c6b744108fc794a5156cd048283c..c2e63f87a3424f69b24fe92745fc187ee2d53909 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-80.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-80.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-81.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-81.js
index a142f6396768ba1289d4a52f4ba71e5808767a0b..873dffead6be0ef5d410393744f948c8a4bd1357 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-81.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-81.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-82.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-82.js
index d6c523c224c291764c99da56531f41f4c000216c..87ff93e8405fb992a3bdb02c84e6c7937ccd69db 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-82.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-82.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-84.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-84.js
index 791bcc8f910c2e3ff70e16a049a8388d17cd56ce..5c85bcf12c09e450a014ccd998ca9237808a22ce 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-84.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-84.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-85.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-85.js
index c80fc2a5d419e221ee912ab100d28f8831c2bc83..676dc97337363642281ff5ea4c69b0d2b0f90b9a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-85.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-85.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-86.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-86.js
index f7a06fa1eb62967e067ddc6742ec147362e24439..dfecad928dddf3bccea2fa185f06d76129b8c456 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-86.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-86.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-88.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-88.js
index 6f5d293d17b1636e58486a21ccd5d3e1721e7f0e..3ad7391019bb10b4d828e030a128880afd96e587 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-88.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-88.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-89.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-89.js
index ea8bb6b8446d83baba8cbce39e8a09d3859e97f9..4fa7c76567c5d6af6e443a8e92274383c94d511d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-89.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-89.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-9.js
index c83e0eccd53e7388a45899d366f3676a3b2c91ae..5c383b559186fc311b4e5cea824b040e8e908c12 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-9.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-90.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-90.js
index 9fc1ba012bd7690138d1919cca3f4eac5ddfdd74..187f9f798f4c70d9ab95f8548583c37157914e83 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-90.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-90.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-91.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-91.js
index fe664e59848955a9f3a567205548e465a2f9faf9..2d8553b76524fba94f636eef372b1e9140d4aa89 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-91.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-91.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-92.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-92.js
index 62be6d568910246e33edd5c707a61f4b42d0cca7..743c28102b64aaa994700b341adc7a6fa753794e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-92.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-92.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-93.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-93.js
index c0e203233f4e7213d1fd28aee7bae91dde9d1686..85c5ea5f88269947d13de006dc8ef8984198e797 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-93.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-93.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-94.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-94.js
index 456ebf8a31cf929f4cf713cf76847c350d2b6718..430e09aa00f49bf6aae7039b6afeba4100365192 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-94.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-94.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-96.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-96.js
index 9024e33b32e26c4c0e56e683510c448f10ab135b..965bcf088470511f55e4ec59e3e2e6b8034fb0ef 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-96.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-96.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-97.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-97.js
index 851e5740663d88af2447189f90363db663d9f620..3cd20f137d5a4ca4fed7888b7ac67b2a5ec67a3a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-97.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-97.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-98.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-98.js
index 6ab72ed5fab8e88fe32ec9d1792c02065080ef52..ec08a4e5d3e2280ff84d156826cd4f42d3e1263f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-98.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-98.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-99.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-99.js
index 2b46d7933f0f201705af6b0cc3f0d7a8c6c50868..8a5377f3db23444c81c55be0bf145ee71f8c8410 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-99.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-99.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-2.js
index 018bcd26151078185a356f366bf82dd42284481a..870c8ca7d43f40c6d4f7f4c0eb698a431048f921 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-3.js
index 023fb4d6d95483eb587b70d10e232327330cdaed..33b5b0281dba8401acccc1000c16871169fbd7b8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-3.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-4.js
index d3c5541446009c84b3221867279649566e8592db..f4dc875dc7dbc08b88af953ada1555941a04ad35 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-4.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-5.js
index c8e379674027bed7aca838b8898ef97b223dabfa..dcf2bf868901912124e40100c436148bc9352b50 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-5.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1.js
index b3ad795f519e40307c1da02645c7c488d2395a49..269b3d9af5ec86e00aff497127f06d8f1c39ed3d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-1.js
@@ -34,4 +34,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-1.js
index 0e1c779e0769093516b6414ba17dd95514207b0a..4de22473e5e154eacb74f0684d60392148146f18 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-1.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return Array.isArray(result);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-2.js
index 77080bd91f096baaacb2a457f9752882ce146be4..10609c7b3944cedbe2db58bb8953661000d4a951 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-2.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return result instanceof Array;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-3.js
index e1b4e7399d0953ed699f3f9c00f788c39f88104f..dc1b40dd7e6f6dbe8948f071e224e4f34cb53869 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-3.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return result.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-4.js
index 8280daefaae1d08ba28ecf62118982a54d035651..52d84a3ccfc7155deef5e3b832daa9ca76aa0342 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-4.js
@@ -40,4 +40,4 @@ function testcase() {
             Array = oldArray;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-3-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-3-1.js
index d1cedefc542ebb25dad7ecb241caea00f2dbd955..c116b465c38c1a93aaee2f5eb42c47a895d6bb7c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-3-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-3-1.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return arr.hasOwnProperty(0) && arr[0] === "prop1";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-1.js
index f1ef059ceda0a6c9c4758fd8870bc59accfe8c48..54443da6611bc35dbc9e0bfcfcdd93b0b17e2c41 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-1.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-2.js
index 1437e3134efbf2e7789fee72f71a9d8a98b41eed..daea87b55d978d337e01678f258880a9a10aa543 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-2.js
@@ -31,4 +31,4 @@ function testcase() {
 
   return arrayContains(result, expResult);
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-36.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-36.js
index d65ed16d4342c8257b2ddddfbc510b70d1be07ab..b3d62edc21ffe3e94a6c12af9e7aeb0138201ce6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-36.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-36.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-37.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-37.js
index db66e9824da5fb1909cbe9c2fc037324bb638545..7c9b76744c7c42af3e39d3c64d9122b749019439 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-37.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-37.js
@@ -47,4 +47,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-38.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-38.js
index fee1371cf973b64c0c309b66b11b2fb1c8442d5a..9439a854caa396b91f2ee0321c5b204cc3ea184a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-38.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-38.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return result[0] === "a";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-39.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-39.js
index ee14a9cd94145809955d5dd0a4f1a94977969e82..fd137902d7ea29841e5c1e192b6e2e2d7c6f3331 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-39.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-39.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return result[0] === "a";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-40.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-40.js
index f37ebe673b313ee965c3a4eb2413a6167ad9a961..c2e3836509b8f1eeb1380f49076963c65741275e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-40.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-40.js
@@ -43,4 +43,4 @@ function testcase() {
             delete String.prototype.protoProperty;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-41.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-41.js
index 22e9944a2f7a972491655b9a490b1a213903babb..188812d989aadf2539295b9516829bdbb6459516 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-41.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-41.js
@@ -47,4 +47,4 @@ function testcase() {
             delete String.prototype.protoProperty;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-42.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-42.js
index 25d1229fa3fa82cca8a24ed3390aff2614b776a0..865eafa7b101c5e3baaab74dd9aba35dc5a64992 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-42.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-42.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-43.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-43.js
index 228841f919fd5207145a00e8f416210b3f220702..065c932a95dce5003610132060893322d8b1b9b8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-43.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-43.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-44.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-44.js
index 9769ca27701f81aa1b8444cd6c69150fde2ad693..458e55ebae877d183e6d41c1764c13fa4c8b8f34 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-44.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-44.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return compareArray(expResult, result);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-45.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-45.js
index 90eceb889172b33056a137e9b1643a51cc648f48..8bfd5674c05ae6a29f2a26a83d7e433ebf4f0453 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-45.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-45.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Array.prototype.protoProperty;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-46.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-46.js
index 414e73bf7a1ec5e4230973c7ac3e2c848785c3ce..5c0a5a39d7ac572c1015c5e41b4f74a1745c2089 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-46.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-46.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype.protoProperty;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-47.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-47.js
index 7607063181dd90df5aa2dc18bf75db18daf9e775..7d84aea9a114f4237e4c7916fd8b2ce39fd3b7ee 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-47.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-47.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-48.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-48.js
index a33dd33ead4f51b88a2c5e344fd62ffdc32d7d98..655e602e761d8a6874b5a7270b24f290ea0987f7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-48.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-48.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-49.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-49.js
index f4f4a5035a6b541ea49ded2de49a1015666cb8cc..587d0f7b3d0e4a803d539333afa6038826c0e97f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-49.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-49.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return compareArray(expResult, result);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-50.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-50.js
index 6ab2f989daa01cb4beb79d49ff2d5c2a1d9c02a6..767112c14de7eecb9796daa1d1899f87db91cca0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-50.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-50.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return result[0] === "nonEnumerableProp";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-1.js
index 7643b65a992978fe0029f04836d1a4d87cf866a2..961c2704e21fc444e423f11fb99223abbde4e2da 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-1.js
@@ -36,4 +36,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-2.js
index 3184642268ec7bc6ca464e2fbed339210bbb920d..7205057c527383911f763b67f491023b95989f1d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-2.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return compareArray(expResult, result);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-3.js
index 453fe12c96ae371399891691962187f27e3c744c..85dffc609d837ea8be375c8cd78e668c3dd0932a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-3.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-4.js
index 9e171968c8f6ca83a749bdbfc9327a6995f6bbf8..bb922a3da01218039b446b5e0e87686f703b8661 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-4.js
@@ -39,4 +39,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-5.js
index 848b322e13e0c2a2b87f88c97c56ee54b1b3705a..ddbddde6a0aa141d72735ecaabadd2ccf35de1ad 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-5.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-6.js
index c6241a34e91dd9f982e6d4418f1a5aa207bb14ca..512f8d6e8a275d0eb2a80ee0f33102f6ce2450db 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-6.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return beforeDeleted && !afterDeleted;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-1.js
index 52095c14032689f34a2a19c9900cdab172df9fc1..a7d07fcdb9e7d3577bcc146d60063e9d4cbb4a5b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-1.js
@@ -33,4 +33,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-2.js
index 0be8ab5d1c432f3b84f80bba66eda36bce595e5b..518f2d0432088aa0754bb3d7a2877e37f8fa8d79 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-3.js
index 5015b4f3c299998e9262d9fd42292f9aa7cdedb7..8bacb1c2810ef2c5d6137b485f38cede8e474a08 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-3.js
@@ -33,4 +33,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-4.js
index 778e37af76cb40c7844869f61f458238222e2d73..f28eacd13b59df614973e34a78d540af79b31dfb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-4.js
@@ -33,4 +33,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1.js
index 44d5dffabafbc244ea9f6f53b606574ad2db4659..f4fabb71dd8a46b0fa518e14659602bc4ec66df4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-1.js
@@ -34,4 +34,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-2-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-2-1.js
index fef6c52130bb1a1d806f7ae61bce80bf536590c9..47c72eb09b5d4a881746d748a2e7b9c1baff79fd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-2-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-2-1.js
@@ -37,4 +37,4 @@ function testcase() {
       return true;
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-2-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-2-2.js
index 45b760fb2e707bad398129062c29a8729f570f3b..08c5f9f4406b7e72c7cedc34f979da7e0b568297 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-2-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-2-2.js
@@ -29,4 +29,4 @@ function testcase() {
         var newObj = Object.create({});
         return newObj instanceof Object;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-3-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-3-1.js
index 18ec0953193743f4ada22936866ad1f7ff4e0ae6..1e9f31ef108c1e56464eb78df3e841990f5836f9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-3-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-3-1.js
@@ -37,4 +37,4 @@ function testcase() {
       return true;
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-1.js
index 2738d75e1a702dfb4417a800be0dc2bb28611005..9d7c7f0cd3b6fdce1456098b14084aae73652053 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-1.js
@@ -43,4 +43,4 @@ function testcase() {
       return true;
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-10.js
index cc23858c8e58d5c4896848eb9065622b91abea22..7ba0774a3af5aa808a45bf552d8dbc9b4bfc2549 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-10.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Math.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-100.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-100.js
index a490c4f1ca7e27c027f16a17708c2b8b8eb05629..a9f3605b057e2bd5a986641704b88b79c7aacb32 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-100.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-100.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-101.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-101.js
index 055416b433503200622512e49ee3bc1862a39f43..93e472fe72244645a8eb17c9061b2e29bd1f8be0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-101.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-101.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-102.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-102.js
index 016db5027f87a3c1edbbab95ed058df29c48210f..97d59c7c55ee7932c85c0fb71cf151caeb12e614 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-102.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-102.js
@@ -45,4 +45,4 @@ function testcase() {
         return result1 === true && result2 === false;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-103.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-103.js
index 3232fed0b53e2604f01dc0610f515ba89df66345..872d8a5f6a82b7dd56fa7a51cef769fd17a64b23 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-103.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-103.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-104.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-104.js
index 8e7441d1bf8d6358f6ccfafe61e95bfaf189444c..6d20820ac82ff923e4ada1076edd9de3b37c5cb6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-104.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-104.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-105.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-105.js
index d8b793281c342f537604f9111976be2edfba2cdd..5b5b53fd215f71ab24a27dee019f4a09ea65ea86 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-105.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-105.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-106.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-106.js
index 6b1fe65dd5859dcd47f9a46daf11d0a3ac84563c..3e7b14fb3558ad38622a173466667e2d53a34382 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-106.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-106.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-107.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-107.js
index c14d787bc420a5726e9eb2d77c5175c189f4bd8e..91770cdc260c7771e38f493e7c817a1baec00204 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-107.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-107.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-108.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-108.js
index f591500c821b476c29c65fbc257e971d870258ed..963541e9e7e07b891aecb1dc01e8dbf3548b03fb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-108.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-108.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-109.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-109.js
index 82b7f893640b38aa709d178118bbdf7712ac9729..8002d46e21e53f9c3ab4c54e73d9c3c99722dbf7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-109.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-109.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-11.js
index fa2424d3ec1309b0665951ca90c876e271d9d3f9..1d9c88cf4d2ab076b71038963cded6fe74b0567e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-11.js
@@ -39,4 +39,4 @@ function testcase() {
         var newObj = Object.create({}, props);
         return result && newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-110.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-110.js
index f2132016b6c18868c87177d3ff36b557d25ffaf6..89bb9b0e380e0962eca06a4e9c689d854b0b60c5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-110.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-110.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-111.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-111.js
index 46e784efc79b21cc8da97c1b371e134f1bb922f8..ddd1d3452b924f197840a69dd9f927b6f0c9798d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-111.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-111.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-112.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-112.js
index 5053df65a13c963e5f86b07144e57dfb03698039..324f6a13ca04ba6015ada40ac58b1aca3b17d565 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-112.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-112.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-113.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-113.js
index bdcc1691b6d402f1fb6db2d1e26a8988f2d1df92..f9e0c9647a6d944dab4bf6c33945eef0378de90a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-113.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-113.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-114.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-114.js
index 7dd85871825e0c4966d4e49ce5a2c6a5baa5897f..bacb51851a0171837a3a5654fd0f53ea37c2785c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-114.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-114.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-115.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-115.js
index 020c7cf30df1e091a01b561a4727b6a99361ba7b..bc6a0becb83d3cc1ff7b974da7bacddaf6606c29 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-115.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-115.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-116.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-116.js
index e80b84be637fa0f6da79f505c91a019d9d94e3a0..e84319c570de17bf32e61dc43dee52deffe80a4d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-116.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-116.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-117.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-117.js
index a18ed5af689101588134aeff9901bc4e0824ec6e..8453ccabeb6976292f49187c5e7e349f321e6898 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-117.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-117.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Math.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-118.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-118.js
index 6b4d20d9d734a55656f5132fe6b12ed705d8fd25..da1a19dfdd613c6072f633f7921f57106908040e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-118.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-118.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-119.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-119.js
index 23ecf49d0eb9dc26b8ad2cac4b5e908268d0f5b8..ee1893f70fd46336a5aff594823d1825930bb921 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-119.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-119.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-12.js
index 99e11f5c7fd21e03f7835436feb1d938ba17fab1..be0d3db3f1520c707ae1d2f06d40f5eff5d3918b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-12.js
@@ -39,4 +39,4 @@ function testcase() {
         var newObj = Object.create({}, props);
         return result && newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-120.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-120.js
index a7e833daeec6383a636ef93ca4fe538a29eb50eb..d7340489e84f595e989b85b1aae6ee4d5227551f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-120.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-120.js
@@ -42,4 +42,4 @@ function testcase() {
             delete JSON.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-121.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-121.js
index 85234add54ad7f883be914ceeed5ecec8698d0eb..bbd37c9a936fe66dba1b5b6b9711f7080a5fa446 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-121.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-121.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-122.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-122.js
index b8054ad28b1805ba9d4e55d652cd7c7b7ad4084b..c18ab69babf95db164cdec8fd1dde93a7f3c58e1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-122.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-122.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-124.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-124.js
index 632561cd5c8624db53dab8cc46b9ea4e160bb940..e766eaab0757138fe63c58a800cad0152722ce7c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-124.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-124.js
@@ -42,4 +42,4 @@ function testcase() {
             delete fnGlobalObject().configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-125.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-125.js
index 96b859f4a6da55f0cbdb1213b65675c3a879b3cd..d42554af6fbb026717b3ae0a8e4a727f1155e03c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-125.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-125.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-126.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-126.js
index da460a363dc15a10ca07f25ee12ef7af280e392c..1995ca9cc7b0a4236ce850acc798c45fe65ac318 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-126.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-126.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-127.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-127.js
index c05664dcfaf8786413dd57408249e146ec6c8f3b..71bdce39d097c8e0a8c3376521799c0e585b6aba 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-127.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-127.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-128.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-128.js
index 32e4ddbc8556b68a433b7216a683864bf5f39912..ca91f100635bce83c87e3f0a79f68b724bc14fb6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-128.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-128.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-129.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-129.js
index 603d84bab12c0e3a1968719814fe68c339b6a0dd..73e5ac2c55f31e14caea85631d3f51fd7b628ef7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-129.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-129.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-13.js
index d54dcb3cfa8a202e86daf8bac121aa3b0ee27104..c09395b08064ebd19443f30ce9bb564de67e391f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-13.js
@@ -44,4 +44,4 @@ function testcase() {
             delete JSON.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-130.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-130.js
index ca13baa0ed95effe33f95cbca16ef25bdd8f7fdb..2a8565d07a1eb49c7f463d21c6b64fa743e01d54 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-130.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-130.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-131.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-131.js
index 901890a710957bfc4a5247434be7f163ef8c77a2..27f5b8b9d62ac3ea6429482c877137b52dfaaa38 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-131.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-131.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-132.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-132.js
index 003369984031260c92c93868b6aa5cb842a8333d..46c41dd124710f9d21f6e957b616b2819a5a3642 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-132.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-132.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-133.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-133.js
index a398c5be70923df3af35cdc12b7b6a4856ab9679..21f75b578a059a99ee92dd5ec896f504a092dbdc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-133.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-133.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-134.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-134.js
index b02232bf835cf34ef43ad3ea1740b213a21a0caf..3587c2b4d3f6548f5370b7c24c3dc079a1c0875e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-134.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-134.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-135.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-135.js
index c77b076bc3b017f59b7ed1d61c9401bbab780625..ab12f2626b1dd3529e2a9b3dc8e8d368bdf599a5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-135.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-135.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-136.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-136.js
index c3cb893c23a1e19bbec0cdd92978379d242b22bf..2d65eba398e97cfab2748b6e5d4d1820ff2b2042 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-136.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-136.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-137.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-137.js
index d0121da3b1bfe3f660a5b603b66b1b8bacd4a6d7..abb63318e543b009be887ebc0e633ef21d6f8d8d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-137.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-137.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-138.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-138.js
index 3371c1e9901cd08a6f1870d69767002c63f3a8aa..9f46e80db460f52427383e49917fc318f25d9994 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-138.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-138.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-139.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-139.js
index a7b9f33d796e5430a0ff3282e74f74676cb0c66b..3d07829c98d2f77a245f16e42be3487577d506f2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-139.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-139.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-14.js
index 1a3ae03a4786f82571e86bff13651a5e6159c228..de718b97ba1c954b9b0d878642fc43a58abebbfc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-14.js
@@ -43,4 +43,4 @@ function testcase() {
         var newObj = Object.create({}, props);
         return result && newObj.hasOwnProperty("prop15_2_3_5_4_14");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-140.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-140.js
index d3262521617cc3e6643edd2bfda5605208b5a435..1fd8213aaeb558eb078f1b08b44daa340cea2b15 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-140.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-140.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-141.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-141.js
index ea560ff435bde875f42ac6df46003802195c3c64..d4f4f911f02084a0f954a9475647938546e1996f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-141.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-141.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-142.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-142.js
index 67fc53a1366c57b8c831ca7445fc3c0807693185..34be239205ecf2c5c4748ddb5b5ab9714f9ac9ce 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-142.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-142.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-143.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-143.js
index 887db673a28c06dfc4d27771e36d38ff90a39795..881366ebb486f9bf9180978d945b1584122add56 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-143.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-143.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-144.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-144.js
index 99a1cb8a056b31a8ad3b057f7512dfe66dcf6965..5363bf923a914e040412d403da35330375409322 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-144.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-144.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-145.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-145.js
index eb96f8723980378813aa4556192a726633fd05c3..f30a4755ad969e1226f2a718bf56217cd096b8ea 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-145.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-145.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-146.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-146.js
index b6206660eb4b6f3fb83d8aa3ed867246e551dde0..9977dd0ee6012f38632c8bc86fe27d65323f313a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-146.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-146.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-147.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-147.js
index 27be728fd791e6b9362dfa18145ab03b593012dd..88520b3c2f5dfbdae768711e3b51a16bbc1493cf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-147.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-147.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-149.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-149.js
index e1f830a6fa342322c0f332de57636276bf0f9ab3..91f87483de76c195b9e672d773b76a54b6d7d5a4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-149.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-149.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-15.js
index fd49b80cf78d130c09189966de1a77e6c4a9eb4d..d83c7c59a9f6de335149cdfa7295c856efb3a0e0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-15.js
@@ -41,4 +41,4 @@ function testcase() {
         var newObj = Object.create({}, argObj);
         return result && newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-150.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-150.js
index cf62fb7db80c6fd33bca9590e969724fd311a4c1..6ee243b3424d2eb3232e427b602899857baf846a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-150.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-150.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-151.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-151.js
index f93fd498cba9a79a5eabe94f09a46d50efc901a2..af31a44411cedf61219beb4fde7d4a8ead53eb92 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-151.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-151.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-152.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-152.js
index f7d3e0f079aa23c385d1620b49844cc2d2982a07..959f39adf59016eb2cc2c428cd21c73d3324be65 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-152.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-152.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return newObj.prop === 100;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-153.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-153.js
index 6e4d3ac362526ff9d8ce343fe3913587c99edcf6..b04ccd5bf628f49ac8ac52261b2c38b1ef7911eb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-153.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-153.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && typeof (newObj.prop) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-154.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-154.js
index bb0b94bd852a2e34a665b49578e680dcadcc82d2..474272d6a57782641bcacc11144bce582f720f6a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-154.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-154.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return newObj.prop === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-155.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-155.js
index 0d8814eddcc1f8f4c1d1b3e09c3fae3c3093f2ef..006aab930ee6cc4e53f29c8b8c35f0cd4e29490e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-155.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-155.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return newObj.prop === "inheritedDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-156.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-156.js
index a968a330d9ec20c32ac1418e1c61fc9f7980dabd..ca69d03bcdc30447c7f87354e50f50c0ec56543f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-156.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-156.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return newObj.prop === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-157.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-157.js
index d1df6a8a7a5966ef5343ba4e4b04ab68e4149b7c..059d81837358477c14ef614849baa4e8bc74f043 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-157.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-157.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return newObj.prop === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-158.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-158.js
index 21b65dfb2eeef5a0ca6bbc2e1e20b650dea0ec6f..543aeb33e879da81560d151d25a09f156696679c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-158.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-158.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return newObj.prop === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-159.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-159.js
index 4ccb5f768a865b0d5787ae7b7ba42a8c851770e8..88e14807765adb77a59a1e42270e43ff9a40a422 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-159.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-159.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return newObj.prop === "inheritedAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-16.js
index 276b2010c019930802647fe9aa7fb7f88ef4fd01..5d4745988589121aacebf6a3db0b9a0484ef0933 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-16.js
@@ -31,4 +31,4 @@ function testcase() {
         });
         return newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-160.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-160.js
index d77da0706c3820a75fffbed9b8cd99a65f1edd9c..4f0564f9b7048e7bfd4905e6f61d52e5df64b23d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-160.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-160.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return newObj.prop === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-161.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-161.js
index 1c65638230d49d8f38658250f68d9b33c5c22f7a..2030bf8be087223a8d60d291cd07e7e6e1867dbf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-161.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-161.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return newObj.prop === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-162.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-162.js
index b0eaf23306efa2fbaf32558bd391ef0edbfd87fc..379327c00d0ade5845fa119fb53af0d9b56b6c78 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-162.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-162.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && typeof (newObj.prop) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-163.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-163.js
index 56132308c282724f03363adbaafccd68ba5f0120..b9601d587bd99aa500190af66353948231115878 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-163.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-163.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && typeof (newObj.prop) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-164.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-164.js
index 490676254f822700b7b4b1b04c454a3b6884d412..d8ed8e900bf09cae9334ba01aa760257aa481dad 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-164.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-164.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && typeof (newObj.prop) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-165.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-165.js
index ef0c15ac8862d10e90ae2da71b581f86fb19d5bf..04fd454c6a5380d7cbaaa22227ad616074af2180 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-165.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-165.js
@@ -38,4 +38,4 @@ function testcase() {
         });
         return newObj.prop === "FunValue";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-166.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-166.js
index bd99bbb11a6a4053d81e10aa4e729667b1f5458c..be07c29ef07d76ab8bc29cedf72b28d5319c7933 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-166.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-166.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newObj.prop === "ArrValue";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-167.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-167.js
index 319f1198f5c30ce78eed975e3083503d2a407cc4..0663ae30f0eee2f0f27322335d5536e89b27c226 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-167.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-167.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newObj.prop === "StrValue";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-168.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-168.js
index e91b363610303a057df6cadb3aef81a3166db0b8..ed03cc5cc4b3a4f0a152333295270afdcf2ba1bb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-168.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-168.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newObj.prop === "BooleanValue";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-169.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-169.js
index 151d433a3da4dc4bcd19c66e2d01009fee28982e..c7c874a986e5ae397360c02ed4e5305e728cc67a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-169.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-169.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newObj.prop === "NumValue";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-17.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-17.js
index 28bae6c820f2a1c5228a0364d8a783b24fafacbe..9ce3f6f54dd49db7b09648644017c3ad051a36c3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-17.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-17.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return !newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-170.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-170.js
index af9674d10f927e5e86666b155ddf6a8e8c2cb59b..32a83d5180b53c04d8f00d9dd6f1c700f1680a4d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-170.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-170.js
@@ -38,4 +38,4 @@ function testcase() {
             delete Math.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-171.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-171.js
index b6abc80f17aae525bc42f0e33154a199cf18f7f0..ee38c52f0231fff92ecaa345007dfc115b9fe7b2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-171.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-171.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newObj.prop === "DateValue";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-172.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-172.js
index 79a44b2353c2861d9c7423554df0d0a048b5beeb..6a1fdcc65b87f9b78b1a03cf349299286e29a335 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-172.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-172.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newObj.prop === "RegExpValue";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-173.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-173.js
index 3a34dc626edc160759e8e5633ab7b4863ec94d83..687df19dd592879ea5c0d3e84b17998906d80b96 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-173.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-173.js
@@ -38,4 +38,4 @@ function testcase() {
             delete JSON.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-174.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-174.js
index fd1fb04aefa1f90bb112c4d9de4a9f184cb2e98e..80ca118d19ada1aa9ec8bc8315266e20cdb62f8e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-174.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-174.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newObj.prop === "ErrorValue";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-175.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-175.js
index f5cb4f24b6a17130071ccc54c743e59a3d4a0639..64dacd2841aad344a53624de2e2355042abc370b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-175.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-175.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newObj.prop === "ArgValue";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-177.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-177.js
index 6df74304dc42e32275ab031931d85e0e6f41c961..e93f75a75ba4929b96353efb0ea1e0e33e90d8b1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-177.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-177.js
@@ -38,4 +38,4 @@ function testcase() {
             delete fnGlobalObject().value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-178.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-178.js
index 85a8f5f1981a67576e4aa35500a3f7684c260163..590773b9d9c1b3d23a9808f6c845751ad54ca336 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-178.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-178.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-179.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-179.js
index 4c66f534452324f8b2b23ed230d52ba975a27a2d..49049dc29a59cadb7917059941b5571aa2c5993e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-179.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-179.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-18.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-18.js
index 72145e5d6a8fefb450315080febaa745bf1ce9d8..3855061869213cb158f9307ac44fbcc3969d3f3a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-18.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-18.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return !newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-180.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-180.js
index 23ea256009f7d6191e5963b34ad05d6ba89f924b..92475d79c26e5f5a5ce46549346ab918558d2dee 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-180.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-180.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-181.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-181.js
index dabc873b155a2c900e38ca0b379e280dca619b0b..70f01905e4961b91207a4ebda607cb24e1d7cec1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-181.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-181.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-182.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-182.js
index e3716a008f094aa5bd7d13aaf0d788e049315902..18b33180751f7e69a780d5407ea635303cc858d4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-182.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-182.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-183.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-183.js
index c49551caff1d25c7408db766bc9f11063184c021..525166395ba23e28c3fe74e1a1e6bb77d8e0da7e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-183.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-183.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-184.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-184.js
index a77b0c2e3985e78e1355002389b26286f26a9605..807d2ec072f8b16ed9a4ae19133852604936cc9d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-184.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-184.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-185.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-185.js
index a104f96cfefe11e895abedf70560325d184a741f..8592177ced2447d344916e913e05b87050088676 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-185.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-185.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-186.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-186.js
index 8da9ef845c4f0b85e0f501a29fc5bef8b4db0846..f826a0326be7684ef267a603f023b0f2ebc18c4b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-186.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-186.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-187.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-187.js
index a23ceeff058146113bb132b15e86883cbada6d04..77993b189a259ced39c88db9b0bda16ba1987eaf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-187.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-187.js
@@ -57,4 +57,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-188.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-188.js
index 979f44ece4d92a65904d1ea96bc3de0d00b98a41..738f0bc69a397ad31ca4539c330f91d3601b9f8a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-188.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-188.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-189.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-189.js
index 50d7f7555c32af1338d32975a63bfe04a43c5ce5..cb166a48edaedccaf020e0afb061f643d002e297 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-189.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-189.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-19.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-19.js
index f5307d74217ee031e57e3d751ea4bd9551c46978..11cd5b1ebb654f97e694d1d8ca54833ec16dac15 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-19.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-19.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-190.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-190.js
index 37c90cbbe3ca19a690b40db5b20c8d896f3e233b..b036898a55061c78bc3ff0344eca0eee4f492730 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-190.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-190.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-191.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-191.js
index fa8f290d1afbbd5de91cf2f4ca75d66659b8f5f6..fb09170b0ae2939aa2f45fc2a3da81be77c7f793 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-191.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-191.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-192.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-192.js
index 6daeb172ed6a51ece2976637f8b7fe9998ef58ee..7709adda7b019f85b81f5a6ba352d39a530c0af0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-192.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-192.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-193.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-193.js
index dd0b74f60ce1ecb33587da7abb0406848fba8363..7c50143109fa953adf58c0bb9c55fe284626fc0d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-193.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-193.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-194.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-194.js
index c320e8866d3f83f45f6c1de689c0cc843395889b..f1b5e96e5a0e34639db6a9bb69f35418d0637466 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-194.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-194.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-195.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-195.js
index 0fb464e9ae89da9a50d50cc8ab7ecbfac2990cdc..0d774fc7b0b8b6abb29a3df6f5215de9dab09b70 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-195.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-195.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-196.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-196.js
index 18275c1004362d456139a9803bd628cb37e525fa..c359524c3b29174f58b3a1dc4efb1fc5a61f488c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-196.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-196.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Math.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-197.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-197.js
index 240b2d0f474a2075fa6cd05c753bd684e31ad764..925052ea67df7f465e1c6e72b7e64b40dc51f73e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-197.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-197.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-198.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-198.js
index 4a81c7455a9bdd6c826617e6ae8f90fd3ce344a6..6784cab4d38ff3cb71791c33a7f213c6554838d3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-198.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-198.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-199.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-199.js
index 981cac0e8feee9cf833e6c495533ef0aa5c4da45..0cc542ba0c414a54a9548b19e156dd45f8e111cb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-199.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-199.js
@@ -44,4 +44,4 @@ function testcase() {
             delete JSON.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-2.js
index 9617a21b90208f568e661dd5102447847b6ffa85..9fa1f584f5f116cc575309ad10c8d444f0a812b3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-2.js
@@ -29,4 +29,4 @@ function testcase() {
         var newObj = Object.create({}, undefined);
         return (newObj instanceof Object);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-20.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-20.js
index 34a2d55df28cf78bd1e1d42448debe541ec1019a..2c9c38cf3cae0a8f4ef14f58dc152138a0f68f28 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-20.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-20.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return !newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-200.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-200.js
index c33c3e9cbb26eb7fad5e1f41db4de68fa32b7ab7..5c4c810d732551919d2038599db46b46c63cabb4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-200.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-200.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-201.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-201.js
index 48ad2890ebe9b588e59061f9672893cf0032fedd..52e527edc02d6b9f5d73d2889208e13909055a70 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-201.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-201.js
@@ -43,4 +43,4 @@ function testcase() {
         return beforeWrite === true && afterWrite === true;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-203.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-203.js
index 02422a1cd0cafc3704566025d2e6f949ca4c3698..a7109dacf15b331fe0be53e8879e9435c80c3cba 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-203.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-203.js
@@ -44,4 +44,4 @@ function testcase() {
             delete fnGlobalObject().writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-204.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-204.js
index 20c42d9720887efa04ba2b483390f48a1eb547ef..f4630f20e9d175673c1198f620d9603a1164df11 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-204.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-204.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && typeof newObj.prop === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-205.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-205.js
index 59cb87e65c8294053845235856978403d364f165..ee6eca11d3c49c6942761ed60196fa3c82c380fa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-205.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-205.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && typeof newObj.prop === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-206.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-206.js
index e8b091ac60629d281fe561894d2cc473a0314901..38b8c1b323e2a55a0f999028b1b112162833e8bb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-206.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-206.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-207.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-207.js
index 678be05219d70979506f0df1d9e0e22c74a80920..eb34998e60aadb53e95e218e3572fa27a08f639b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-207.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-207.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && typeof newObj.prop === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-208.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-208.js
index 57d2c1a20ae5d9ad638a9795516994a16f7056a5..d04d11ac82a36bdd178fcbce8fca856a7a796dba 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-208.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-208.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && typeof newObj.prop === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-209.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-209.js
index 93dca3aa593ec6fbb658479c65decab39020a6c7..c84c72a9be69a52bededd7dff63d9fd9fd1f7652 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-209.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-209.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && typeof newObj.prop === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-21.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-21.js
index 9c34256fb3357dbe5a47afa632ce9c7946d6a5f5..b07b1990706a4b8a1bbb619205c871b757874516 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-21.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-21.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return !newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-210.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-210.js
index 08c25d92c33c1e78767acd032c11a042c5e24456..9f56effa39b968b9020b80083b7b207ad7624ed9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-210.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-210.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && typeof newObj.prop === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-211.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-211.js
index c67f3656fb2445c29464c7bf726ed0d084c65a2f..1ed601188643f68853ebe1386fb0a8df224baaa0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-211.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-211.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && typeof newObj.prop === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-212.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-212.js
index 67e5e61c2fe072b422244c562c5f1c347b0d3356..3338c1e2b456735eaeb2285269746b3191b2dc92 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-212.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-212.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-213.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-213.js
index fd1db16074854fe479817c7bc910383e0fec523f..3e162a59baf51872e44752062abd7586773cc6bb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-213.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-213.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-214.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-214.js
index 92c0a29b2279f337d58da7e8c8b473470b856294..9c960b8bb454d01ab5342f6d1a7ee7488276f490 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-214.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-214.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return hasProperty && typeof newObj.prop === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-215.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-215.js
index 6ec91de2718af8e10e613f7b628380f70c62cd82..8af2be4efcf34551bb705c6beb341163ade978ab 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-215.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-215.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-216.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-216.js
index d1247324426d79cef139b35858d2f6fcbc5825b3..a59a218579042c8e735f7cbb2dbbe4978624dad5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-216.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-216.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-217.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-217.js
index 3d58e2caf6936f796514bd479dfe7edcb6ebd5eb..cd032d43651736db97340a61bdef35d63e9ffda0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-217.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-217.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-218.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-218.js
index 7bc1879afb6db7d9e2d6a6f0c4cafc2ac46e363b..c119783039ac3d1065b369e0518aafd60814d5f3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-218.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-218.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-219.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-219.js
index 4c3ac6fe8a7850edab61e09551e21fe7ea2bb21d..bfe8f9c0683fc7626fd228e6d122d3783fd3a079 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-219.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-219.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-22.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-22.js
index 19e6603fabbc8fcd91fbb8fb7f8b8979c8c17c53..498fbd1f39b8257797b22880cb2e0578e8ba540f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-22.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-22.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && newObj.prop === "bbq";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-220.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-220.js
index 1afc58de607311e58e89e32973f1e244a0eb44c6..ce5f8d395a1f78bd7d9f3757b3954c48a1c0e884 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-220.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-220.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-221.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-221.js
index 94dd4a48bbdbaf6a2d9d4af4b769e34ad4b43447..42a52e2d7f622a2b9345cee06b19e4fe05ad730b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-221.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-221.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-222.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-222.js
index e6f16ba86f72cfe096531929bbec99bd8e6057bf..b51029e9753fb46748aa217b19a9db0e4226e724 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-222.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-222.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-223.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-223.js
index 6522827e014a6c6fb045883a55e2106df2db2e69..d810ed98f16ce648d94c99415d7dd8123f395b99 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-223.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-223.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-224.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-224.js
index 846cc2e1ff2b0b3a5586842ee4dad69bc8b9724c..7fc6738cc2cb3051737a1e4a1eabf450b2203979 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-224.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-224.js
@@ -35,4 +35,4 @@ function testcase() {
         newObj.prop = 121;
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-225.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-225.js
index f27cd34b2b0e9c73ce061a21464d973791471e6d..82ea3c5c22dc80044d8352c462bd053f81576572 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-225.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-225.js
@@ -35,4 +35,4 @@ function testcase() {
         newObj.prop = 121;
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-226.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-226.js
index c7592c8cae69a208f07606ff38491679970e055a..68fe7697ee9349b288420dd7a7ec48b606ca80f1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-226.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-226.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-228.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-228.js
index 83db61d2c98219eb8308c82e3b2cf9b27dede175..8930ac2c0eaa5fe0c8023b047f656868580c96aa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-228.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-228.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-229.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-229.js
index 59b2b1986dc572c4231b90162ea06fee7c4914cd..753da675eaf0e34a7cd9c4c49d2566a9f74013e4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-229.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-229.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-23.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-23.js
index 61afbd370b935f101dcb648900e017e6e7bd7deb..8b2a96169060bff2ceef3454db01ebd1f9ed6fae 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-23.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-23.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && newObj.prop === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-230.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-230.js
index 5897d962ca2a6e9884a620a72ba6513098cbd46c..fefa470b9254141dbe885e304dee06a4a08d9841 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-230.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-230.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 121;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-231.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-231.js
index a396eba6ebb0e3bc064d488c42412aea9f97340f..8b4fe79b4703d464f560cf2112adc4d746f801e2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-231.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-231.js
@@ -35,4 +35,4 @@ function testcase() {
         });
         return newObj.prop === "present";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-232.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-232.js
index b8847f35dcbcf913fc23d3eaa2beecd9bd55f514..aec43633f6c2735649ed43860a852b3089004be2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-232.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-232.js
@@ -31,4 +31,4 @@ function testcase() {
         });
         return typeof (newObj.prop) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-233.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-233.js
index 537a0cb4710e87e4f8271f45a11e94de397b1159..454ea11b48aa4f36c67f205d24446457452d46dd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-233.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-233.js
@@ -35,4 +35,4 @@ function testcase() {
         });
         return newObj.prop === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-234.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-234.js
index 318c37fc5f32a16168f180627640849459deb59f..d8a601843d978e23d283aa71bb3883598b141d06 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-234.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-234.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return newObj.prop === "inheritedDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-235.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-235.js
index e0097e3f6747a2561c6ed7986eac6b767a7a2484..7459cae909ade3f90b958090e17040d50b227bbe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-235.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-235.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return newObj.prop === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-236.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-236.js
index cd6f849a0af11643df1b04bb9cfd7a612b3bc39c..f28fc9ae73de5feba7c005431f38e342046f55a5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-236.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-236.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return newObj.prop === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-237.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-237.js
index 0ce917a2eef8ea7f9bf24db5712c9ea294c8d4a6..f600654df57492dc4e79da14e73e996a5a053c77 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-237.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-237.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return newObj.prop === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-238.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-238.js
index cd8cfcd1f4c92174159376d88f090bd32a5b34c8..a7919465cf1d9744ed9eaadc93aa3ad1c74ecfa2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-238.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-238.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return newObj.prop === "inheritedAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-239.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-239.js
index a9f30a3943da1ebf00cf55f872924dd6a7c5190e..75b62c67acf9b5c19964b32d3ab51fdadc5e96de 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-239.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-239.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return newObj.prop === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-24.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-24.js
index 096fb11772ab48bf97f93d2a211624e1b2f2f99b..3cc1d819658627b7ccc9439ae5481e59e6769d6f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-24.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-24.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && newObj.prop === 9;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-240.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-240.js
index 006ab27bf2bc231a535400648cf73838ca9aaf92..70b78d492d4033c80b280c7b708995f36894ecf1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-240.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-240.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return newObj.prop === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-241.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-241.js
index ab5a3111ce1aaaefdb8da2382415458116e4de6c..4246228328ded4fd653f5a119c8634e33e3c43d6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-241.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-241.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && typeof (newObj.prop) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-242.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-242.js
index 8da5d0edbb7bf256466f0ca35a035a66a8101a69..01edc736c923e9c100cefed034c71684e2fa6685 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-242.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-242.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && typeof newObj.prop === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-243.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-243.js
index b97f51e0c5d39327743ce729e22243a866386143..9cef0e50947755a84ff9ecd23abc6210c0e7c609 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-243.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-243.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && typeof (newObj.prop) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-244.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-244.js
index 924b807ebdc182d55fe720d19dd92f439ff7c477..5842f909178ef54686ebb81ebe4551a204c94888 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-244.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-244.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newObj.prop === "VerifyFunctionObject";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-245.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-245.js
index fc33f9edde92ffbe77e294289dda113e7cf972a2..0a26d9f4f489727dd71e7b00a50adfdb73bcacd6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-245.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-245.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newObj.prop === "VerifyArrayObject";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-246.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-246.js
index af53130beb0634331729e33556dea797190313fc..53e9db9827a6100d4010209c2f4db2448ca4850f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-246.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-246.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newObj.prop === "VerifyStringObject";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-247.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-247.js
index 62a15db3b7c564e5a279f6909c78d81c9b74cc2e..e69215d8a4e3c390bfa6fd016e93db288407a1a6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-247.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-247.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newObj.prop === "VerifyBooleanObject";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-248.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-248.js
index 8135edb440b7f5362a46a400610a0d4fb4b0d780..7539fa566e5291b88103c9243d95d030addbad3a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-248.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-248.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newObj.prop === "VerifyNumberObject";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-249.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-249.js
index ed20e50fc4627a255ad0709c6cfa34fcb1b69fdc..ba17440433c4e9f13a38a7f889abec0538e51d2e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-249.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-249.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newObj.prop === "VerifyDateObject";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-25.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-25.js
index 18e40c196df01cb8e7d487db495fa09dae454b9b..145de99489ea134a283a55d5a62dea01e667a7a7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-25.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-25.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && newObj.prop === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-250.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-250.js
index 2864b752403d23b6039a8dee8124134460230098..c640f71b450297d9927c7a42e0a9df17dccb61c0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-250.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-250.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newObj.prop === "VerifyRegExpObject";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-251.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-251.js
index c4638d62fd8360fdb7d8668686573a68111b1abf..9a8eccd312cd08c26919840aa30bbdc82132333f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-251.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-251.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Math.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-252.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-252.js
index 5f9add604741a3fc83b8332209eb19bc4069535f..b28e966e96f8ce0a2f940c15f8a3c28a60ade651 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-252.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-252.js
@@ -39,4 +39,4 @@ function testcase() {
             delete JSON.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-253.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-253.js
index 9fd644190122c83fdd5fe2cd3beaced8a77a4b76..8d8fe52ac9897b23e8473910f7fa07a1343657a1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-253.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-253.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newObj.prop === "VerifyErrorObject";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-254.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-254.js
index 1d76932eb7de28440f24c9165af83e2b9d41d1f8..a0bed6ab772f02b5b5ec0c5de884231cc02ea252 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-254.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-254.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return newObj.prop === "VerifyArgumentsObject";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-256.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-256.js
index cc868282cb8721803730375fb35c18945f4714be..f93c334b7fa54116e63b9012f8a3633fdfec6fe7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-256.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-256.js
@@ -39,4 +39,4 @@ function testcase() {
             delete fnGlobalObject().get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-257.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-257.js
index 9c0f284e67d99a1d04ca9af01aa4faa33b820b11..f86be050355980500959cf5d8627d25698e0a87f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-257.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-257.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && typeof newObj.prop === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-258.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-258.js
index 814d650f75c45358a462ae8d1eceb8ab865f8227..47ce31e9251f99a5aeb29822da3d3b0c6cc64e32 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-258.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-258.js
@@ -37,4 +37,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-259.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-259.js
index e00c814ea5f308320edd4243ad21a39630a925ba..9f038e24431cbf7a4bdfa6d6f543abf2af7343f8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-259.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-259.js
@@ -37,4 +37,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-26.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-26.js
index cec9050d391cb57ae477d9972f75f34f451197b4..e9b44372b460afe12903cc9d7237cd90bcbeb805 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-26.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-26.js
@@ -39,4 +39,4 @@ function testcase() {
             return ex instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-260.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-260.js
index 2f54ef8cc029a83acb9670e64eeb19a56e5a26cc..f0624f3f9b1f53eb38a0b2f2b776a96b35e8f501 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-260.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-260.js
@@ -37,4 +37,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-261.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-261.js
index d6fd4f9fc61820310e23253e53a5563781944116..0401ff2cc35a8a0fddb90aaf36cd36ac1062f21d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-261.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-261.js
@@ -38,4 +38,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-262.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-262.js
index c9a615bc4d0ee02042781564726c831a1dda2373..0ed5e6e01ad4d12dbce5ab0700d1257422db36af 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-262.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-262.js
@@ -37,4 +37,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-263.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-263.js
index 0034415ba794055b744032d2f6a385a8787c292c..5fb78627e41c5a54acf41435c39f71e2eba7a407 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-263.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-263.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && typeof newObj.prop === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-266.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-266.js
index a17df71f2928349f051975479c90cac4e485da7b..f6d130cf07c6a303c89adfd49606374aa3762ac1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-266.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-266.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return hasProperty && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-267.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-267.js
index fa43dca17a7baa5ef9bf96bcbde627d8be4a072f..1dae6baf841b0bd844139c15408d164cc2878b31 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-267.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-267.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === "data";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-268.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-268.js
index b00681da00023a5f4bcfd06ce2a7e1a51308493f..dd1655d738ce7c6c88eafd4d1a85830ca7f97c50 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-268.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-268.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return hasProperty && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-269.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-269.js
index 2998a73a642fe72e538fa670abba7304ba4f436d..3a7ee5411a71070a325fd00500b26a7b690e0df1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-269.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-269.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return hasProperty && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-27.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-27.js
index 4dd3de33a6ad0a0925ca5da942d56d19a0ad08e8..1d72613526cbbef7233f212f3aa3cbe550d2f83d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-27.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-27.js
@@ -51,4 +51,4 @@ function testcase() {
             return ex instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-270.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-270.js
index d28cb99b3e52d18686c2bbd8ba2ef2004743858b..afe548b02f339d5ff9869f40dd7c683ba6d45782 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-270.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-270.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return hasProperty && data1 === "overrideData" && data2 === "data";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-271.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-271.js
index c8a02ee8c5a4e4ad64e0a22d48c84f736c58e963..dd9f6a751117a899ab682d11046b27138e1da84e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-271.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-271.js
@@ -56,4 +56,4 @@ function testcase() {
 
         return hasProperty && data1 === "overrideData" && data2 === "data";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-272.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-272.js
index e3b542a25d3d9a3c26692751a2ab4087e3fd3e22..ac76a3d0e783b436c6eeb323f32941e58aa69374 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-272.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-272.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return hasProperty && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-273.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-273.js
index 009405d18d69f968859ae8326baa2547cc0df68f..aa2451a4d988afc0ccc0c8356d8f7b311f697097 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-273.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-273.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return hasProperty && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-274.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-274.js
index 55fe4be187563825b626e480183e486d22255406..4f7256578c2ccecced2b13f255ef3edcf2458da1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-274.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-274.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return hasProperty && data1 === "overrideData" && data2 === "data";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-275.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-275.js
index 8c4a60d36651287b0ea718f55b2b822983988bca..678f414a2e81b151161ff5613a2eb34dd2363430 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-275.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-275.js
@@ -58,4 +58,4 @@ function testcase() {
 
         return hasProperty && data1 === "overrideData" && data2 === "data";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-276.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-276.js
index 36f61f813583ffc5fed790f64f411c6a8577d0a7..aceab9a77b312cf4511e1b6823a973eda72defb8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-276.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-276.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return hasProperty && typeof desc.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-277.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-277.js
index 305d05b53f97558a46e4d3bbcdde3f1dc505c2a8..1c671aa6e276300dd06b235cf5c543dc8ae61dd4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-277.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-277.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && typeof desc.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-278.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-278.js
index e6296e9f471a97698e0bf3adb80be616b94a91c3..413f70afb8857f5fed37d301fe61be8e852c0425 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-278.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-278.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && typeof desc.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-279.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-279.js
index 74571b4cef30da4bd554c9ce322080bb1cc2bfc1..e7ba747e8f8dc7e60642b5f67198e08bc6683557 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-279.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-279.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return hasProperty && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-28.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-28.js
index 6dba32e365c921a8484876ea2f6d222fe8c77c1a..a6c80aa85efc9840dd4b66252b0de362c2298461 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-28.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-28.js
@@ -34,4 +34,4 @@ function testcase() {
         var newObj = Object.create({}, props);
         return newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-280.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-280.js
index 8926bee3381f5af107207e1977afdb20a3a52723..d5481219550534db3f9c8eb0aef4971ba70b275c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-280.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-280.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return hasProperty && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-281.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-281.js
index 4c84dddc6559f00f53c47d088c4b31c9779567a7..be5bebf28e6b117c05c7cc1fb1cb9b035418dc82 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-281.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-281.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return hasProperty && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-282.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-282.js
index fba0de94087776d6aa822e423f438dbfea03a8b8..8824a855249bdff7d108a8242b8955737bae93ce 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-282.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-282.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return hasProperty && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-283.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-283.js
index b8f017a78cb781763c8406fde60fdb8f00eeea22..9f02f0c83e4df4bb77d723cf65c4c35149ee4e16 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-283.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-283.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return hasProperty && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-284.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-284.js
index 78bd8cfbdd4bf5b1f9785be0cf1236583334df19..31ee3f994e0aae1edfd6095e8af66f25b931d312 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-284.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-284.js
@@ -45,4 +45,4 @@ function testcase() {
             delete Math.set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-285.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-285.js
index e12e8e4355f402f16846304ea0d05740d35f6df2..e12e4d04f88d0da9f3fc854ef064121ed7f97e4b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-285.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-285.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return hasProperty && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-286.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-286.js
index 664d6044c9fd3c7ed87a9df2037c2d773daa2fc6..c2de269e4aa373f28e7597c52a91b832716b00a9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-286.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-286.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return hasProperty && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-287.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-287.js
index 4fb5b7d751cf3f143ef6e73eae431f05f6ea18ca..ed05deb596a7f57650b0734bfd6ee9f576839759 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-287.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-287.js
@@ -45,4 +45,4 @@ function testcase() {
             delete JSON.set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-288.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-288.js
index 82a079b1b55e2eabb8947de2b88e28386bac41f9..fc09c55202eb5646a5143943837d135c60bdc7de 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-288.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-288.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-289.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-289.js
index fd15d3ea616542268a92373f430881280c2078e2..c1ebfc4c60c8f169729d34c8e662e3d4d4c2f97a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-289.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-289.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return hasProperty && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-29.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-29.js
index 7c520de411570edc4bb68a20e809fdce8f78ae9f..1f741718de046ed9aa4d677dffd642abd88bff4f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-29.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-29.js
@@ -34,4 +34,4 @@ function testcase() {
         var newObj = Object.create({}, props);
         return newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-291.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-291.js
index 5e7ca8866770018741de9cb2c289357a2678ee34..ec05c4e10db649239cd07b07a027899c032b6132 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-291.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-291.js
@@ -45,4 +45,4 @@ function testcase() {
             delete fnGlobalObject().set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-292.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-292.js
index 6d8d614f39acd5fbacd930011dad9a73108c80e3..0f6e9298715ba8a2d979f21f9ec40edf2d4f308c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-292.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-292.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && typeof (newObj.prop) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-293.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-293.js
index f58967f74a7d3a26fbe53bb2dace0f064e6c2a9a..aa1f60d6d8822fa831111f78a2da2824c12dde3f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-293.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-293.js
@@ -38,4 +38,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-294.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-294.js
index 8903d38a080492ccd533df8e911a87bb78e26d4a..de12082594208ec9355089de21f3c14cdc4ef11f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-294.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-294.js
@@ -38,4 +38,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-295.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-295.js
index 3ef9004364a2f3142c48ddc9075c9fb43a684119..ffe1c713d96105e6c0ea3fbc23e95ea9e33866b7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-295.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-295.js
@@ -38,4 +38,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-296.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-296.js
index c3f5030cf82d6700dee0ac53e76a0b3a30638bf7..5c2554556fa8251d1cc0c1b9b7653365a8372666 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-296.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-296.js
@@ -38,4 +38,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-297.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-297.js
index 1b3a3a3f7a7c36c0a5fd51d7d27a7bfe2ea174c9..4144d22989706861a1c2e58d7dd0db0dac2d4a82 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-297.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-297.js
@@ -38,4 +38,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-298.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-298.js
index 59b1402c4d2a425fa0899a9e77927e53d16ad371..0b4ffe7a56eb092f726414301336f211e02acaf8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-298.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-298.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-3.js
index 5f628ae57ac4dbfd2d0884c76800b773855d1c87..531306f3f0125888ed6197e2abe6d5e39159d19a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-3.js
@@ -33,4 +33,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-30.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-30.js
index b3ade3c5944d37663cab586a8cfed7a6d3470e0a..c248d084adc58b68545df856a78088c6c1c6d105 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-30.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-30.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-300.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-300.js
index 13d1d0de0e24a263f82753e2828bfdf94b42bd41..4f9359621d2f64aeb2d66f35c0d1cff91a0ee7b0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-300.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-300.js
@@ -38,4 +38,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-301.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-301.js
index d1abc57d94d972e33ffd2b5072a798181e9f26e7..1502092b2afbeb6cbbed12b4926cc4b7ee59d670 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-301.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-301.js
@@ -39,4 +39,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-302.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-302.js
index 2bf803852efdde08ed5aab72046e454885f8279b..01d37127b4e9d7ff455c8ad73e667d89e624116e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-302.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-302.js
@@ -39,4 +39,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-303.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-303.js
index b56ba1e0c153f386cf9967536bd169d15dabea6c..606185405ee93f538254d73fc8b706091992a6bd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-303.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-303.js
@@ -39,4 +39,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-304.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-304.js
index a865d1ae4cf0011f195d5d40233e29be44fbe8a9..fb22f424d978e4c7ed0845fcf7711d4d75999879 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-304.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-304.js
@@ -39,4 +39,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-305.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-305.js
index 448709ffd106a2e6e0a4893b58336cab3149272d..f2b520e741c387024b3cbca53ce3c2994455334d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-305.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-305.js
@@ -37,4 +37,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-306.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-306.js
index 2ca841c3d3c725095f6527299f95d1552e68969c..566d8bc423007c74460c9ec9743c7743cc1b58b8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-306.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-306.js
@@ -39,4 +39,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-307.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-307.js
index fc3f5ea97fa02b82f94a1789c6babdb777efa8e1..c8df3afea3582c96461852697376c8091a32fd16 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-307.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-307.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return hasProperty && newObj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-308.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-308.js
index cad0e51f13637c90d64bde1cb4b713af629269fe..632cd5c537971f50fb8dd6ab02a54d523eca0d30 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-308.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-308.js
@@ -44,4 +44,4 @@ function testcase() {
         }
         return hasProperty && !isEnumerable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-309.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-309.js
index 65352c1d125a1e82db58413b1c3168b73f4183af..49adba1976e17eca952d695bbe0b362f670c0ba0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-309.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-309.js
@@ -43,4 +43,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-31.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-31.js
index c9be99b0de35b8ccba5de5ae9533caaabe289494..3d056c21cc58f48b0b4f0685ed2bad3cdaa2d702 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-31.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-31.js
@@ -34,4 +34,4 @@ function testcase() {
         var newObj = Object.create({}, props);
         return newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-310.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-310.js
index cedef6f746c3323cb88ceebf6b67a2d518aca46a..9305c467ebb2527c587eac44ef349842ca95ba99 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-310.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-310.js
@@ -34,4 +34,4 @@ function testcase() {
         });
         return newObj.hasOwnProperty("prop") && newObj.prop === undefined;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-311.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-311.js
index d589731102fb9f69a3859b44d6b80d2af0e1406b..500bf76f1cb9cf6298ce6c6b47795d0c83529d38 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-311.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-311.js
@@ -57,4 +57,4 @@ function testcase() {
 
         return verifySet && verifyGet && verifyEnumerable && verifyConfigurable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-312.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-312.js
index 428b58b4327b70191ea5d5ba5100bb864c1ee902..1ab64037f67cf49d177b42f09601d6b203ed5204 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-312.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-312.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return hasProperty && !isEnumerable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-313.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-313.js
index fbca9508b561589af286a5a2c8d4d98414a4e70a..187c5f74bc314f1140951ad90f329f5fdfbf0ff0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-313.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-313.js
@@ -37,4 +37,4 @@ function testcase() {
         var isNotConfigurable = newObj.hasOwnProperty("prop");
         return hasProperty && isNotConfigurable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-314.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-314.js
index dadc4499bb4a9abc9a6bd9ddb4cf3e65e342cf77..ba7b3b6c323f4e184d1906205e009c645f36b094 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-314.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-314.js
@@ -31,4 +31,4 @@ function testcase() {
         });
         return newObj.hasOwnProperty("foo");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-315.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-315.js
index 9c3979a9c8aa51edf02b02835536d6fb83db3df3..f6c8e4abcd74d461f7ba4dda57b614ee42cb34fb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-315.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-315.js
@@ -51,4 +51,4 @@ function testcase() {
         return dataPropertyAttributesAreCorrect(newObj, "foo1", 200, true, true, true) &&
             accessorPropertyAttributesAreCorrect(newObj, "foo2", getFunc, setFunc, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-316.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-316.js
index b4e8da5965905137680e413ae6f141bb02e55ee4..61c9e91feb05edf219994df2b25152b9f6abea2f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-316.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-316.js
@@ -53,4 +53,4 @@ function testcase() {
         });
         return newObj[0] === 100 && newObj[1] === 20 && newObj[2] === 200;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-32.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-32.js
index e73273e6c33b60deec2400472b918641cbbf86a5..0d6ed694b41bba399cf0dbb086163a20b8d4ed7c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-32.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-32.js
@@ -34,4 +34,4 @@ function testcase() {
         var newObj = Object.create({}, props);
         return newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-33.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-33.js
index ebf47674146116d1ec5c7681872c2441528806e3..d9eb87dd9590104d1cd231d1359305535874cf2b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-33.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-33.js
@@ -37,4 +37,4 @@ function testcase() {
             delete Math.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-34.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-34.js
index a67a332cc5d4e1e2a403b6a36c4744ac26c932a8..2741a7fe9f4f418558c3e50522afe7a86455ea6b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-34.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-34.js
@@ -34,4 +34,4 @@ function testcase() {
         var newObj = Object.create({}, props);
         return newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-35.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-35.js
index 5e812b5f37a7dbc0fbbae951ca61272e73511794..44290f6410aea9b7ce5866342f3f1415e46d730a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-35.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-35.js
@@ -34,4 +34,4 @@ function testcase() {
         var newObj = Object.create({}, props);
         return newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-36.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-36.js
index 5ae87d5cd78e521bcbddff16eb6f6e3fa2bdebb3..79615b3f11f0ee9a15f3dec8aa8e1c39fb985fa2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-36.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-36.js
@@ -37,4 +37,4 @@ function testcase() {
             delete JSON.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-37.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-37.js
index b2c288b543f8f5f8cdf7bfe7bdc1d6b76a4cb1b6..458fc29376d8e32805376151c52666e4e3b6e7ce 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-37.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-37.js
@@ -39,4 +39,4 @@ function testcase() {
         var newObj = Object.create({}, props);
         return newObj.hasOwnProperty("prop15_2_3_5_4_37");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-38.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-38.js
index 3c591a57896ec3df1a70e5c35d0d5974fd1dbe13..c6b1155fe42135ee097c889f6961c0e0e9337e1c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-38.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-38.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-39.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-39.js
index 93a0c0851bf8f2c67acfa82ed2b54c40f652da2e..dcc4bf0112aedbc6c0ae8c99430cfeca35c43472 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-39.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-39.js
@@ -46,4 +46,4 @@ function testcase() {
         }
         return true;         
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-4.js
index 1e93758731ad66b799a4e64dd9b9a2eef18ef184..d89a2d66518ae9ed90abee946b8b75003d9559bc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-4.js
@@ -39,4 +39,4 @@ function testcase() {
         Object.create({}, props);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-40.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-40.js
index 9faeb0214af5c4da2b5649293443ceba23162a91..4faef8c5d1734a771c4253f8cb6fb7af6e72f42f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-40.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-40.js
@@ -56,4 +56,4 @@ function testcase() {
             return (e instanceof RangeError) && !newObj.hasOwnProperty("prop1") && i === 2;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-41.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-41.js
index 3603e2d6fe6056ea478dee5ccb9b3fd57f9f6dee..401081ea28bdcf92745b9c6ec637449e880740c3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-41.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-41.js
@@ -35,4 +35,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-42.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-42.js
index 398ac9023f1a2c9dfc95f44f4a02110c53d6a41d..7f53f2f13add427ced063c2041dbdb1b94cfc523 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-42.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-42.js
@@ -36,4 +36,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-43.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-43.js
index 11384195d2599dc8400e3f3a11195eab23e3ddaa..2fed249ba24daa18332c878e865f0c3b13eb05e2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-43.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-43.js
@@ -36,4 +36,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-44.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-44.js
index 50f1d9d50f22fe8e747d1ba4b828e0d5d53e5c11..7d769edb96ac9e50e41587317fbd050d11ac7a71 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-44.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-44.js
@@ -35,4 +35,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-45.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-45.js
index 8f4af176343d0c0b1f389b4479946d2143a6dfe6..d6bdf1cedd510a5c79d0765e8a0fe83ef4d03bee 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-45.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-45.js
@@ -35,4 +35,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-46.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-46.js
index 99e688bcaff71820a4851bfe394824dd04e55107..7cbbfdd12801b44545dc8c24c2e9ead73a9139a8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-46.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-46.js
@@ -40,4 +40,4 @@ function testcase() {
         return accessed;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-47.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-47.js
index 98642b1484cddb10c91245e92da307ee19741394..4b7db7fe9a0d5fdda72f3cb578b1332b57b11a6a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-47.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-47.js
@@ -39,4 +39,4 @@ function testcase() {
         return !accessed;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-48.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-48.js
index 2b8b20c7e7fb4777a7cd45442c78b18952a1e914..4f73554f7fc4ffa596d79a5b5d49a6d0f6218e4e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-48.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-48.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-49.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-49.js
index 5a088656f77b52b386a198e5040566ff1bb3299a..975f1d5d5baa495d288015da5b343ce096b36347 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-49.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-49.js
@@ -47,4 +47,4 @@ function testcase() {
         return accessed;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-5.js
index fe351b0e71bf13cb082ba902471d2d2bf101aeeb..fe324c9aef905827e28e55c0a6de6d9d6ce201f0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-5.js
@@ -39,4 +39,4 @@ function testcase() {
         Object.create({}, props);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-50.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-50.js
index 640cdf2b038e6b097a39dde1b8ca2aca2c04205a..3d4893cb71bad67f01dca173ccb305603a6b601c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-50.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-50.js
@@ -50,4 +50,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-51.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-51.js
index 5678797426b20c39104ddec63067d34182665d92..43aead73346b463a237b5164b326f38c004ea294 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-51.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-51.js
@@ -54,4 +54,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-52.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-52.js
index b50b5f4050db057751665f0173b8648d2dadf614..d8007606328aa1ca643659af2e0dc81d30d7dcc3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-52.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-52.js
@@ -46,4 +46,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-53.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-53.js
index 61993cefa624f82d57fee4dc25b11ee8103c8fdc..575240f59cef1a2bd3f6abdcb4e2671b1c755937 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-53.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-53.js
@@ -50,4 +50,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-54.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-54.js
index 0793cb5209cb3649a4af325709de3aa2afb3f832..66a9b92b6e9ec73fb56bf81b6f10ff492d70559b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-54.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-54.js
@@ -51,4 +51,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-55.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-55.js
index 36028076023b1726c07d91b36333d34a6dc1bf9c..2ac9fa02e8682f8497ca213358eb54f6f1d52c73 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-55.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-55.js
@@ -54,4 +54,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-56.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-56.js
index f962d31227778af30d119af0f32d178546c4ee44..91b515823eba37cc102b9ebbc469cfec2d2355cd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-56.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-56.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-57.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-57.js
index 3e4f7913cc212c1be61153c95e611167259afb64..a94c3c771040e4de99490efaec959d4c7a3c0418 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-57.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-57.js
@@ -52,4 +52,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-58.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-58.js
index e28950f32e546255bc93db53b50130c07fa41260..7280689dc087b746164cabd1cc313f12d67b1dac 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-58.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-58.js
@@ -48,4 +48,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-59.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-59.js
index bdef27d5ebe4a01da2ad6cba417386ea2533ade9..34fdd68f30911713184097cc07650cddd7b97fa7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-59.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-59.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-6.js
index 32175e770edf53b91df41b477582d9a9f87b7e26..6cdcae715faf93d3236da1cb7571e1a6814d2f75 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-6.js
@@ -39,4 +39,4 @@ function testcase() {
         Object.create({}, props);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-60.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-60.js
index c0f6ae41896da944acc04116b2212c7850a5ecb4..645a8f7b539ec47a45de86adc2beb8da0b7d4cbe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-60.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-60.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-61.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-61.js
index decca1b2aaf95e695b7f6e328a34d67324d1faf5..8abf4f7d77e02738d9e8a91c21f5da1095ea02b9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-61.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-61.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-62.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-62.js
index 55b36ce69c1d7ad31d1a871fdfacff49a89e5166..51e74715dc729123df6a72625f2a1e214db7072f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-62.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-62.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-63.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-63.js
index 603e9f63018bd3b761d6ba802c0fd6ed165543ae..e863da4901180745721c668f390ed4a414388e20 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-63.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-63.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-64.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-64.js
index 67ee966bac1b54a91c4a846b2928d4657a16c9d2..45e3f8451b4d64f973c3f26c7e52337954938079 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-64.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-64.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Math.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-65.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-65.js
index fceb920628d7f925a7827ae37f1ed320b0ddaf40..0d0c296e5c64bae042bd3b46b54cde5961604418 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-65.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-65.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-66.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-66.js
index 5c35cef2d03e20becb77531a0f0ef0354b6b4e23..47524ea8e9d7d14eb2506767d2bf454fdb3533b2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-66.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-66.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-67.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-67.js
index 46198c5ba518c99538fa3cee12eb351871474023..47671ba7611d101f7583e5386f37dff22e67e9a1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-67.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-67.js
@@ -44,4 +44,4 @@ function testcase() {
             delete JSON.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-68.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-68.js
index dad1344c278a479f6e925e7b6892d12f6d98f363..6240ccdf20b0d5c4336708b19f05b9003ef08361 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-68.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-68.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-69.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-69.js
index a6df5dfd067c8b55e4495bfdd2e67d4ca2e98d10..1e858b0a76577167835a5189d9bcd1718b5eb5dd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-69.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-69.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-7.js
index 7800348afe651c5ab590dea77b11439d7de00ba1..69af16d1fac6acf96fdf9404094d9166a54af57b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-7.js
@@ -39,4 +39,4 @@ function testcase() {
         Object.create({}, props);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-71.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-71.js
index 5ab2afbbe607e14274d09db90e3708564f635963..97841cc91aa345d2c0053cea28fc0ff5ec2ebb08 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-71.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-71.js
@@ -44,4 +44,4 @@ function testcase() {
             delete fnGlobalObject().enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-72.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-72.js
index 08698181297e38ada16083ec15ab8ab06ab2d974..002414699c338543bc6cbb619d76613a0d1ad111 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-72.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-72.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-73.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-73.js
index 5decd3c72d540165d3fe33b179f0394afdf44b2d..335cf815c097793fd66b07b411fcf25982393f49 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-73.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-73.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-74.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-74.js
index e695bfc82a83a3802c9748d1d75b43dc726e2059..dd9881d409aab04f3e300bb30ddf84ce20056851 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-74.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-74.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-75.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-75.js
index 45a58abbb1046be889041d18bdb83bd7a2136c3b..1b67cd1d4e99d5a8e594828ed52ce39ac9144644 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-75.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-75.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return !accessed && newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-76.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-76.js
index ea3a2a471a06a0c09cc3a860e98caba39aa572f5..a44ec5c39fa02c97d672cc34f0a40c38d42eec0d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-76.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-76.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return !accessed && newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-77.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-77.js
index 9d28b292de7081c62b2c242c66ebd09c91f1f2a6..8b1ca27902c4a03da815df86d0e386ad0b0efc18 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-77.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-77.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return !accessed && newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-78.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-78.js
index ddec7d68f61519737a21fc73eb1c024b92457d98..aba9ee30f0f438861e9b408e2b0f58cd0e9b7ce7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-78.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-78.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return !accessed && newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-79.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-79.js
index aac553243e2c0b1192be47e799dfa8f8b7627d27..4f6c0baf4118cf7e518aa2e1e8c1fb648c854c18 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-79.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-79.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return !accessed && newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-8.js
index 85690b97a29753061108f85d6e76eba7d310432e..98560dca05094675e9e610d478dd94f6471ee282 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-8.js
@@ -39,4 +39,4 @@ function testcase() {
         Object.create({}, props);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-80.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-80.js
index 3682107909cb0c1e0a6ea437e6922885d6957fde..8e96f7c734d12fafa7067e04b36a774aa721d326 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-80.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-80.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-81.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-81.js
index 5fbc87816521ab344c4119406f67c3bc048235a4..570b403566f414e31b1561a6e1fa31633a396724 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-81.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-81.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-82.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-82.js
index 9f01e54d3aaad1100c19759803483b7fe67646d2..6fa4aa0886cee0f2d1bb9867bd0503cef7d58505 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-82.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-82.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return !accessed && newObj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-83.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-83.js
index fc6738ca986c1e8d00d2dfd4715a4e74a3f05356..b33d1338b554f49c206ca992d34096ddce407a77 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-83.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-83.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-84.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-84.js
index ffade75c4b859a6a32feb97feda9b6a4244c1b33..9e23e368f2717c89333aaf851e63e80d2e4a9b31 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-84.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-84.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-85.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-85.js
index cd1b777bb313cb5bbfab399d7e09a3b70ebb55c2..006622440bc0e33864db4b9d9e5bd22a28150b65 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-85.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-85.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-86.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-86.js
index e5ec482445bd2f0830928fa732d5f8151562eec7..99bf1d4eebb0988f2192c046b99e08c9ad34f95e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-86.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-86.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-87.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-87.js
index 32b4752079f16b0900eff646c5e4e4992a480f0d..9ad2fcfcf4a785c3f9c098382a7dee45342bb9dd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-87.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-87.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-88.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-88.js
index 19ac52bfa638c6530e0387aabc980a2c286bb12b..b3313e2580c8b69e14b79dc273eb31f878edd59e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-88.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-88.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-89.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-89.js
index b7e77375161b7958ccd649377dc6ed805976b60f..6d181c1aa955d837fa77029a21e59a633b180b4f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-89.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-89.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-9.js
index 3d03b556fa88e741a599e9b899d801f7fbed1f25..c0bbb9fa9be79a67d0556b64b4e56f1f9eb4bc50 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-9.js
@@ -39,4 +39,4 @@ function testcase() {
         Object.create({}, props);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-90.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-90.js
index f441956907fc2b31c517d7b9b4e8772e2d120ed6..cbdc922d4c4b98d7b3affacaf3b2ab0650668258 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-90.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-90.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-91.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-91.js
index d006b1888ffc1743d212e5ea6d47f1926bd9adbb..ba4b3d7812e8fc71a3e7b0968b543674a1560e7c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-91.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-91.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-92.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-92.js
index 6c4edee1fdef8bb9c70b01c79bc0c91fe5481461..3378a1066a539e953dceb6fdf3e447c2fc1710fe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-92.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-92.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-93.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-93.js
index 7853c9f0b649286160ba7fba933849444e51250c..91353026c01a87d60218f6a82d72cfa3a97333bf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-93.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-93.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-94.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-94.js
index 0abd9f85a43f1f64d15d400f350118472c5941a8..e0c72d038c22c357d346a82c634c3fd983651678 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-94.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-94.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-96.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-96.js
index 32ca2f274e78d360165de37ee7d61d08e0e2782a..3051a0c4870ac8dc8ed5700f4b575ce18ecd32a8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-96.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-96.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-97.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-97.js
index d27b04e17b052ab1255095450381c55704566360..82bdf97b5642efa729573720e9d1ee4a4a37392a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-97.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-97.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-98.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-98.js
index 35043239fcf72fb2f14613901bed531f9adb4271..8d7528ef471198c638ba6ba71bc830b7c102ffa2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-98.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-98.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-99.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-99.js
index 5c48fea1ec15ed10363da45d456341e1d53c5a22..faaf73f1255632cedf8ff3a26ae8b9e3b077981a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-99.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-99.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-1.js
index 89cd540438aa5638a9459e0c3d083600942ffaa2..f57cdb532eb726b53ccba468d8c2c6434d1bb5ff 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-1.js
index 80a5b8a7a7d916f043da9e1fe920d5187a0b05e2..8b5015c8521a6439eded7e276e63714d4287455f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-1.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-2.js
index 58c9b50a9cb90514b2a5e5ebffc7fab0ae27e022..e2a364a75e5fc560d0e6204f3a7d22f8f938e89d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-3.js
index 2e93b44b7a10d82e0d5b56c1af7e5590f7b1b9ff..fb1d3deac21a952abb9534b93542bf832b6ddf41 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-3.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-4.js
index f6425a65f6d2e1e347f0bc2603eb4f67f4b8a56f..db3ef6843a9c4028c15334305ea13116b521ba65 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-4.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1.js
index 6c16bbb878d15e7f6c067c1d9ec33c321b8590ff..80b3e9ba8576dbdc798da444f382fa0cdb9b6950 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-1.js
@@ -34,4 +34,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-1.js
index 0cf0f53ac6ab602197381345f32d7630ae8ec1d6..7fde38eb11feb5d30dce9dda2c53f3f9a89da6d8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-1.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("undefined");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-10.js
index 82b153057be04febd8e654eb9d105c6a7118b48c..9096bf623d607fff61e8aad44a3bee677c73b8e2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-10.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("-20");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-11.js
index 229e93c759afc38bda25415a4a448f977ff0d7bb..fbe120ca8627374d59f6449ec4c1239bdc069540 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-11.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("Infinity");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-12.js
index 9dd3079b209bfc5231b37c2c1b9ff2b65eb9fe7b..6d9b4f2f536717e2747be22fc1f04d9cfca61911 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-12.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("Infinity");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-13.js
index 095bd8b3a1d8aaf6ce377776e9fc8b3c552b4122..3c9030e8282b443a32f18e104dba27d08e9f102d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-13.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("-Infinity");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-14.js
index 67f930c45095fe47418a9b3254c54f1f468204d0..0a2ad23ba60b1a4bd8d358a74ee56fa14f121525 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-14.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("100000000000000000000");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-15.js
index 4e23377f7229eab8feb59e92e60d149b935939ad..a2eae03150141525cbe712fa256743f6cee4bbea 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-15.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("1e+21");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-16.js
index 6811d2d80638f0a3b34b152d7dfb23f833e69c05..5aa3110b927e332355426d015f3da0652c875ac2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-16.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("1e+22");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17-1.js
index 0ad38ebb01c468ce3bf90d8583d6534165fbb0d3..d36cbad5d8bff257542f2713f2cff73b9a5228c9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17-1.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("1");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17.js
index 84ef52cdd6f14fe8697afeaf1c03916013d49e95..72ef88bc61f58783dafacde22ca8a9daa8ca8e29 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("100000000000000000000");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-18.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-18.js
index 50c0dd5479a0bd1fe6cf0e50aeeb2546fd22f987..5101e99c63a84cc3500e621178118f9c831b56d6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-18.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-18.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("1e+21");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-19.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-19.js
index 4971ca6b23f33a2e816fbad7217b3ea8547c5392..75dbae8f3808f9eb1cac7be698250cfd342a1639 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-19.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-19.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("1e+22");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-2.js
index 112374b25252ab16f73132a95663d11938960ddf..55c0dd165ce67aeec08e283733713ada15e7f2a1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-2.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("null");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-20.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-20.js
index a0a5d196d7e47e6c7b6e67648421c78e67e4ad7f..767565b72ff71f01821dcfa09abb14224df06014 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-20.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-20.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("0.000001");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-21.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-21.js
index 2e10c0158a50d6d3302d1924ed6572d2cbca32ce..48337b7f91973ef96a67ec1b2dcf0779d6364b8c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-21.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-21.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("1e-7");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-22.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-22.js
index d0542f17d2e91339b75e7433fdefa708e04a09ea..2afe9cd051dee6034a20ed043a51462d5a91f210 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-22.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-22.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("1e-8");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-23.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-23.js
index 43c45fa855f4660f815314c257c642797a859f69..437341b35325a51244ded75f4ce3e595e008c39b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-23.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-23.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("1e-7");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-24.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-24.js
index 6ea100bb4c9608473481e8a5d575e2911133ce6d..f9d1c741c2080ac50a982a092e325fc050129fa6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-24.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-24.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("0.000001");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-25.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-25.js
index c061db265e54876806c1be470ecd711f6632faa2..f3474dd8dca123d5c7add34c19f9bef95ed2a418 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-25.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-25.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("0.00001");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-26.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-26.js
index eb277738af0592e6f6b35b63588e06aba0241854..0fb68e83ba8330b4bff2fe5efecd9388c63082d4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-26.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-26.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("123");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-27.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-27.js
index 74d6471948c154c1dfba0f9469e8787942327ea7..1e842c8b79bf142781c083e91a8340e24469153c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-27.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-27.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("123.456");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-28.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-28.js
index 800fed87a8fd064661f0b8a01bf9dee6b5e667d7..8b1d47a4df40956723013bce5ac5639a65756f97 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-28.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-28.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("10000000000000000000");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-29.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-29.js
index 01ea5c2238613e32b9e5514bb64dece39199bcb6..d440f9b43fa41653cdd26aca94d0c764f30c5c39 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-29.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-29.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("100000000000000000000");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-3.js
index 7a7d92a3a9e06ffecec06e169e186d68d12497a6..7941917e85c635e5cad69925cf2c97336b8e5a1f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-3.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("false");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-30.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-30.js
index f8efe67c6ef5e3e3942667908a922a0b7780ade6..b7bedee79eb611cf545f7604a03cbabcae3a148b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-30.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-30.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("1e+21");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-31.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-31.js
index 44737c073fa0920aba14e1c69306cad372ef161f..fb57da848baa7fb5868f9c4c8f759efe85716992 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-31.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-31.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("1e+22");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-32.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-32.js
index b55842b83488656f492af8d5baa4c38150efb9e4..fd5a93a9d18bed585306c8653a4ac617b6251799 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-32.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-32.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("123.1234567");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-33.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-33.js
index 29e028685f820039c7e556908139eab222c9a76b..ed3b95d15aa4e8338c7ce749552cfd4de0b8f51a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-33.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-33.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-34.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-34.js
index 8e5024e905f3bd65b32fae6568ed44beb384c5da..cac991b5f879bd8799b1c5e690b2b529f193615b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-34.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-34.js
@@ -32,4 +32,4 @@ function testcase() {
         return obj.hasOwnProperty("AB\n\\cd");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-35.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-35.js
index c7f207b333ffd2c9658807a5469fdadec1bf8282..e6c5131fd2569eec4c9af76c2dbc5efc8cd0bcc4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-35.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-35.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("undefined");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-36.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-36.js
index 46516a29a14400e02c6ca632ffe965a29e28bdca..9a2d572801250212bd9513c74d321e9c9c1c248e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-36.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-36.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("null");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-37.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-37.js
index ba68b72aa54f1e9c94be08d7a49d2bd398317515..323e792b4e8d87a36fb7424e9c5a7fe87700b5c3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-37.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-37.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("123αβπcd");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-38.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-38.js
index 3c71a0bb89d6ec5119bc1364f500d200994fc7a9..3abd8659d235db68e8b0b0eb18c1e3f5f970756b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-38.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-38.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("1");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-39.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-39.js
index 940cdee82c2d94d2573a31fb0b73401c2c78be3c..7a75424968db0afc8fd799cea614539606f5726f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-39.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-39.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("1,2");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-4.js
index 1c1f3ffe7b57ce1640384397f0f42ae13911b006..d3f2d613e8daf3f08e639f6728a27dc5ca667326 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-4.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("true");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-40.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-40.js
index 596f6e2c09206bcae75aad00c56ed1fb029af31b..ae37882c773a5705865eb0c97bc9a02d195c2666 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-40.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-40.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("Hello");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-41.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-41.js
index e679bdf49071ac4ce8b6975a9b68a3fdb125921d..bceb3022a86baac031cba68c0589fc87229e4609 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-41.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-41.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("false");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-42.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-42.js
index 556832ec7a1bd4b23282e3c8b9a058017d9fe2c7..61f86b36b3904037038044e8d9927a03b58c877b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-42.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-42.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("123");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-43.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-43.js
index c6c57bfd6caf9aab2131558495da1d9a4027eb05..8c44c05d3a2d5098942b0ff7b806f6e72effc4b4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-43.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-43.js
@@ -38,4 +38,4 @@ function testcase() {
         return obj.hasOwnProperty("abc");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-44.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-44.js
index c0f70154523c15340a69e8aa57e5892a5c4804e1..1a6de5a87efebde6b1497c36347c3e14e15f98d4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-44.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-44.js
@@ -39,4 +39,4 @@ function testcase() {
         return obj.hasOwnProperty("abc");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-45.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-45.js
index 74fc298f7b8ed71499a885a9fc5d5978fb6b2e9d..cc03d9a63b4af9795310ccb89ea0b14dc9b37d1d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-45.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-45.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return obj.hasOwnProperty("abc") && valueOfAccessed && toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-46.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-46.js
index 4e5258267365c308cc31ef4e1fc126f1f477bb0c..8a39af216c57670f4a520839f910d5753fcdfe70 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-46.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-46.js
@@ -44,4 +44,4 @@ function testcase() {
         return obj.hasOwnProperty("abc") && !valueOfAccessed && toStringAccessed;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-47.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-47.js
index 51e2b5d6a1125eb4ba2cf6e94ec85b9c0d36207d..4f9881440ebbd6d0a691cd6ec2583bc62c12ce56 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-47.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-47.js
@@ -47,4 +47,4 @@ function testcase() {
             return valueOfAccessed && toStringAccessed && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-48.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-48.js
index 4a6fcbc9acbc0729d123121d845f8b1fd92a3ffa..66c48e4475b4a994206f0de28776b7b954a1c2f6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-48.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-48.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return obj.hasOwnProperty("test") && !valueOfAccessed && toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-5.js
index 72a73dc06606a05f59c8f4750a5b0b38dcdcb4ae..bb4ae43d26f31af1cb827dc29a9ee75bf57b65c5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-5.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("NaN");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-6.js
index 82b2136639d4e9eeb717cffff7bfc09580231aa5..5482a710fbbf25abd05059fea408c650ec069dcf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-6.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("0");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-7.js
index 7cc7656e2c12ee1adeccccfaf73823635e8f6c38..dc93d3785cfcb2803eb289a67bbc5a8530c69161 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-7.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("0");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-8.js
index eff6ef5f5f0397908fb34a0b96b72ce72bf6bec4..de1d880b6626f5e940db53a17c5a56e4fb15a265 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-8.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("0");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-9.js
index 8bb067c7b3c32047236f37f2f864bf2e9877c594..ebd271c422c6614494a2f17b4ca4b3caa3805e72 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-9.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj.hasOwnProperty("30");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-1.js
index 5a35c5a277c0948572514173c0e41b14338dab7b..db6a0ab1ae7436d218de670b1c1f9c9cfba72a09 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-1.js
@@ -45,4 +45,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-10.js
index 3864f3295b35e8fb217fd2268d4442aeda8d1b7d..931d59bd49e4fa722979e6a6ebff6fd5a575924f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-10.js
@@ -45,4 +45,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-100.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-100.js
index 4c889a9aaa3b8e2d1201b3aefacd027ee90bf965..3f4842514bcf9dd7cc40f44c57f1821b107d55b3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-100.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-100.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-101.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-101.js
index 2b3475167bb0e9fd9760e9caa1dfe1c51357b2ae..7787e4062aab233d2eac4fcb59f65587892c5dcf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-101.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-101.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-102.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-102.js
index ffd9185d6a74dcb98c4048ab6aa731d10fc6735d..e170062cd05c6b7840300eb45059e6f80cb76ef8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-102.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-102.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-103.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-103.js
index 084649f6a563992c6e1e5f9ddc706e6488bffe20..2d32f1067d788a50e7f9bf8188c5f32894ba9d1a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-103.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-103.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-104.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-104.js
index 77d33f52ebea00aaedd901e1f903582c39933fff..707114cdec4f91b0eab9350bca1e27af07b9cddc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-104.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-104.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-105.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-105.js
index 2f1f8646c9cd8287fc94a93de4a135cd70230865..7f6c01e3ee78fa3638b0e2d060a0e37a28736829 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-105.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-105.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-106.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-106.js
index 1759a751c2a4841ffa0c0358169a4923c4753ef0..cf28d0027a6398f06f40bf7c1273d35143493659 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-106.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-106.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-107.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-107.js
index c7c3a2213cbacf22544fcf3607a2bdc718399dc3..c91021b5090a425fcf64208a74428edebbc38f27 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-107.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-107.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-108.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-108.js
index 065052aca36c5c26077cfadc2c176e68f1e7570d..fae56b334f9244a38b8f1ef1502310c09d050787 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-108.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-108.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-109.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-109.js
index 371966cd9607d9bc14b979462ba44ee619854de0..06d050bd9b4b3a040cf934ea412c5fb67d4edd4f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-109.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-109.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-11.js
index a49db946363b462ed2c780534b75e6bf6cfaf73c..dcac57f0f257443be0daea4ecaf90da399f9373c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-11.js
@@ -45,4 +45,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-110.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-110.js
index 24a503f3978b3360e14a55630eebad3742193399..1d699bc7dcbfa568be466f1ad1bb419c7f8c04c6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-110.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-110.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-111.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-111.js
index b0c97071e0a838854097c7bdcb3b46985f13ba31..33c60f5c4ba371dba13050f2cb6466b886ee9fc3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-111.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-111.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-112.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-112.js
index 4f940d06849d1f09416133b681160febd751762b..1f90b333c89186158344249ecef6b050a7abac93 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-112.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-112.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-113.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-113.js
index 837bf1185af606de8a59760309ceeaeefc59864e..d8f6d16a7fa11f89c3b2033531eb1990b0fbe9f8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-113.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-113.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-114.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-114.js
index 9bfc97188b1bd77d3fe4b0c67ceae8b6a8e6caf6..7f9a7a847bacd467dfce697d8f1752666130d3e5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-114.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-114.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-115.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-115.js
index 5a46322b227fe9379e77ed254bd16315beed5ee0..0400607a2e1bc6be4f4db66b7bbc9b5faa6afc62 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-115.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-115.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-116.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-116.js
index 957f698040f35f9f01b11151fe74645129b3ed7b..872f1b0b1e71ae128a1d722b95e5ef4c13c2e82d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-116.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-116.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-117.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-117.js
index 7e543531d021f3c300a682bdec3295d2fcaa626d..80185198d648d9256224a505d1e28834827912bf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-117.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-117.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-118.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-118.js
index ec563212c170416a37db166a43e1f6a4428266c3..aab68ae10034fc9863541b62d7e6daf06b86fbbc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-118.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-118.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-119.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-119.js
index a16e776aa1b0ea4c0ffbda2133c47239908f647a..cd7aa91507711e9e4cc23824ba8b8a71a862ecc5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-119.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-119.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-12.js
index bcb739063a1960b0ef8e1244164dc590f068622d..cbc3060830c4d7d6b86e416e4c9230691b2c4cc2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-12.js
@@ -45,4 +45,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-120.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-120.js
index 423d4ee132ae4bfba4b17594f466ea4294b2f1d8..4ab07ecb1f8f06519fa6017fad5b024445f0ea5d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-120.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-120.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-121.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-121.js
index e73476a8e6807197029c2744dcf409565c03787a..f055c1bee901f55fa13de98c807c3caf8d2e9b2c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-121.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-121.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-123.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-123.js
index 78fac362f556c941068e6726da3e4ab480fc9100..eab070ba4df379f67c8b1cf2492cd48a96ff3132 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-123.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-123.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-124.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-124.js
index 3b990af577fef97628ea8d47c6870e5888225bd5..574eed1c96df0698cce6bf5f6148c2c2c7bcab6a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-124.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-124.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-125.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-125.js
index 81172125340c7a55d3b1fb9206d964fbe8aa0f0b..4af00b94ceea97e6dbbe51bff5fbe59432e519a4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-125.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-125.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-126.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-126.js
index a76afd2a093c445a657227121d9a8d0fedaf4001..2ba17dbda5be8592dd1b434f76677db5a1e84a44 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-126.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-126.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return obj.property === 100;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-127.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-127.js
index f4191bbe4a31790060789e23e0e80f207f6d45ba..0dead0fef1060d9c24f4ba8cb8f208324809b227 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-127.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-127.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-129.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-129.js
index f163bdffe312cb1126fd242fb480e246a5d680e5..3597ee1f6925b9cd6e6492b1bedb774f7ab56e8a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-129.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-129.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return obj.property === "inheritedDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-13.js
index df49f6b30b03e77a99be78e7b48f94c901e23c19..368f6badfb2c453540d67668d5fdaa3122a4f20e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-13.js
@@ -45,4 +45,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-130.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-130.js
index 8161f843c4a1320aa21ed649aa61cd862eea7d2c..4ff77d95df21120fb8f4fcc08e849625ab3dc475 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-130.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-130.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return obj.property === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-131.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-131.js
index e3274886abac5f514ab234b5b3c0238b256bf60d..916c00e8f3254ea0da7e40bfa3ea944ee33bd5aa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-131.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-131.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return obj.property === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-132.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-132.js
index 4e04f68fb05b00dfeb66452487a958a5fd856477..321370be0b2bec74a48bda5405e63b4a1a723ed4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-132.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-132.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return obj.property === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-133.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-133.js
index 716453e15aa45a25b009e6a8b9420fb50b10c3e3..003c210fea80dbc6c2f3818e77c0d2e217f59516 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-133.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-133.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return obj.property === "inheritedAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-134.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-134.js
index fc903faea63cec49a02a638783635214e153d8d9..674d971121c96f7fd9fef56e141d0c1635a2e83e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-134.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-134.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return obj.property === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-135.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-135.js
index 620f0530549da14fb60ae2030b696850c421f5b4..fa84527ecefe356e20d1f084b65fecdd8ce81851 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-135.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-135.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return obj.property === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-136.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-136.js
index ba0205e2f80811887a58de94761f73eed38eb33b..067e88eaa0926cdbd94496d847abfbb0a6e4ad5a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-136.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-136.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-137.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-137.js
index 99cca047f638907b24d5c7ce35d5cd32424c6f4d..03dc24d71138cdaaf2d3903bc79c8158938c64c7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-137.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-137.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-138.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-138.js
index 5953e9d6978f727c8776c0ebe15de5a0f31bc7b5..c0502e9b64473a7268f3f4be4fd4c53ca4e10f27 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-138.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-138.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139-1.js
index ee4cf55bd78898599a0f4b6e2b9fa6c59702746c..cec562233407a517dc90af872a75b6fb11117934 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139-1.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Function.prototype.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139.js
index abf0f13f6fa3b4ec43d5fa50fb522f3d3a25230f..841eecca33ea663f0cc488d6cc9b6cac7013f368 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "Function";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-14.js
index 93792b92d6d19b31006defd91fb44f18dd9420c2..3fe9b345bb817ea5b808dd1a361a3bdd3775ad42 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-14.js
@@ -45,4 +45,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140-1.js
index 9a3125260d5b3207970e6e31369473309bc1b2aa..b6807034d775e36a62be014e420cbff0b4cc891e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140-1.js
@@ -37,4 +37,4 @@ function testcase() {
             delete Array.prototype.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140.js
index 72a91f7171336797bf61eee5b64b33277b143b94..9c581e44e3e2eda35db3dd977a3dfd9ceb4187c8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.property === "Array";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141-1.js
index a687199423aa4f8b2fc2dea52ead35ba929f3930..9516711742cf935a2c7c169bc39ec026b99b828d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141-1.js
@@ -37,4 +37,4 @@ function testcase() {
             delete String.prototype.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141.js
index df3ccba1f2e12807fadf0fe12d6a516c6679688a..3055883b5d36f1d50f1537b562d3eaee0110efea 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.property === "String";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142-1.js
index 7547d1f85bd1a0ea66b8ed26282c0e3a76da7976..fd9c7fd237129976221aa556efa3d6ce15376fc2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142-1.js
@@ -37,4 +37,4 @@ function testcase() {
             delete Boolean.prototype.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142.js
index a53e70d151b4d30158a3594fa6dc1159ff962126..444e2aa44ea773ae311d54039c582d94107cc665 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.property === "Boolean";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143-1.js
index 9d78ffaa2f298cda0377f460dadf5e40baaacbde..174bc67d2dca9de30c20a61501171c56601633f3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143-1.js
@@ -37,4 +37,4 @@ function testcase() {
             delete Number.prototype.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143.js
index c0e08747eefa1f5915ad9cbc89a28d61e2786f1b..3b8bb81e9ba62f474b449ce9edda505d86089daa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.property === "Number";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144-1.js
index 4865c2dc7d4e9d4f4117f1b4003c0b04fce5fb4c..e69a382612c6f4934a6243cf54bca67416375a6a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144-1.js
@@ -37,4 +37,4 @@ function testcase() {
             delete Object.prototype.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144.js
index 2da621b9faf4ba5e8803d05c07f37dca25387903..9fe74be763f6d36ff13387b3eadbe5eee40563a6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144.js
@@ -37,4 +37,4 @@ function testcase() {
             delete Math.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145-1.js
index 1c687363a4a3fe857e09e8076659971eba581f97..8cf98ed2a870d7e5ec97ba7d5218fb65e1322766 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145-1.js
@@ -37,4 +37,4 @@ function testcase() {
             delete Date.prototype.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145.js
index a960e05fa96091f51d32f7d6f6fd1d9e236cce11..1deaa70c79d151f3f2633cd37a5286411370345c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.property === "Date";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146-1.js
index 5eaa946fe9e92a1eaab2e775599309cf5968a27c..44ed355de48ad3b5c50a9998899af52004773a1b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146-1.js
@@ -37,4 +37,4 @@ function testcase() {
             delete RegExp.prototype.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146.js
index 31b3478249ea97c3c32f4519a50b75244f7604e7..235b3a97c57dce87e0aa8ec9833aac468801fd44 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.property === "RegExp";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147-1.js
index 4d7113f0108cdeda081eecde6792274a6c1c053a..41f7a2a9e4c366471577423b55dedbfe1c7e8a26 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147-1.js
@@ -37,4 +37,4 @@ function testcase() {
             delete Object.prototype.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147.js
index 428959ee4f2a38fc289369d34ff56a81e5730ba1..edbe2144dab2173a86e1095531c1338da3838155 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147.js
@@ -37,4 +37,4 @@ function testcase() {
             delete JSON.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148-1.js
index 37ba65c844373d96b307adffbd8a201ea92871cb..aab077fed6e6e7881419378635b02f26943a0514 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148-1.js
@@ -37,4 +37,4 @@ function testcase() {
             delete Error.prototype.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148.js
index 25ab7a099946302035e996dd76bbfd08c4ce4636..c96fd77d3d9566b535a456909c03cd57d0f8e38f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.property === "Error";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149-1.js
index 655f27ef58e4a738a7916f1ff3b9f4551a8d5fe9..244f0971ae83279c927f708bf5ebbf1a66e361de 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149-1.js
@@ -38,4 +38,4 @@ function testcase() {
             delete Object.prototype.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149.js
index 34f56e66b2482ab26aef7e0c883bebdd0e19bd2c..c5b29824cc2ea3a998844177958fb02590779c7e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.property === "arguments";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-15.js
index 530f0059ba4ee36e1a08eebfa4d484ccef4d11db..6188ad3f6a26a8c5dc1a93017ced1f09e626e050 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-15.js
@@ -35,4 +35,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-151.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-151.js
index a80e452f8b831a1abf7e76b0f522ae872435c123..62e358c153dae73a23bac901cc1ccb502411db36 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-151.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-151.js
@@ -37,4 +37,4 @@ function testcase() {
             delete fnGlobalObject().value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-152.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-152.js
index ed91614a1c899c1ad3ae6dfdc67183c33a66e187..868e011402dd8250750e084de48a092633dca1c7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-152.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-152.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-153.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-153.js
index 8c34ae8498d960df76c8c457cdff5356ea3c318f..9e2c2dde900d7c72c45c6cc3dd0801a46449f469 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-153.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-153.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-154.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-154.js
index fe7d6e4b03aeb86154ae345f11ead9417a5ccbf5..392c2f94f9668efbfa344b550b63d306cc6db9d8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-154.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-154.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-155.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-155.js
index 71413dbda2aa548acad394326e9103cb56d2d64a..0cf4efefc965d9ad923bf7fd809a1aaba9df9f01 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-155.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-155.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-156.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-156.js
index 62898eb52732362bd429dd5640ad4ae6642e4c86..2cff7017402e13c8719a8e40f6ca222e67ef3e63 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-156.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-156.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-157.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-157.js
index 3fd61f832a347446f24064abddfccee89580283a..a69b82b849637d978838ae4e5342874c6a47e173 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-157.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-157.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-158.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-158.js
index b427f9daf0a6554c06d42b5eec51949a86a1676c..4701486d9470d0404c268a8e270d6a84997b3383 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-158.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-158.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-159.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-159.js
index 96fdb1383ba2ed59a007e9a3bc6265b5eb5f890f..a2d10955167661a6ddcbd7814f712fa9398d9272 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-159.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-159.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-16.js
index 3a6b25340670026fc59caaa63b5baf96aaa58937..3980ca96e306b8b031b029ac460758b98f0168ee 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-16.js
@@ -33,4 +33,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-160.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-160.js
index 3ed70449d9f3409c213b340f68e14d9fe9c6227f..faae878abba582f8af84ab3ca900aa4546d45be9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-160.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-160.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-161.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-161.js
index 6b673994a072db8083d41f3a1920d1c6b31ac43a..7416af802f33a16a44e54d86f7c0d7b263965d22 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-161.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-161.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-162.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-162.js
index 7200febe0759dc60269985437047433f4415aba7..919641dfc4e44207781afb8587f9b838adf8f3ac 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-162.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-162.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-163.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-163.js
index 578d9786aa5791c129b60b6e7a059f89c358a2cc..7092286ce4e82855a81d21b0dda9710fdcfcc97c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-163.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-163.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-164.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-164.js
index d881af3f2203377d2d86f34951c1681a89af3289..316ec669810a498f9783bf5239af6d6408c1801d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-164.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-164.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165-1.js
index 2294fc5c748d51921b7c52fa899a0b54c1c34f30..7a2b8d91a2ab65c07fcef8a0efda5bffd1666e36 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165-1.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Function.prototype.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165.js
index 8d7e1353e1b0300fb15de197997955c6f67b08b5..db587e06954f7514475f3db6d80cfdc8c5f7fed2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166-1.js
index b0cb1e852dcfdbc1023433521a682247c22d4f29..75385cc351828fcb5e3d01c4c6b8ca18f3615ae9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Array.prototype.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166.js
index e9330e3f2e90b8ad9d8dfa546a1b73473d0a4465..bbcc0c58d6bc70b13efa2c2651a87f7aa6fdcc70 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167-1.js
index 9a42665e971bd5690d09689e870e68fbbc3cb285..154e18c4589b48a4a52f55828840025ea8da3916 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete String.prototype.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167.js
index 460ec46f1226631c870d69bfdec42487a659ef5d..5a37c954205d504a13a5dbce821d9a2e74859940 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168-1.js
index ed682de5f82b71aa39784b1134705933ba4a6821..c807a10d8c89932cecd310343e31f5c81b978bec 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Boolean.prototype.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168.js
index 3dc12d01948303f218d0203f12974516b289f15f..641a78540ae3b9e2d8d1fe953a8c74e023433024 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169-1.js
index f69e9dccd060e7fdbab266f6035cbff25b8cfd5f..43cb5671e400b191d4e70a4b7f1980a3314a51ba 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Number.prototype.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169.js
index ce76e47e228fbc7236a6e4878b78ca18bebee06c..7160dd55304187ff39001005303bb367d91e717e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-17.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-17.js
index a55df33df0f61abd604a46b945def7d73ae1a461..01414d1ca1ca97d9efedb5ccc6c9353b841c376d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-17.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-17.js
@@ -33,4 +33,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170-1.js
index 180261954dbfa4c8f3d5915fd901997650939ca9..91c11d0c56536f0f470e7b25304e1c4d06dcdbc4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Object.prototype.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170.js
index b4c816c7eae894861e3d7c4835f2ea48bc668c1e..f124152eb5db2c00d5b4e344189ae3723c8e87c0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Math.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171-1.js
index 294802e60adf3ffc3a1291933b98b20abdb669f9..ea462c0af76a1f3a1ddd8e3799f62d78c06ff5c2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Date.prototype.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171.js
index 9c4fbb31465d8429146cfba0b30cf64400ce33f3..a10bcfe9303166b9c45f125cc88877bc61debd04 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172-1.js
index bfa3fcc5564ee4a3fefa01324d55055ef225d938..bc9adce967098809f8bd7b15ee800ffd93039914 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete RegExp.prototype.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172.js
index 9f09058789b4b23fc2a02e991c6edb669ecfbeb8..2faf60ed6f1c7dc67e897996f4b75f0e25fb7249 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173-1.js
index f2fa3d42eee163d0e0050fc463bdc785ff560311..4cc8ea3da749652dc7a0905f1705791dfcd48ac7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Object.prototype.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173.js
index 3e278787b5d7219807a6c38ad6f80496c38a44ae..96fea956175e261356cf9774cce9ed1e2788660d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173.js
@@ -43,4 +43,4 @@ function testcase() {
             delete JSON.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174-1.js
index 589bd53d79727e79a5d8c8183faae9439b1dc413..d0b7ad6c45004106b96329289ffbf720ced42258 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Error.prototype.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174.js
index d25edc85fa9d1bbd0f86c38a49f55d0cd3535fab..81978f60da7ee20580edf4c492b17733ff153bc8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175-1.js
index 21563f6d246d8d6bbbd08494ce2d790c4de40e2b..89bc178d69c1d2a4fdb9cb1f9bb184376cccdda1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Object.prototype.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175.js
index 4d9166695ceced4a07466b87307e457d7b67411f..bfb154bf4a3a8ae796e2638c93c125a86525e1f6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-177.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-177.js
index 537c48d5c6f34ff2147e87a150ebaadc52e08590..330590a92c2232b7ac15006c7d50e263c03221b7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-177.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-177.js
@@ -43,4 +43,4 @@ function testcase() {
             delete fnGlobalObject().writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-178.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-178.js
index f83b0a37a0c3678c48a0b3e8f6b9eb1f633c3382..4e993f6ba083837302429c05c346d3fe62cc661a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-178.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-178.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-179.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-179.js
index 33613e295fbe08e2403680fb07b997589db50749..07281ced062b7be5e5b066ddbe06d1f1b96eaf47 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-179.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-179.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-18.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-18.js
index d8dab2d1f3efb6881f781e6e523fd027700e14d1..92483ef1bca908366a4ecd35f146be733dd86e40 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-18.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-18.js
@@ -33,4 +33,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-180.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-180.js
index f46535f6e748e6c392f1f4e6d02d6eba10a4657f..e7b5caf6e68d1b90c87366c5429dc7da321cbb49 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-180.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-180.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-181.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-181.js
index 6fe45ccac5c8e5130fe449f178021ec7bb807eb4..3f9829d825869cfbbd5080127ccb9c7a0717fcdf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-181.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-181.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-182.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-182.js
index 0ef7f6cfa789fdd956100e9a7348d65b4d08355d..12e060edc446718667acf2fa09b2de346a16fa04 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-182.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-182.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-183.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-183.js
index 43f6c68957066a443a88b709d6b1ac2366c7eff1..ea6ebcb20be1a7330c31cfccc36bba3ab0754da6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-183.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-183.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-184.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-184.js
index 07b30210ad9cd402d4d0003af64f3ac295a6d25d..d80c6b1d9858a65243c3592df7d4da3fa67729bd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-184.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-184.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-185.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-185.js
index c05fa60467f39d0e7ad105bb6602526399a79100..f4723f527375d67f754597028736c4df7673d467 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-185.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-185.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-186.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-186.js
index 86dcfe43615088c3d5fd8b6880e072a31dece6a6..76bc7acdec7deeeb5768764b9d44492fedd10b17 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-186.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-186.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-187.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-187.js
index 752c92436cebaaa3f7ea4424d59d432ad2c8c46e..85b6efbc8f5ae642a5109483b6903d0a4cb97f47 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-187.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-187.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-188.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-188.js
index 00e8844c2a80f809a32e6044ff52c2a306ababeb..fe5165dcf0707d17eb399b4934b7035a7c23122e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-188.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-188.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-189.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-189.js
index a8f029175f5f8d60005fb0650d75ff68f07eda1b..d0f5f03874c607eaed022f30eb4714ba1da143e5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-189.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-189.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-19.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-19.js
index c8f63e6262340b943fd050a666f84f10dbdfa9e9..045b0c14eaf8652564fb806b60942ea3117c910e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-19.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-19.js
@@ -33,4 +33,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-190.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-190.js
index 7c983d158f962820021be921221105c74c8f108b..7f1a6bb1cc4fbd67fb2b04912ee72fce7ceb5fb0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-190.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-190.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-191.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-191.js
index 761dbe8dd86c84fe295e16e6fb18bf982899abcc..ad5e50445b636199b7cbf4239797e4d781e695ff 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-191.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-191.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-192.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-192.js
index 866912b3b0f9d053b47604933bb8021bc47e5c10..a71e55280690171abf2934f84bd0020de371ab53 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-192.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-192.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-193.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-193.js
index 9ad5925066884f09a7fb32253405d48a12acd5d8..7023bdec2c9b1996a6f2bfefea3cf21d59d63f94 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-193.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-193.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-194.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-194.js
index d5ddd99ddefa1928f023ec097296ed013d23f1b7..85471c78fd44c67e2b1ad5e90ce6e7d4bfb91ef0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-194.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-194.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-195.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-195.js
index 64118d601a118d21fd6143bfd0336cd777c3a509..5132c1a85c065bad9d2ee38ddfaefef7ead714bf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-195.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-195.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-196.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-196.js
index e9d548a28cc5cbf7255425c82625dbd5e03f1ddc..5d87f7b334b6269468f100290ae2673e9fc24ef4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-196.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-196.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-197.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-197.js
index 0c364149318e9cfd75c81407a71c9bd00124494f..ec17448a8672a81f4b28474660ffa6cf2ef560cc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-197.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-197.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return beforeWrite && afterWrite;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-198.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-198.js
index 73b84a7bcdc397962c625411119f54ff09972d36..7d35ecf1cc04bb9a0dcaa561a2da69e284cbc9ec 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-198.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-198.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-199.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-199.js
index 3bbf4709bfa9cb631ab46ebdfc6cc136b30d1373..1369b97e3486364856cbaa2aa96dcb8a3689bca6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-199.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-199.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-2.js
index 90f888d39ed1cb3cffa2bb95ad35c2be078994a5..69ff5d2bc913f15cd3fc9522b59dc2e70216cb5e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-2.js
@@ -45,4 +45,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-20.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-20.js
index 8af6565b3f6ac5d68dd557a7bff246072ecef48a..bc4fc8963e63cb0d4a349040a1913fbbc5b329fd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-20.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-20.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return !accessed && obj.hasOwnProperty("property");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-200.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-200.js
index 2707545a32d56130e3e0c30924a837c9acd586be..8cab32bb74f4d43877ff87526e0295c8059aaee0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-200.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-200.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-202.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-202.js
index 9e8f7e29750850dd1d7f2f6ed0579d6f954fe395..6a15b019ac0fdfd138e6a86a307908058f9a369f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-202.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-202.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-203.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-203.js
index e15206621b82a9236b321d56a1afd810b58e5ccf..6fc13d29866e93c58a7bf0879cc93787b3f175a6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-203.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-203.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-204.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-204.js
index c2c4a2e64a87b0805007f0b7f2cef688843f4a0f..ee8d07f1213f9c3d2713c0efb389a2e0b151ef7c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-204.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-204.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeWrite === true && afterWrite === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-205.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-205.js
index ae8f2961d1ff7b0c946f975d80eb8265ee291df6..77641c022c7eadd2a7ff34304dee741af6ceee84 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-205.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-205.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.property === "present";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-206.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-206.js
index 524fb6de18870596f9240061fddcb22f03b07ab2..61da247b61404500ba22022277e7f13edd95b572 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-206.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-206.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return typeof obj.property === "undefined" && obj.hasOwnProperty("property");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-207.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-207.js
index 95f8b548107fffbe2b4224ac0f2176f154cb390c..ccd93e0b689fabebd9d7be6020714454b7f4d9be 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-207.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-207.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return obj.property === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-208.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-208.js
index 4b68cc144ffb3ca04a24092a910eca553ba07675..387473f9f13eb46002076206956fdea48f3abdd5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-208.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-208.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return obj.property === "inheritedDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-209.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-209.js
index 3955b03963bc40c969d1e5b2ad157a0f3f565b9e..84374b265ab6c1801690d204289e057de9d38972 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-209.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-209.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return obj.property === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-21.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-21.js
index 60ad2a0719ba6278b81d1d060d5fe3b3afadd004..0986344ef16190c25c09bbd385bb8c3a297b47e2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-21.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-21.js
@@ -39,4 +39,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-210.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-210.js
index e03df2af3e403c8f9c639bbf807ed124f4982f86..1782f0c3379492e4e2703db922d38730b38a8980 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-210.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-210.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return obj.property === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-211.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-211.js
index dcaa848f7d3251889b11f8bb7eaa5125b4f7c858..993a9ae8964d169391b0c2b8eec05de0a38d23a9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-211.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-211.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return obj.property === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-212.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-212.js
index 24c3ee36b5e3dded2bf262e6192c8ee0a7623b67..e66756616660b7a1ec9d53cb45883baacd328385 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-212.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-212.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return obj.property === "inheritedAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-213.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-213.js
index abdc7103f93443a796fef1d25637b494b12c0718..a023a1854c0fb447da21650ab50e67ebf0e660cb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-213.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-213.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return obj.property === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-214.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-214.js
index 234dd8de4bd3e8d648c3e755d8e5886f4054a744..0d12968fa4bc219d43cce72d1a8ac317e408f414 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-214.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-214.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return obj.property === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-215.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-215.js
index b9ab9d177849f58935c1aaf08f03775e7f82c525..06e34d71a0bd438b926d7944558b3a7f42a5a375 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-215.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-215.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return typeof obj.property === "undefined" && obj.hasOwnProperty("property");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-216.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-216.js
index ca1c5d5ff6e1b6b696a66fd97aed70502a7d74c5..fd12c89146d425eb86fe9164985802f0313f0bba 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-216.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-216.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof obj.property === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-217.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-217.js
index 5b476ff937f6cc5c6913f4d80fba74da7496b5c5..fafc44c291fa48ee0a42dbc562da475a1ccdec38 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-217.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-217.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof obj.property === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218-1.js
index 05fe606f069c4903cffaf951362f5e263987eadd..c07b7ec932fe0a9b8f8b0286c6ed3ec48b00da4f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218-1.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Function.prototype.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218.js
index 61c268c48d32ae9e54e139cb973fc91770ee0797..d08f8db0a959c3aaf92f7174d13bc13c82ef3cd2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "functionGetProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219-1.js
index 92191a1fb7a816436db4bf94fac8fba3c72351e0..eaeabaa5d003812f591bfc5936d40ef6d01cd180 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219-1.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Array.prototype.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219.js
index a94b47488431240abfa7dd15a8e6acb2a6d1a3c6..efb3b3e714a81b4439ce5f788e14b075792bec5f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "arrayGetProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-22.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-22.js
index 261d79d89a622fcb6291b0cc3ea7128da6e5a09a..91dbfefaafda122fdee43753ac80110182d28874 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-22.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-22.js
@@ -39,4 +39,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220-1.js
index eba2f66b8760743666a42d76c8fb3c15672b9d20..70d21936afda674cf9e015ae8aedad03b63a2f15 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220-1.js
@@ -39,4 +39,4 @@ function testcase() {
             delete String.prototype.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220.js
index f144a64556a489d008672e51e71ccb73632afe3a..e9a3a1997b8fd623436fe24586910a10b8d0cf44 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "stringGetProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221-1.js
index 7a28f93c09cab0219f9442e4b69febcc431cc4a9..cd538139899e914b048f989382d5f3086dc61224 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221-1.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Boolean.prototype.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221.js
index 4f0abce4502cfccee6af4d84df0ba07603228829..bda80cbb58d3228ca38500fc91a6d90cfa33b303 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "booleanGetProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222-1.js
index 155379df4f8d8640287e3d3fbe3bfa9aaddab84e..3574d8de8c199887669cf0f0513ce18513e5038e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222-1.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Number.prototype.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222.js
index 9c887f4cb902700b7b5ae208cb1ad96e2c5dd215..8b1d9e851ebfa6249763fbb2b6b557dcc0535451 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "numberGetProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223-1.js
index 9ef2d5076fb268436a6803a34f88809e4cfdc8b5..224a18527fb8ec86765b4e709100cd3b0cc45126 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223-1.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Object.prototype.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223.js
index f4e96867d716fcb6799d9216f6eb8e6232288f9d..e2e9b33ea7627617728999bdcf89312cf9c887d2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Math.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224-1.js
index 768113ef50f2fdd1fec07b29fa4f1f21ea444e2e..077316ab892f8f7b3d56c755a652a04b953675a4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224-1.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Date.prototype.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224.js
index ef980d1ba8838ad3261897dd9dd36458e40e1f49..456cbea3208e07fc58a68dabe00dfeaa44e10edb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "dateGetProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225-1.js
index 190aec76ea1cd136c6a65a1d4cd500c3d09996eb..4c9b28cb387031b2c0e86d8d806c1e3e93cde202 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225-1.js
@@ -40,4 +40,4 @@ function testcase() {
             delete RegExp.prototype.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225.js
index e1abb8efd042d60dd17acc57949b4d6007f12fc3..cd223cbd166b11538a2e8c1347ca416cfcf1aac1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "regExpGetProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226-1.js
index c80dcb16ebb1d6e8bb96a50e177c643fda486c7b..acb8139ae1824360fea8a2c0611ea028cb049396 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226-1.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Object.prototype.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226.js
index 81bf3f9eb30927722ce9ca507fdb664a6f378a1c..4916e7f3df69d3f4bad5f840ce4bb9e7c988b439 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226.js
@@ -39,4 +39,4 @@ function testcase() {
             delete JSON.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227-1.js
index fba089502aff0beff5c3acd1c12b16af7cd3e548..ae0add1a3309137d870b88a2efd7edc0e8744eb1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227-1.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Error.prototype.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227.js
index 4bd97dd21efe486871f63370f1b6c847185d708d..deca8aa199bb4e439e2ce36bf8c0f929dd474059 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "errorGetProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228-1.js
index e657ab2433602ce1f5084875686c095ab64987ae..6fa98cea09bac56952f10aa8c22623a24bb5e591 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228-1.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Object.prototype.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228.js
index 354e6f0e3d7263e33f190d5e46ae68a6bebf765d..61080d172ad11082acb89cd23b99c49eeaf98666 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "argumentGetProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-23.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-23.js
index 14bf1bee34698f54a3568964912ce2cfc74650f8..f13c8009bb11be6a4974cc0e9437d87e4585257b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-23.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-23.js
@@ -47,4 +47,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-230.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-230.js
index daae6ba14ec4913f382865df63dc212f47af1b4d..85996941717c62c5783662e5f52c725ba97b799a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-230.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-230.js
@@ -39,4 +39,4 @@ function testcase() {
             delete fnGlobalObject().get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-231.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-231.js
index 7f5ef3e8b9a3c809ea45a637bd365dccd3178cbc..71093c92e173f3cbb55ee1007942c286c8c5ecd5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-231.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-231.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof obj.property === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-232.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-232.js
index 13c7cde0d633c08fd07afbaaabbdd1694f11ad6c..3a1ee891b680c65fb885a2274e050cebbf328837 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-232.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-232.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && obj.property === "getFunction";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-235.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-235.js
index 41e0e03e65133b9e3df1458549f2ca308bf716c0..b368422b32fade6b05881101cc32e5148ab0985d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-235.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-235.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-236.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-236.js
index 2fd50f468fd6ae4df4717f3da3aed4c4fe6db800..edd6fca4488a6d03da1aa039de632f52cec14307 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-236.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-236.js
@@ -37,4 +37,4 @@ function testcase() {
         var desc = Object.getOwnPropertyDescriptor(obj, "property");
         return obj.hasOwnProperty("property") && obj.property === 11 && typeof desc.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-237.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-237.js
index f6658408ff83b146b6c3c69535a0ea049adc7159..0f65e460b4ab04834dd6baa5feaa2e1785a76fa8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-237.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-237.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-238.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-238.js
index 9673248bdd7155de9e311cfac38609f2821d3e3a..b4e524e905e4ba848657aaa482ea8c84a330c6e5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-238.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-238.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-239.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-239.js
index 53cf43760c25de6909016cd93d3beff7c3ea86dd..871308631a2ad552ad04d23c0d3953dd61797582 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-239.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-239.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data1 === "data" && data2 === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-24.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-24.js
index 57afe991cf900422aa6d395cd7e096b1e7a6c8fb..ec3595603c9cb501f99a6446a8710b0362e1192e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-24.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-24.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-240.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-240.js
index 486778deba787858229eeffc0067d012d9f84c01..b461bb5593fd0f332c7d2e03901b6051ca7c60b2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-240.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-240.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data1 === "data" && data2 === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-241.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-241.js
index 6edffce4d18d1257453661f06aff6165a5149bb6..0fff5a888fb9566955f7d82c114e4d9946f36c21 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-241.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-241.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-242.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-242.js
index 3951279316e115295b6880bd1bf749d21fff4fd9..bf7768a08b290211db96398cdb11e28bd2b36a8c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-242.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-242.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data === "inheritedAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-243.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-243.js
index d3968b9350b0da116e113e892248a9737d935354..40351f3289a1dbbd0943b8e4702ae8d0efcb78bf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-243.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-243.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data1 === "data" && data2 === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-244.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-244.js
index 3cd95e12451e5464d56c9884a81b2760b8a51bd8..f5f82cc9ca223511709b24ad25d27321346d2a03 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-244.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-244.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data1 === "data" && data2 === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-245.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-245.js
index 37ba16fcb87c129e3ad908a46e38cb391dce4cbf..7aca7b49ab9f7580dcb44b552ef9f2c37b22af5e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-245.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-245.js
@@ -40,4 +40,4 @@ function testcase() {
         return obj.hasOwnProperty("property") && typeof obj.property === "undefined" &&
             typeof desc.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-246.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-246.js
index dda505ad8c31baeb66bb2119d01da7e6c8990e86..e55dcdd8f319b42c290b7bf62c9257a5e14f69bc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-246.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-246.js
@@ -49,4 +49,4 @@ function testcase() {
         obj.property = "overrideData";
         return obj.hasOwnProperty("property") && typeof obj.property === "undefined" && data === "data";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-247.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-247.js
index eaba5a283977fb9f4f579f0ac66c91afa56ff4c1..d7952b84e37b433cefee8c3d8d231c222161b127 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-247.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-247.js
@@ -41,4 +41,4 @@ function testcase() {
         obj.property = "overrideData";
         return obj.hasOwnProperty("property") && typeof obj.property === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248-1.js
index 797a3e93bcfa018809078d33dc4da5369c9c9670..d3cde94fa1f33eed57bae1d09da0e8280457bc70 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248-1.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Function.prototype.set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248.js
index 5d0c4c52556dfccc5cc7b582dabdcfeeae1aab21..75034fee2a5011b3090aaa5a614a4bed129070d3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249-1.js
index 6d667802c0f9e02b79ed6bb83c7afe7d9ac0e34b..c7a7fa539b25cd87fcecb98d19a672cf93e71cbb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249-1.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Array.prototype.set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249.js
index 5cf5b01049d0467dcfa6ae1f166288c0c5d11a3a..7766001d0465d260a77447716952999017937927 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-25.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-25.js
index fe25ef35fb6612dbf6827b7a84d35c41e14f3a44..c4bc433319390746d1fa8d8d7690e943b34e3507 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-25.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-25.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250-1.js
index 638e891164c1062f0b344c35f0384e34b9249d8d..84a001136f223a54767a66ab521a569714873a3e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250-1.js
@@ -41,4 +41,4 @@ function testcase() {
             delete String.prototype.set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250.js
index 293e6506237af55cad5dcc0c832ffd0beddf6396..75b87434195a0f33957ac2e9db1f870b660c462a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251-1.js
index aefd5ed00dea920a51979a795781e8dddd38d60b..e246f2d36bef1710f76bea2fe16ca6552e9a80cc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251-1.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Boolean.prototype.set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251.js
index 798714f1116f0cf5d4d6dc96143effbd160ab254..68879c21274fb44ebfdf3896a93eb7d2710d4626 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252-1.js
index 3833a25bc1f6634d6d7faa32217e532800d45d61..2c3081d43b0e941047a7f1ec4e57e7ba38cd3a1d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252-1.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Number.prototype.set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252.js
index a47602e7a10e781ab1f66bdd836db85cdf509fc7..aea042ec07b1c2c53e0dd116df7f4f4a7005927b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253-1.js
index 5de2327c00fb70600a6ee1a5f6a63a3036562866..bd538e425b46c06fff21472ccc16d3d61be074b3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253-1.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Object.prototype.set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253.js
index 971d7c5e0cff5aad6e56e35bb0d65095cffb97b0..c074b527a31ae45433aad3a8c9daae903b9f6dfe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Math.set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254-1.js
index 9f08e3a2d0959f61ac61d0748165e467cd2775c0..40f9647c1a03f7d0beb94bd6dc73ccf12ab158ac 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254-1.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Date.prototype.set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254.js
index 55e6ab69d9d4d3fbe6b8e94d62d672d0c85bd7b3..ee15cd2cc14ed6d9575905ee54cda65c0c2e53c5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255-1.js
index 1b7926439caa92c43e5845e9c724c734aa027dc3..f3c67027094293f7374153508e6f9567195616ec 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255-1.js
@@ -41,4 +41,4 @@ function testcase() {
             delete RegExp.prototype.set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255.js
index b5dcfe2f1187e484e965d5f3d609e99c2ce6f5ee..3c65cc773ecf1a10aa17c4a3756ed3eb2d6db75d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256-1.js
index 82db02adcda366c2f0c999163c35809e693b81ca..abe78ed48315539a01a07fd7fb767d9ea82814fe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256-1.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Object.prototype.set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256.js
index b826a3bddca9dd90cd0029463522471fc27370c8..88d06a3e2b79e6623e446e5dbd069aad9daee258 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256.js
@@ -41,4 +41,4 @@ function testcase() {
             delete JSON.set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257-1.js
index 6f48485b362d61b07d40d96c7e52128aaed5eb8d..666c6bdf94df961333620dd01127bc6b1b18e219 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257-1.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Error.prototype.set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257.js
index 80a478cb2b8a5274d4dadb7a4c8e5fa452866f37..7616fb3e110c4eb3e0e9f234764c5f3a3d392f67 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258-1.js
index 694ab6aee5c2bb2c93807197d7d9720a82367a32..40613bb2e5bb4906ba5375a573145b842710f847 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258-1.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Object.prototype.set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258.js
index 915453d155b7fa59b96dd85d14cde46d71f6a859..686c3080d8a267a6c7a12e4bc173b8e646e09bc5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-26.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-26.js
index 561e52f7f39ced00f545e81fcede2dfe9a842fc9..82837f8b73276159cc5c2a05ca3ee049234fa459 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-26.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-26.js
@@ -44,4 +44,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-260.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-260.js
index bfe918e6d5d185b31a16e063737ed39d535b17e4..439de26272eeffa21b372c1b4423f284cc882099 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-260.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-260.js
@@ -41,4 +41,4 @@ function testcase() {
             delete fnGlobalObject().set;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-261.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-261.js
index 89d0be8e6221e4b19cc3814ff93863bea09a9c3b..b3a7e8ef95f475da71ce7311e70c899058b008db 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-261.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-261.js
@@ -36,4 +36,4 @@ function testcase() {
         return obj.hasOwnProperty("property") && typeof obj.property === "undefined" &&
             typeof desc.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-262.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-262.js
index 7d68e10d22cc61be716819c2927e049a315b2729..755339d96498cf42ba004a65423280848a401a29 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-262.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-262.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-27.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-27.js
index 4b2eae89839e3b0654d0b7b3590912a817a4538f..61bc7abaa32c61407e3a8a46862aa17f184cb2b7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-27.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-27.js
@@ -49,4 +49,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-28.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-28.js
index 74474eb49d65da2eb1886ca9872c7432d96ef133..2a4f49af594e8ec67146e3ad307635edcae88a56 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-28.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-28.js
@@ -50,4 +50,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-29.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-29.js
index 22b21f4b0d9cc81dabf448d4d66f139cdc8607e7..5fd90497338544bbf3fe4f99ddeac41bb0d5770e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-29.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-29.js
@@ -55,4 +55,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-3.js
index 4d06f8a09852f0dd6c5a827431b248c66a164573..ee91659eadc3d8054e9d6d1d6268fe23adf931fe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-3.js
@@ -45,4 +45,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-30.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-30.js
index ffa4e63a8fb0bd781148b023378489c3a05d098f..da8ca4fad8cf1d414d4310be330390b0325a96cf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-30.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-30.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-31.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-31.js
index 6c6bc31a158aefc6bac513482a2ed845226c063b..8d9304a5c7fdc317d56bbd33292ce99afe4af8f1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-31.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-31.js
@@ -53,4 +53,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-32.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-32.js
index 7b4c3ccc08267f4bdb96723c0603f5eda89808ef..fd68c004830cb390c4fb78af9c0ef1da6a0c1d3f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-32.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-32.js
@@ -47,4 +47,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33-1.js
index 486c988acc575d450f7c8b9fbe9c6846cf7d68bc..c528abb6757f00dc9940325610759334fc856cfa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Function.prototype.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33.js
index 24c1f6cc782e21768305df44df86d23ce016659e..b8278e8105eff81d8ae898e0f76680d7c8415f31 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34-1.js
index b77193ed9c73d89075159ba299c52e88dcd1cf27..e94ac07c4d18950e5dcf1061dca38bfaf3d1faaa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Array.prototype.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34.js
index 216763dd47ed2386cc35312c3f075e5f0cc0c48b..22519617e2e39d8420984fd7ad50360bf6a19d68 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35-1.js
index a5f50af46b7fb9989b56fa64ca81b7b571441744..f90363700db973f1393f92ef9d0f2799bdc3d061 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete String.prototype.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35.js
index 681c86f73a7eee726b717ec8f7071fa89601d7c5..b00aece0d8df0da9d6382f18c313ac51f7019c8d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36-1.js
index 77683cb030648db07d28aba400c764e9f0b50680..63cb5c63f0db1479fb42a3624b74da60f805414a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Boolean.prototype.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36.js
index cd3a8f42d6bba9e363e78416f349931cffbb873b..ee41323443a8e2e6b254d7416cfb3c7cefbde0c5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37-1.js
index 0815eb997368df8e7edef0edafd1a144205c8fe2..2f67ef5adb8c045e2ab79b5a3e32522b5b11cf00 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Number.prototype.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37.js
index 992a7daf34ae17f6e243e7bf43c650f3d1e79386..e8f5e2f9380f019e076bf4cb41fd27345bec5e75 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38-1.js
index 4a80d64650e838d53bcc22afd2dccf77434b7bc9..98fae1b965be4fc9af2fb1f6850f1d5c03d02ae6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38-1.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Object.prototype.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38.js
index ecba7b1e5ba2d9c54257196be16fa6165551c18e..ba2efe4bf22a915e1e66ff5033fe1141c610f63f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Math.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39-1.js
index 386a215e7b04e93dcd3ac0c4e190cdce4090a2b5..61c5fe65de09ff11f03757df71fb5f24b272ee7d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Date.prototype.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39.js
index c72e6f50761858b4a64936c3dc09c95618a46a5d..3490318fca20ba6afce6a2ffaa93d671ad13dd0c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-4.js
index bd7845823dded00e998fa7b0ab74c94f86430e57..2dc2ff48be8f69d5894c3910a2b678ef67e0ba0b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-4.js
@@ -45,4 +45,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40-1.js
index 0ce505c3fced793132c905929adb7f1cef8fcdb1..641dff3e827513c415de9a46a94031e8b539d390 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete RegExp.prototype.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40.js
index 0b74b41b9f0a06c0b7ae7efa5f2e1e34c99913a0..f37f334431e7eef8742a1917053c488863faa950 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41-1.js
index 9ef35d14f17c948a7f1388852841de83b95d9933..704afffd5706e95d5588e058e9baaedc1b356586 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Object.prototype.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41.js
index 1122cd621b1e10db0eecc287555586d679cd83fa..20ef99f32887a5debff1f4db923944d33a367082 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41.js
@@ -44,4 +44,4 @@ function testcase() {
             delete JSON.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42-1.js
index 5bf678ed0f0d5361cee768f8da6bd8b25603bf6f..849ee3f5b024e9ca471a865c15d32d54dc6d8b3d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Error.prototype.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42.js
index 0a6b01ff0e4e247fa7bb0adbf87827c53e944c5b..61a4bae1c5daf8d22d37e46b5d1d0ff865f10dac 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43-1.js
index a4892b3aad34b649c905d0dd6004c99356de42cc..25ea4af13dee01d9601b19d0276214480c41fd93 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Object.prototype.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43.js
index d8e083bde8c2aa1d45a110b9e0984e6c1d9ec511..6078b9e6f03315b3a2a3b6b63ead4edd25fad66f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-45.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-45.js
index 5bbf07b01b2931669a2f6c2b31d2d9bb0c893943..6b9a9d83bf6d6056c175024ff49989a6aad54ecb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-45.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-45.js
@@ -44,4 +44,4 @@ function testcase() {
             delete fnGlobalObject().enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-46.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-46.js
index fef93bc06b458c8c984f4086473c9cb9bb7634f8..86c4b01242c0e262ea6e9f38f967beb6a8514936 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-46.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-46.js
@@ -39,4 +39,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-47.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-47.js
index 0f72afd8e2ace4f9798af9672d97b443d06636d8..7dcefea2da5eb975750cce217fda8eb69e84254d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-47.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-47.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-48.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-48.js
index 0cd93bbbd33b0df73393283c3b4eb43f396c0251..3adc19954cd6b447d70c0ccd5e274900a88f2d39 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-48.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-48.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-49.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-49.js
index 9b073947445bc0f5628913e13129240bf24760fb..0f1c3869edde025af7bed0eef97e0e3763041eb5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-49.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-49.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-5.js
index 40a1b889894f71fadf6a7d446475505d71259584..7f72610c04150bb438953df7a9bc80bd4610466a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-5.js
@@ -45,4 +45,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-50.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-50.js
index 0cc65ee983bc279d2b983aa4494ccb65316c6e84..583e972d27a6de93536ec2278d77c1e3224d5a65 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-50.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-50.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-51.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-51.js
index 4ccc71394c1e7e7122d45c6cf1525f85e0127856..d7082acf78173fd724991a044f2dc1568ad11fc6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-51.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-51.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-52.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-52.js
index b48a478a8b33a8be994fe1889eba9a0027bfbf71..fd0627675ac3290adc3e6dc80d861741919172df 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-52.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-52.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-53.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-53.js
index bc32df5d497aa463ef4de79fabb0a4b777a7642e..85641faaa647d7d1526078c4ad7ad1e4340ce1d7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-53.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-53.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-54.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-54.js
index a0ed45978df2e700033ce9fd2e701811d510d8eb..9ab2abe0d2d3fdd527a9e88c473e6d4fe5cf756a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-54.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-54.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-55.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-55.js
index 091f2cd51cdd98fa4c73f6516df32a4dab56ab25..fafdee2b01373bb4ec6425d140af724b9b6f48c8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-55.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-55.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-56.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-56.js
index 1b108300c02f7e00e8e0c5df9d2118054a3ded87..0210a023b737877c490d643fedd91572808b7e9b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-56.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-56.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-57.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-57.js
index c9fb1dfdf776ea20a0feb675fb35535a9e95d60e..c076740e8dd2672f13f955c08b9b4211e9b24627 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-57.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-57.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-58.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-58.js
index 10f83aebebfad3a6470772a58ecd5b0487246079..74b98f6f83a2649084438a7df0d65944bacebc1a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-58.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-58.js
@@ -39,4 +39,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-59.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-59.js
index bf198176938bab9015df3f2c83685a0dcdb08726..31a52c940d350f51547b62616391a47dcb6f26cc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-59.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-59.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-6.js
index 7bf0b0ed1a1a7ba8b950bfa71c02b63179c4dd1d..e302de548354dbdba40b9bc7fac5f28a0f9888c7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-6.js
@@ -45,4 +45,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-60.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-60.js
index 5b666df80695541938f285ef14d563c958ebc430..f7a248b8b09466179845f6c1c332befda4a3f750 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-60.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-60.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-61.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-61.js
index 9a1057ab0f0dad02eba829b3875dd6d88425cc70..3914343f293d746366a271d345a9dfbd4bf4722e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-61.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-61.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-62.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-62.js
index c48620d45296df704db5b6fda6cfe9636c3c2588..c80e2faff86d1b30be43911a5eb123ec28f59b27 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-62.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-62.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-63.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-63.js
index 3027f0152507cd8616da3c8bffaa9a6d075807b1..aae1c938770938032f1cfe922b45638313478a7d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-63.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-63.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-64.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-64.js
index 8113e5fc7c985b28509fcca501ce2f0e8e50d03d..209ad5a16e9e383189c612deba4300ed32c460e6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-64.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-64.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-65.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-65.js
index 61ca24fa975e6eaffb519a9587a0b6957b272e28..aba9fb9f4ec44d1744f893d6e92937a340606c7e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-65.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-65.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-66.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-66.js
index a71882a93fa72e0d5ad783b6305a84856643bcef..2527713438c67fae48a0bdb61e8a28768541467a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-66.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-66.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-67.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-67.js
index d1c5fd2b2be1f9a704e98809e72a615304552876..aa63c3a7381bdeb27269fa667028509f0e358468 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-67.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-67.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-68.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-68.js
index 5922c2a6843f99e945d667606131ff54d35ef999..240c76e94f5e2410aa9158f0c5660b1007db5ddf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-68.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-68.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-7.js
index 90b2de2b948a738e6bcd0dfe761ddbbd1c3163db..5988e6b7227a6e8c36fffe0866b12e9e27df7521 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-7.js
@@ -45,4 +45,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-70.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-70.js
index dec453b4303c6e16a215c938e61ae8bf061a995f..815e6f645129a422f6d12859dc18018c9f530584 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-70.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-70.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-71.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-71.js
index 3d1cdf6b6e69392a3596a611fcd10f623ac7a41f..195712d6315ca003887c2108e290e54c493519ba 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-71.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-71.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-72.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-72.js
index 676a90a5f8e9d326870f41907c0f8eaf3812ce7e..df8d890e51d8558b4b6d19b972a05bd1b7e11adb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-72.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-72.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-73.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-73.js
index eb24d28915fa48b9f52f2e774f15dc3e5362d987..47a6afb187dcef351ed766f03384f52e4916ba03 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-73.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-73.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-74.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-74.js
index 7e94211eea5c74069c432844b640ad8ee38de5a2..dc6f0f735bbc9c717bb1d881ce6ef7d7b533fb0f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-74.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-74.js
@@ -38,4 +38,4 @@ function testcase() {
         return beforeDeleted === true && afterDeleted === true;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-75.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-75.js
index 67b0aa08d70d71c160b790a9c7e9a05c74c69aab..f38a6950581e0d66f40ac8f04f1a429e553028dd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-75.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-75.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-76.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-76.js
index 46f72eaa558db6dd0be1c7291298260bbfcc0a43..0aeb5c96a593697c57e3650bde212fec3dc64959 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-76.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-76.js
@@ -45,4 +45,4 @@ function testcase() {
         var afterDeleted = obj.hasOwnProperty("property");
         return beforeDeleted && afterDeleted && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-77.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-77.js
index 3de5a178fe2e36962804f212cb7cdbd38a9e1e23..42fd0ccea946a9a597b43721971763bd2b7a7172 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-77.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-77.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-78.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-78.js
index 08f3f52ed0f55479e2762073aa01189a6e42b9db..b962f34b25ed310b8c8fc2c4175cd516b8881441 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-78.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-78.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-79.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-79.js
index 0ebd575fa5a91e218abef9f127999cb7dff1bbee..99977547a67ff7445a0fb7916b90db2964a98411 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-79.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-79.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-8.js
index fa8ffb6b353ce738136f7fa6a5e568d349e10436..689d013d6005d85752f3a6dae4ff51c5561e0603 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-8.js
@@ -45,4 +45,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-80.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-80.js
index 6bce584ccec71c7cf268fa1cacf16e081cf1d1af..f51672362f8bf4c4264dfd14b8c2cb64afc20686 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-80.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-80.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-81.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-81.js
index c40f374f2270191fd59aefdb4350249c065944d7..6cf080a44f4169b59881912472baf018e7605683 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-81.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-81.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-82.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-82.js
index dfbe0c2dcaf73b69c703d3e08dc78fcf4a6726d8..6adff7e6556a6c4453ace2857f2aae2ed49c0622 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-82.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-82.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-83.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-83.js
index 9fde59dc2cd8a03074317fdfd9b361676b4442f0..179b4299f7b90772fd7a09c27af85c9b44c7683c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-83.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-83.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-84.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-84.js
index 85b7749a53d837d8194666af87af725bdd87a052..98efd21059a446f533e442c0e338345b6db4d028 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-84.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-84.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-85.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-85.js
index 1b9ed2eda6a91588cf632827e7fd956634c3efef..a7c218556d25dc9dc14adc8405ac61d4989266d4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-85.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-85.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86-1.js
index d3140016d84988747d70661842a18d8ed49d44ff..8eafe68370ef57b90c8ad46c59b6cfa682f1ade4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86-1.js
@@ -45,4 +45,4 @@ function testcase() {
             delete Function.prototype.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86.js
index 0aa1e68dfdd3790f4f3ec5d4d244e25046ffb46a..d5984b3263cdd399654a964f1ca8a47a8cd6ed25 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87-1.js
index b29be397f8e7181fb6c9a5dc352903e0d1e77aa8..8354e11b14a4cb1c88e6369bc296adc2357660f7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Array.prototype.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87.js
index ffb246bb0300866e60e645e461104b18684be9e9..97ab8ff01e27c644f79c52d971aba62f09518851 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88-1.js
index a97f3bacb32c897bb188776ee8ba5d1819b38b51..0d519e54c8c70b27fc49806db96c2583520e7efb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete String.prototype.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88.js
index fdbd05a579b92e125e4fa4a5fc9436035447bdcc..c49b66ac5256c5ee0c3f3106a847561aaa361e63 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89-1.js
index 79456d0f90f61fdab356227b88dd2fba2970a5d3..18da243dead8597d5046f52cd89bab75222dacab 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Boolean.prototype.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89.js
index 2edade261e028f74c0169c5d44fbc76f96e54779..f98c7693a214bf8abe77385004074686b2f52c27 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-9.js
index 4044c0dac91987780d5aba6052b6b1768fdccf6a..41dd70fd387850e0a0594f7316e0a75d6a33be48 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-9.js
@@ -45,4 +45,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90-1.js
index f6ae2b8d6ccdcff00015ae7f2ee299c2a3bc9895..d04261f486479f7d9014f9fbc427fdc459da8921 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Number.prototype.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90.js
index 92bf53dffc1163b55d56f553e5c44efeea72c34c..76557b521d156eb1aaa96159575e66c4e71d3f16 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91-1.js
index bee9a67c7993a09b3d3c63921116001dceb222a0..b1b1f1c15271a0efc7f3fbf278a463c6fb1c0968 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Object.prototype.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91.js
index 31c12eb4f3bb118b59411cf245cea99809f7ecb3..e3cf23797d0180c193a80cf06c468fd4ab675886 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Math.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92-1.js
index 46effdae68887436b78182aed56d1c18a9903c02..ce051042fc77e30846dc33ddebfe5f7b85bb4df1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Date.prototype.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92.js
index e1ffd0d0dc17b46650c5e54f2158222d870cf063..aca900be5e31cf64503889d88df20482a4d3c12c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93-1.js
index 38bc4ab73ef4b771c500ef4463bc6aff15179c0c..cc31a4d28acd79be93ab1a63ecc880c2b7780a2a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete RegExp.prototype.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93.js
index 06fcbc1003f208ce99fa07bc4fb9a0ceabd382b3..12b60dd4f8df4a1851ba61481e8c97320d7a9189 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94-1.js
index 6f92743f01164f1d1f5536f6dd45524f175730a5..f89ee3e08475fab8697c9d965eec45da3b90f280 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Object.prototype.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94.js
index b4ad8acc914d127ef98a28d45feecce20a3c8c48..122b0c8149525d1131fa1e404874db306dc05b4b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94.js
@@ -43,4 +43,4 @@ function testcase() {
             delete JSON.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95-1.js
index 6f3068d380e26a817513c7ab2cbfe35d58f078d6..691782c0d6330d3d548798d67e0a04ffc7a6853c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95-1.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Error.prototype.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95.js
index 23dca0ff8164efe8b61acfda08e8571c6bcbaa2d..b0673efed35a9ff49044ee4154b7e2376dc54a08 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96-1.js
index 5888e946abf85df4320191b794b8a3ec5a07c88a..f96589bb49e661b7184db14e4fc42ea5f478c515 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96-1.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Object.prototype.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96.js
index 51542e6a835b5926e3b8c8cacaec4d59f5095b9d..6d3de3c8b677ff0ecaa730d5d3d33b09f0ce9b24 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96.js
@@ -41,4 +41,4 @@ function testcase() {
         return beforeDeleted === true && afterDeleted === false;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-98.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-98.js
index 448faa0780d4983ab23b0bd66ea8f09ef3cbe0de..5c654f5b351c4d75ccc8fb7d90f44aea35a10f32 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-98.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-98.js
@@ -43,4 +43,4 @@ function testcase() {
             delete fnGlobalObject().configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-99.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-99.js
index 45925cb2839918fdce9994c0f3c16686312cf728..62ed30f20fa41572f429816179f5d837a716e51f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-99.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-99.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return beforeDeleted === true && afterDeleted === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-1.js
index 520b811cc7c5ad6624e647542750388e927eef79..2def0a90a9f0208b7d42fa353a155828f0480ccc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-1.js
@@ -45,4 +45,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-10.js
index 5e4a42e8a3705e90ea3831060309d3f04840e989..4436829707197151c45b3cadef065cddfeb03a7e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-10.js
@@ -57,4 +57,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-100.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-100.js
index 599fb8fc33f2f654564eddbb7d3469ae5af68907..89fa3ad4ab6d07aef4f990c1d6e8ea14b5b867d6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-100.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-100.js
@@ -35,4 +35,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", 200, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-101.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-101.js
index 8b20b4a9bd811d9fa0627bf8bd31938c6159b8e4..735751a7c076fd1101595fae7c6488fbe2d764c3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-101.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-101.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { value: undefined });
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-102.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-102.js
index 3c332110545bbe7a1a21abdce19d0824fc1cb6ba..8e62a4dc46c3ff5f5d9c2d0d4c9d87cefbb3fd93 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-102.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-102.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { value: 100 });
         return dataPropertyAttributesAreCorrect(obj, "foo", 100, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-103.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-103.js
index eec6f15208f0dcbdfb8058f124cda001cd1d7929..19af846a32f97631fe46b5dc962808d42d178652 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-103.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-103.js
@@ -37,4 +37,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, true, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-104.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-104.js
index bf491538f9e1ea29506f8e8849e91e2f43c030c5..731d272213c01c6734600a37fb728ccaec851b36 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-104.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-104.js
@@ -38,4 +38,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-105.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-105.js
index 66a3f34d022066af2749c50e40b125b977199f0d..46fde2bc36f347ec48bdfcd08adc649a6a723330 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-105.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-105.js
@@ -41,4 +41,4 @@ function testcase() {
         
         return dataPropertyAttributesAreCorrect(obj, "foo", 200, true, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-106.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-106.js
index bf003ed064edeede08e7e87370901220a55f7315..f1e8a5d14e786f4c37bd09ca0afdbdad901a1c4b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-106.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-106.js
@@ -42,4 +42,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", 200, false, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-107.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-107.js
index 8ed96c87bca7343d877fda18b62ded9b69ddc1c5..4176d4cbc3d8f82912bd69acacfedc5304590448 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-107.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-107.js
@@ -51,4 +51,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc2, setFunc, "setVerifyHelpProp", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-108.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-108.js
index 46f289b440981671ff2299249ad289ca7073d80b..dce480577a7aeb95a514d601e16d215c6575d39b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-108.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-108.js
@@ -49,4 +49,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, setFunc, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-109.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-109.js
index da37863028eaca748df16866ad68ffd17d3bd2c4..895d4288357b93f51e19ac2a8e7c02e87e32b1db 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-109.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-109.js
@@ -47,4 +47,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, setFunc, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-11.js
index 77142e3b18095e5146a5bff6d582ebfa88abe9f9..21eb4e849107f92201ed7f8632e0f13c4ce30fec 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-11.js
@@ -57,4 +57,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-110.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-110.js
index fbf49fc75c2b4bed93778cb9feb4a47a113157ce..3ca3926e5ef271d35c8e0bf8e37b052c855a47a6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-110.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-110.js
@@ -47,4 +47,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, setFunc2, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-111.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-111.js
index ccc4fdc7b69ee4a8468ed6f94406257506a65aa7..48ea2033f45ff9a24c7bf3e26cb00d8f8cc5ca0d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-111.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-111.js
@@ -52,4 +52,4 @@ function testcase() {
         var desc = Object.getOwnPropertyDescriptor(obj, "foo");
         return obj.hasOwnProperty("foo") && typeof (desc.set) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-112.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-112.js
index c399f409a200d8062e4de5b5737a03c1bfc98a6f..8fc629b9117d99cf179c7a660d9c70e33549b853 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-112.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-112.js
@@ -48,4 +48,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, setFunc, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-113.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-113.js
index 291f59180caa06036d328896679b79e131181ba8..9c0aea1fd5ed1b6e974fcb25ccc146643a5ee242 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-113.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-113.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, undefined, undefined, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-114.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-114.js
index 7ba79dffad579556570aa77106ff019056ab21d4..6cb802af6409f5d41f14ecea964cb03035076e28 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-114.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-114.js
@@ -48,4 +48,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, setFunc, "setVerifyHelpProp", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-115.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-115.js
index 49f2f186c752a961e3aa3f5f497c2b93dd2436c8..2d5f5226e420a524d07b270bf7795e9b78c81573 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-115.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-115.js
@@ -53,4 +53,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc2, setFunc2, "setVerifyHelpProp", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-116.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-116.js
index bf9eeac5c89691d7a878f06a2d983bf7cb1a900c..e8ca5f42757cdbebe2d253e91adbc643ca12818a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-116.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-116.js
@@ -41,4 +41,4 @@ function testcase() {
                 desc.writable === true && desc.configurable === false && desc.enumerable === false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-117.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-117.js
index 9da0bc1c946677d573f81c106ef816a2c3e66609..8a2a780a418d649f0a5dc25d4ca78b73c9de0841 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-117.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-117.js
@@ -47,4 +47,4 @@ function testcase() {
             Array.prototype.length = arrProtoLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-118.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-118.js
index b016058b5e352c65fa28d28fe93bca9f76a3b53e..8230e608813054edad23b15b882fff44bc3c7b19 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-118.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-118.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return verifyValue && verifyWritable && !verifyEnumerable && verifyConfigurable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-119.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-119.js
index 551fcbe20cf42146a1457e202b3f889aed142511..d18550c1c59e347fe529b15dc4405383f0a5730e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-119.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-119.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return verifyValue && verifyWritable && !verifyEnumerable && verifyConfigurable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-12.js
index 69698e775c0b85949713b868d43cb968ccba7705..592bf1c05ca51ad0d58a10e6496a5cefa3d9f18c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-12.js
@@ -58,4 +58,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-120.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-120.js
index 09f83b523591d659c4fca9916ae0c76321c40d48..b2d8d365e5c34cdaaae9c55f0fc00228e8decc24 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-120.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-120.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-121.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-121.js
index e789c76aa3b92864da683754bf7ae40bd0d2dba6..0c4370deee62255719e49ce23a16297b6a0150a8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-121.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-121.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-122.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-122.js
index ed2b51ec91abd28363b51db316d707d70a5b5fda..f2be66ce9ce4ddd3e01272f51a9661926c95de33 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-122.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-122.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-123.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-123.js
index 4ccb7f622bf3b151096b1fdb68be96333841be9c..3a92575f9e0f78495b51f48db93c57e009019c45 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-123.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-123.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-124.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-124.js
index 4a13e614ed33125dcb8ec84497d2611d26051f53..0db45ed48f585b23defc6bc45e7326c987f921b2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-124.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-124.js
@@ -33,4 +33,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(arrObj, "length", 0, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-125.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-125.js
index d40164ba83146cdb2727ca68685060526b57ec87..c9f0a800e449c1a03c8fd985d12fa1482c0356dc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-125.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-125.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof RangeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-126.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-126.js
index f6ed09f00e12a38ffea5d962067c30583340896b..58bc76636c752cba1ddf62b9a187f4b76114cf35 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-126.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-126.js
@@ -34,4 +34,4 @@ function testcase() {
         return arrObj.length === 0;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-127.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-127.js
index b0dfea68b0d37b71bec919cde2acfeba081ea28c..b6215a2c7b2d72f7023b6f28a0b0d549ff26de9a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-127.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-127.js
@@ -34,4 +34,4 @@ function testcase() {
         return arrObj.length === 0 && !arrObj.hasOwnProperty("0") && !arrObj.hasOwnProperty("1");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-128.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-128.js
index 306d4dbf5b77a0943a1954757b4d27fd5f68f83c..b41d86b545ea9c3dc5e532e8033df987dcf20a4d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-128.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-128.js
@@ -34,4 +34,4 @@ function testcase() {
         return arrObj.length === 1;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-129.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-129.js
index dd3c34ec13c34e8a59c5659bdbc6d101867ad851..bb3b64e8fdba52945321071ab07e7a383f94e423 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-129.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-129.js
@@ -34,4 +34,4 @@ function testcase() {
         return arrObj.length === 0;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-13.js
index c9d8590d5972f3e8be0d4e0b266b4f6ea8aae0ea..03b981357dfbe8a685207a32ee8232b9917641e5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-13.js
@@ -56,4 +56,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-130.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-130.js
index d58071737a8520a5c5bdef183b4d3b8464ba6713..e3d89469147825f38c8e410a0127eb2609a3ac6f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-130.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-130.js
@@ -34,4 +34,4 @@ function testcase() {
         return arrObj.length === 0;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-131.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-131.js
index 021f481ab1c9f16f9e7c0334eb1378a58d6d2d87..b3d94292cf73d50b6448e3e8cee9889da1dab93b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-131.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-131.js
@@ -33,4 +33,4 @@ function testcase() {
         });
         return arrObj.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-132.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-132.js
index 487eb6ba3cbeede082b8b1e06fa2059c9ffee8db..addeec6628b2bd3dccf0d1150140073a37022b14 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-132.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-132.js
@@ -33,4 +33,4 @@ function testcase() {
         });
         return arrObj.length === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-133.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-133.js
index fb2bb0cc998c8f6e86e69bf68e329c08800929ed..4faa8e9d50bd8a41476d5f6288a7088cb3797c98 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-133.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-133.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof RangeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-134.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-134.js
index 9dc86943b4eaa6c98f3ca70ac08becf5053e7391..80460c4d5af193e0d25939171bd798cd80c662dd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-134.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-134.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof RangeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-135.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-135.js
index 0940d05a9828a8c7fa7766328664199c9b1d6be0..3c8f2bb55e8258e72c1b598dfec9ec02e18110fb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-135.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-135.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof RangeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-136.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-136.js
index 3a80f91640b25fe106b8830e95fb7bfd16c7aa71..b42548b13851bfc16e3b608bcfdf8ad9d448d6c8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-136.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-136.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof RangeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-137.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-137.js
index 048e7411426fb1efd15b86a31a350159f1dd3c6b..ebe134361da2b5639d6c9572f8a35c82483e4161 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-137.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-137.js
@@ -34,4 +34,4 @@ function testcase() {
         return arrObj.length === 2;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-138.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-138.js
index c634f8bcf64981ddecb83257e5fb6fa2c7f84f75..b946953b6763f126b2d387c379d639c766e65b5d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-138.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-138.js
@@ -38,4 +38,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-139.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-139.js
index 85c52dbf27e363be35171310562f3a36bacd29c5..b8ebc363a9be83d241a34c7b0924228b0b6fe7a4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-139.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-139.js
@@ -38,4 +38,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-14.js
index 8e03d139a65eae0f5be2c5fbf145933715e1e02c..b9888c135c5a7eed92da4dc5a1f0f0bce0b486a6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-14.js
@@ -53,4 +53,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-140.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-140.js
index 688c4211a94b6e565a88174af76aaf1ec5f80a0d..54a6272aee11ced8e4d4ae16201a7afc1e9ab109 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-140.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-140.js
@@ -38,4 +38,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-141.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-141.js
index 9d23240eb87013b42dcabbfc873973a9fea29aed..155d62f4e1433e2c1aaf4c301c3796c44b704c31 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-141.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-141.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof RangeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-142.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-142.js
index 165f6dbf0296f6ebe8e86c1495df30407ab60e81..6c5c0307e53318378028e723e6b89883e10d6345 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-142.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-142.js
@@ -33,4 +33,4 @@ function testcase() {
         });
         return arrObj.length === 2E3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-143.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-143.js
index 55338b7ed8098fd6f16c7bad0f2e06131fa47500..abc8bd3bd7a6cd3438f0cecac139fe0f5663bbc5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-143.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-143.js
@@ -33,4 +33,4 @@ function testcase() {
         });
         return arrObj.length === 0x00B;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-144.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-144.js
index 06e11946ff43d3f0fb966364c878f1135a66291e..cfc5763ab1b7d6eb6682ca1fafb4ed5216718d5f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-144.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-144.js
@@ -33,4 +33,4 @@ function testcase() {
         });
         return arrObj.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-145.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-145.js
index 6b4927e57ed2efc8e70c91be7f91b1988a410c1c..ab7e84c43d96b03f23687d6d5125ecf681bccfae 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-145.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-145.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof RangeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-146.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-146.js
index 3a65fc7459c366268b0c49344ddd0428b454e9f5..398d2de0052f27e18b0af2de05e65a9ca4527896 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-146.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-146.js
@@ -38,4 +38,4 @@ function testcase() {
         return arrObj.length === 2;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-147.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-147.js
index 5743bc3d52032182fc4e7eae3160e4537dd65bfb..bb34735f51a5c78b0d8ece7d220f9e95ec60153a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-147.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-147.js
@@ -38,4 +38,4 @@ function testcase() {
         return arrObj.length === 2;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-148.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-148.js
index 6d1f6a774abd13da7094ae808513ef479adfb48f..3f5f3f4b7d26b71cd23e1cd935b63cbef5e377d3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-148.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-148.js
@@ -46,4 +46,4 @@ function testcase() {
         return arrObj.length === 2 && toStringAccessed && valueOfAccessed;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-149.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-149.js
index e9f35f58826e7747ccf304cdec459d95d90aac1f..a3d765c7bd662bfe8b16c0f37c8cc48fbb6b2c51 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-149.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-149.js
@@ -46,4 +46,4 @@ function testcase() {
         return arrObj.length === 3 && !toStringAccessed && valueOfAccessed;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-15.js
index 862e9d6721eb60aa3155d9c0b59592588aa4d7e6..6f7c597c078dcaa2863f76645c4099403073e38b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-15.js
@@ -52,4 +52,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-150.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-150.js
index 071574d6e3134133c5e6d2392a23bf0ceadbddb0..ad29759389e7198d39d747449490efd0b4d8c757 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-150.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-150.js
@@ -50,4 +50,4 @@ function testcase() {
             return e instanceof TypeError && toStringAccessed && valueOfAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-151.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-151.js
index 88c46acb2bbcb93c332b11601e3f6581ca407c37..1604d15b17fb234838b3314668095bcf7a86612f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-151.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-151.js
@@ -52,4 +52,4 @@ function testcase() {
         return arrObj.length === 2 && !toStringAccessed && valueOfAccessed;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-152.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-152.js
index d35499713f0a2fb550af05ba20f076aa0016adfa..4fc8f5444fb42a14ccf7f683292ea7e5fdaa3544 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-152.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-152.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof RangeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-153.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-153.js
index d30f26e492366f7d1b20edc651d4bdaf1146dabc..b2866c64759780e2972263c890c8ad1c376ff3b2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-153.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-153.js
@@ -39,4 +39,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-154.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-154.js
index 17f1eaf63df71816ca6ddfd89019fd1d1796e658..23f14b91d12dc9d4a8084ef8ab543ee49d521adc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-154.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-154.js
@@ -35,4 +35,4 @@ function testcase() {
         return arrObj.length === 4294967294;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-155.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-155.js
index 7b61ab4286e820e308854e71cb65bd21b68e0499..8f0cf431b782b94647d96120708fa9bfce859873 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-155.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-155.js
@@ -35,4 +35,4 @@ function testcase() {
         return arrObj.length === 4294967295;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-156.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-156.js
index 92f625a06082872deb2a18ee4d61af3411c8eb19..43009eb0f8c6d31605be83bd879ad74d458e1d03 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-156.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-156.js
@@ -38,4 +38,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-157.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-157.js
index 6652156c0da89c43b52c62c2ff11511da1b609fa..61d0244dc3ecb963633973195458cd209e17ac00 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-157.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-157.js
@@ -38,4 +38,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-159.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-159.js
index 1e5b14ecea7ef549315ab990579248b407c9bad2..4136cdd2d6786d1ee5bac9c107cfe986b9761ff4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-159.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-159.js
@@ -36,4 +36,4 @@ function testcase() {
             !arrObj.hasOwnProperty("1") && arrObj[2] === 2 &&
             !arrObj.hasOwnProperty("4");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-16.js
index 1ca2635f4345ea9c495d1f2dbfd81c85b799796f..6b768e6988cb269149bd63dffd7762be655e7415 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-16.js
@@ -55,4 +55,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-160.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-160.js
index 884f3d6538cf612ffb4c67e78501b3fc6a73b31b..e1ec37f39ada399fc32de18b002949f830fd0912 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-160.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-160.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return arrObj.length === 3 && arrObj[0] === 0 && !arrObj.hasOwnProperty("1") && arrObj[2] === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-161.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-161.js
index 25f0c7217c65ed3dd0cbdaf174503f2fe71b0a90..beaa7eaeb87673c0db034725fece49f6a807e48e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-161.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-161.js
@@ -33,4 +33,4 @@ function testcase() {
         });
         return arrObj.length === 1 && !arrObj.hasOwnProperty("1");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-162.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-162.js
index 5c77ee8834acfdb917c8cd4c4debb090af334aee..ca5857bedf0d873734bfa789aff2f84e0400ac52 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-162.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-162.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-163.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-163.js
index a4568c3983b6ec61c3c66f6e20fa6a7d668e84bc..3bb0f2f4a8abd8e33d702510f434bbd804434c8a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-163.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-163.js
@@ -41,4 +41,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-164.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-164.js
index ca8aa63d36d85fc41ff41946dc9fe23ca7624841..70435bc62d04ca43c2dca48bfc9eded7a007f017 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-164.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-164.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-165.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-165.js
index dd5bc88ff3e77ff7c7366023ccb24f9dc604b34d..602f939b80504ec44978b70125e59c1e8a127ce5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-165.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-165.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return indexDeleted && arrObj.length === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-166.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-166.js
index 80baccf6113e5b386bec0c87f4f7e0731a11329a..7d0558e71dfc953d948925bc6a5e2b9ec4bad37f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-166.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-166.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return indexDeleted && arrObj.length === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-167.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-167.js
index 6016eb57cd89d493ecd1db802742d3ae4b2fb0f2..53aa2d2d21470a2ef98100781a2ff23e825d9052 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-167.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-167.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return indexDeleted && arrObj.length === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-168.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-168.js
index e6f06b5565d6fe83ae506c864ddc72bd1bd8e19e..10acb3fa0fd286ca5f55fbda71d5d393b90b02c6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-168.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-168.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && arrObj.length === 2;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-169.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-169.js
index 95a944033c97636bcdd1ff118fabfa9725ffa076..bb4d74cd941e83ae988feacf7343331b7415583d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-169.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-169.js
@@ -45,4 +45,4 @@ function testcase() {
             return e instanceof TypeError && arrObj.length === 2 && !arrObj.hasOwnProperty("2");
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-17.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-17.js
index 8cd047486ca1af6d588364c007510f04e013c5c2..9344df4200761ccbf1c43a2fb3f5c50889f384d9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-17.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-17.js
@@ -56,4 +56,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-170.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-170.js
index 01f66d2439c8af942b59507b17525b20876a6c8d..bc830e4f8003013f72368a6ad6308fa6f14d6b39 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-170.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-170.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && arrObj.length === 2 && arrObj.hasOwnProperty("1");
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-171.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-171.js
index 137dedf99e36f205577ee075efd28090cb4ba54d..fbb0959744bb8b07803d0816fc287773df4718da 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-171.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-171.js
@@ -37,4 +37,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-172.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-172.js
index 764ce807e4acf4edf48e9ebfdf8d3f9ba8e59041..cb1cc88e83fd3242398f33bf3660b921b70a3ebe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-172.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-172.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-173.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-173.js
index 17cbd02963f5ed4a4f446f2b1c88d38a3f5a8f18..30d0243da34174c1d1b31ebb58b336dff01c6806 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-173.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-173.js
@@ -50,4 +50,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-174.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-174.js
index ed125c69f6407c94390c216fbdc2d566d70e5519..85a3708e8de1b9c6cb58da08a92ee9100fe876f9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-174.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-174.js
@@ -45,4 +45,4 @@ function testcase() {
             return e instanceof TypeError && arrObj.length === 2 && arrObj.hasOwnProperty("1");
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-175.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-175.js
index 1ee0d6b954543a6d4a97b1ef0d5d02ce409090ed..ecf4c3d78b02a1c9585f28eafbb26da3a017866e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-175.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-175.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-176.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-176.js
index 3bdd9f3e7e60cdcb4b6033e63c1c1a00e5005f26..ff06abd2d2110ec800c29a9ed986e040d047f765 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-176.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-176.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-177.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-177.js
index 8e7ee6890493585be2a7a19f3c2aec753a6f5659..2239419527270dd4b7aabdd38d4c61034a0fdf3a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-177.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-177.js
@@ -52,4 +52,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-178.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-178.js
index c40fdc9d8c1d803dacd44bebbfef0e84d8b19709..0d470c7b95b73aed91c1949073b4a429a7882242 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-178.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-178.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return !arrObj.hasOwnProperty("1");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-179-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-179-1.js
index cd9e646415af4a202c761923a48efd8fde67e01a..89b8d39f0d0dd6da3624ed3f4ca9aa4dff9f8a82 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-179-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-179-1.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return arrObj.length === 3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-18.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-18.js
index e4e22cb050bddefae6b2c5d9dd298208d88c7f91..86a94c824306ae18ed48b50688edce884a8e359d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-18.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-18.js
@@ -57,4 +57,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-181.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-181.js
index a9ce4d33e8dd90b17ce56473350d1f80848ccadf..9b41d91eaf415d9ddb02f36c64d179c13e87f2e3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-181.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-181.js
@@ -36,4 +36,4 @@ function testcase() {
         arrObj.length = 10; //try to overwrite length value of arr
         return !arrObj.hasOwnProperty("1") && arrObj.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-182.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-182.js
index 30d32a79ea7eec5c5badf3dae645087fa433d6e8..fca731e37d3907ab49ec98d21563d8942e152900 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-182.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-182.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return arrObj[0] === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-183.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-183.js
index 3855f37b3d2ce7c6d34f9348ef44fc76de2ed82f..dc7fa0c4253e74812c2c73e9c862d5de06d0752a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-183.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-183.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return arrObj.hasOwnProperty("4294967294") && arrObj.length === 4294967295 && arrObj[4294967294] === 100;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-184.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-184.js
index ee7649842884fe2f481456b0279599a79ad46ca4..90c0cfea9d675c07c03fe36fcddaca99d579dff5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-184.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-184.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return arrObj.hasOwnProperty("4294967295") && arrObj.length === 0 && arrObj[4294967295] === 100; ;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-185.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-185.js
index 0ce98ebcbc483848a13a92add8a0b133902e9f4c..15687b9713c9f3e7a818fc9f266cccecbd335e1c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-185.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-185.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return arrObj.hasOwnProperty("4294967296") && arrObj.length === 0 && arrObj[4294967296] === 100;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-186.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-186.js
index 758aed4a8a8293b4d902cfeafbce260ed740dbb9..e940863f4c82b4b41d253273756abf24d1c3c7be 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-186.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-186.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return arrObj.hasOwnProperty("4294967297") && arrObj.length === 0 && arrObj[4294967297] === 100;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-187.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-187.js
index 177d22aea2b496a43b46f6bd431ceab82451689e..2a7280d2756f4aceaa34d83448d95b5843834840 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-187.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-187.js
@@ -41,4 +41,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-188.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-188.js
index 700f8e7e9132d89ee65639288aa498c4b38c3edb..77bc6dd433c7bc78832e90fafc7659c1e7ac6902 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-188.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-188.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-189.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-189.js
index 43702eaf9848a12d09b45ebc69eb0676e7b04243..9d1ec39978ea18c45a736e4d4fa0f9e805cbceff 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-189.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-189.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-19.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-19.js
index 7921e0d2edf06df56d7e20d7e5bfae998d6350a2..19b3401ece05fcdc5783525df27cc0163acf4e91 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-19.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-19.js
@@ -51,4 +51,4 @@ function testcase() {
 	return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-190.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-190.js
index cdc4705c5686b795c77b1cdf38ef19acb40fd29f..903d705b41c63a7c57b2adc8d60f29b28ee67764 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-190.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-190.js
@@ -41,4 +41,4 @@ function testcase() {
                 dataPropertyAttributesAreCorrect(arrObj, "0", "ownDataProperty", false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-191.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-191.js
index 06a658b85a326f8d5a505dd5f42ca97dfe5cc99d..a886a3df46d7477550d110055136120036b1b3c0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-191.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-191.js
@@ -42,4 +42,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-192.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-192.js
index 970bd7c4203943406fb0920a711fc60b0e55710d..b8e4a80e67a5a814a7d5ac23efbcdef6b5653809 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-192.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-192.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-193.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-193.js
index 728b81441852b3aea88e0ff6ae13f12243f5ed8e..f802b25575ae3abbf488a66abf84697cb53ff9b7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-193.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-193.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-194.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-194.js
index ded5da165068f9361c7b723d3c9627fe362aec6e..4bbe238358771a82c5edee3c92d7cdf2f9c5ab81 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-194.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-194.js
@@ -45,4 +45,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, undefined, undefined, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-195.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-195.js
index abcc41a18bcdb646a90ad3814de62559c0a3bf4c..cfd9ae34f5341dd81d1046c94b141d050e28429c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-195.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-195.js
@@ -55,4 +55,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-196.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-196.js
index b66275282bedc75f8fac254a732f7c5d6b8de50c..d4fcdf6ee7542c758c04d2cff1f2e5cf1f3becdb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-196.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-196.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-197.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-197.js
index 8554d1afe4965d1e10176d530334219c825c4261..4d27dcd62849fbcf3ecd49358e807a97f65c6cc8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-197.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-197.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-198.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-198.js
index 9924e945372f5b1f14fe651ab88ee06891955198..56fca35919a89c0396bd2bab083b37742f974b95 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-198.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-198.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof TypeError && (arrObj.hasOwnProperty("0") === false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-199.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-199.js
index ae95d22049e0c926db54958eac9e838b5c5fb571..fa586680a692ec82568f8285a3168491cc33f881 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-199.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-199.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, false, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-2.js
index ab50aea1ed1c2463b67e90efec306dfeb442422a..54f76bd7cce4b58f9ca43a036a194cd6c44a4dca 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-2.js
@@ -43,4 +43,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-20.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-20.js
index 08ea24ea75292e386f17c1f06e7577f02d585264..db47c9c23b5777ce45257223e90db56ada41b626 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-20.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-20.js
@@ -56,4 +56,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-200.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-200.js
index 321912678fc01c4922b386cafe895da627b974d5..b66dd0b9029b2b1bb3fb5f8afcb555d9437d8d6e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-200.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-200.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, true, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-201.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-201.js
index 50f36412eb830f309a1036ab146251b2967cdd00..1c741663ef3b492782546d35c061fad972a0b7c2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-201.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-201.js
@@ -34,4 +34,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(arrObj, "0", 1001, false, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-202.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-202.js
index bf3c811f6e87461724fa78253ac0768c7d34e2c4..dc1c4493ad7417ac01946566d574845a056f4001 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-202.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-202.js
@@ -34,4 +34,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(arrObj, "0", 1001, true, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-203.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-203.js
index 2482418a3461c9b095ea471df02a71df7810aff7..bcab132f0548b9f743c19a551061f7bc4776f903 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-203.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-203.js
@@ -34,4 +34,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(arrObj, "0", 1001, true, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-204.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-204.js
index bb03edba9b2fc4970eac14b4b0fa43a6590673e5..e6d528a6267157b9007bbd2fb2fd9c7a5031d101 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-204.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-204.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arrObj, "0", 1001, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-205.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-205.js
index f5527c585993dae7394a38e9bd1b8c4c6cb34605..4f6ad02bedc56b0ff64a9f4e45fe888bd93f6324 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-205.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-205.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-206.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-206.js
index e67a6991eabeeb29a5402c3ba32df4c021a2ea42..8e392c560cf3a110b4a14cf5b3a3826c51d0a098 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-206.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-206.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return arrObj.hasOwnProperty("0") && desc.hasOwnProperty("set") && typeof desc.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-207.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-207.js
index ca4bf7a82f4e507180caa319594205ddb8b72903..c4100f87fa51e2d10362909186bc77577c408d67 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-207.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-207.js
@@ -39,4 +39,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, setFunc, "setVerifyHelpProp", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-208.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-208.js
index 80aff70997982abccfbef6a60118eb33d2c4b23a..79c5df8b8b024ba2d5924777f8720b0be9ef8820 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-208.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-208.js
@@ -38,4 +38,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, setFunc, "setVerifyHelpProp", true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-209.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-209.js
index 46ed2b38a919253851e3a1eddfb975bbdbd8e70b..4d3b9776178b48a3ab954b45955ed66b99e08fdf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-209.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-209.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, setFunc, "setVerifyHelpProp", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-21.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-21.js
index 86f3daec03b983df329fed3272e75d6748e5dcba..c0eab0592f4e7eebcfb916451c069873a0e0f106 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-21.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-21.js
@@ -52,4 +52,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-210.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-210.js
index ccdf3b1b3a7c339c7a58c33925c62aeab40163ae..2f3656fb67411c3da143eea0504e047cd4fe42c6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-210.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-210.js
@@ -32,4 +32,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", {});
         return dataPropertyAttributesAreCorrect(arrObj, "0", 101, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-211.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-211.js
index 4d96f1932b190513033ece61f0b29528e3d3219e..ddfa53b23382ccd5f5c41c4e2801c98d5c5584c3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-211.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-211.js
@@ -44,4 +44,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", {});
         return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, setFunc, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-212.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-212.js
index dd2759f8ae3a1446d3610d338ce02eaeb50073be..41689fbf725e508309ba5f7a1756c6aa38a20c7d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-212.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-212.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arrObj, "0", 100, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-213.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-213.js
index 87eb1d2f0d5040b37dec3dc401bb9edc66b83f4b..09aa8b9314b22d0f912beebee8ce7022b4987f8d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-213.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-213.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, setFunc, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-214.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-214.js
index a437b68d4dbf517254c9c5d35e17f0124fee6969..572a121520f293ef49dfa6bf9c01a0d8b8974c03 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-214.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-214.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "0", 101, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-215.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-215.js
index a8d7909abc05ed64d65266194319545519e084bb..276313befd2ab8dce2f33388623b139ba0e5cb9f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-215.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-215.js
@@ -32,4 +32,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", { value: undefined });
         return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-216.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-216.js
index 1586c4da0c85c92f58c5dffc10fdaf0b1f5bebeb..7890ed8e05304ee67a9ee015b8f9883f929bdf7d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-216.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-216.js
@@ -32,4 +32,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", { value: null });
         return dataPropertyAttributesAreCorrect(arrObj, "0", null, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-217.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-217.js
index 4902394ef01db787233581e38bc23b9307f35f16..d27018be5db8c07753a2d392e76b6f2cc28346e3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-217.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-217.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return hasProperty && verifyValue && verifyWritable && !verifyEnumerable && verifyConfigurable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-218.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-218.js
index 1decd707dea36c77b0fd01f4b5ea93bd878a501b..4a6aa478cfd00ab613ea2183b66f9631c59814a1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-218.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-218.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "0", -0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-219.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-219.js
index 4f667c1afeac971452c17489ebfa7a8a36b5c199..55cb06eb264a3b3cd32109b5865a29bc1d6d79d8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-219.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-219.js
@@ -36,4 +36,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "0", +0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-22.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-22.js
index a746b8e3ca80b6f17248c08c5ee7adef5314bee3..c6e2d613e0d9fff1ceaccb0d3c559c2a6306d07b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-22.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-22.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof TypeError && obj.foo === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-220.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-220.js
index ed4c546ab739af5b03b95e6ddf57420461bb1dd5..59c2e4313d520699811ed869dc94ca4915696b79 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-220.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-220.js
@@ -32,4 +32,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", { value: 101 });
         return dataPropertyAttributesAreCorrect(arrObj, "0", 101, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-221.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-221.js
index d7994553a07b230fe397bc1ee11fee4306423055..5fbfb2f3134ed5c25c9ff5e3254254c1fafd1f80 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-221.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-221.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "0", 101, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-222.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-222.js
index 94bd33de867acc6cea29ce21f8d36fef7f53d752..869ccd8b9b8f343da4ccaa73f447b6f2290322b1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-222.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-222.js
@@ -32,4 +32,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", { value: "abcd" });
         return dataPropertyAttributesAreCorrect(arrObj, "0", "abcd", false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-223.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-223.js
index 5cbd73643c244c60865b1da46b30012efc70accb..864de0e395d0c085e7e8b91f8bcafc049fe97e3d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-223.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-223.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "0", "abcd", false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-224.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-224.js
index c2e6b6a130bcad6a106c17f609a1fa6b1b054279..9014fb437e8c166b92df19583e17347a988962c5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-224.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-224.js
@@ -32,4 +32,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", { value: true });
         return dataPropertyAttributesAreCorrect(arrObj, "0", true, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-225.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-225.js
index d0d6684fac77c2b9b536e421f705526d35208ac6..d33cabef2b4b05ffe12e06b25575851a0561f399 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-225.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-225.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "0", true, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-226.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-226.js
index e86dec8b61560511f51c68be65f0310555865d78..52d4d3928baeb3060d6bfe6095752c18bb43cf90 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-226.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-226.js
@@ -34,4 +34,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", { value: obj1 });
         return dataPropertyAttributesAreCorrect(arrObj, "0", obj1, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-227.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-227.js
index cc7939b46bb425bf9d8593e78f12ef1336dd75ce..57ee545abe319a44a1cc29fe4f624b2da6ac18f7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-227.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-227.js
@@ -43,4 +43,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "0", obj1, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-228.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-228.js
index bf5f14052b97ef08f08062deed26306615867713..a06cfd586b455a5ea974f81119a4f02f6d91c0cb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-228.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-228.js
@@ -32,4 +32,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", { writable: false });
         return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-229.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-229.js
index c705779d574125f4829b733a880a814d927b2afb..e9e2b3682a080854b9d6de1eb7d2d1894a769447 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-229.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-229.js
@@ -32,4 +32,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", { writable: true });
         return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, true, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-23.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-23.js
index 5200563d27cbf4a3f261381a13e8ca2259c16b65..0e306f5ca0b45637246c7c5bc762b1e8a23d5314 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-23.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-23.js
@@ -40,4 +40,4 @@ function testcase() {
         });
         return obj.hasOwnProperty("foo") && (typeof obj.foo) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-230.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-230.js
index 51d9203032e8e92c6a562af7b976bd382627d67f..3840872e2cb2529bd61bc6c6e6b5d2284d41e1aa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-230.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-230.js
@@ -45,4 +45,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, setFunc, "helpVerifySet", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-231.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-231.js
index 85c2d11158ab99d4e944fc4d784995d1d07d0a3a..b3abe872c4189802aee57d32bd42a501781f7316 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-231.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-231.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc2, setFunc, "helpVerifySet", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-232.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-232.js
index 540261d75fd4a3df1ca7cddc4b221194b64a9862..30cf0f5551dde2dde5c20e52f2bc5958d4419f14 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-232.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-232.js
@@ -36,4 +36,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", { set: setFunc });
         return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc, "setVerifyHelpProp", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-233.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-233.js
index 562a30645b97dc0759c1689d37475b6e8e9b1c75..a69d7150319eaffaa8a71ec61dce6c05b5a19af6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-233.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-233.js
@@ -41,4 +41,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", { set: setFunc2 });
         return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc2, "setVerifyHelpProp", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-234.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-234.js
index bfc68831d49026cbfa4ab1a52c06d66814be437d..5450968397dd5b0bb4fe49704ea88d0db39934ad 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-234.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-234.js
@@ -32,4 +32,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", { enumerable: false });
         return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-235.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-235.js
index 498037a6b6d793fb10e1c60da2f64810ba0278d8..e43fea2dfb65476c1e00d447498e8d8d58070cc5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-235.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-235.js
@@ -32,4 +32,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", { enumerable: true });
         return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, false, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-236.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-236.js
index 2ed85d1bd71c0c1b9be21e93e9e5c1ff5a33c3f5..749542fa982bb908362dbc64fbfe590013d31c09 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-236.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-236.js
@@ -32,4 +32,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", { configurable: false });
         return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-237.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-237.js
index 874915ae85d340ce840ade9e1dad5b1e955c3243..71ccb1989f6e916514aedd339d706ac321caa1a3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-237.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-237.js
@@ -32,4 +32,4 @@ function testcase() {
         Object.defineProperty(arrObj, "0", { configurable: false });
         return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-238.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-238.js
index 97309b25904986194a39e4d0013e672b61b0c342..4becacafbd587e120086df3a88215d7470cfde3c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-238.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-238.js
@@ -46,4 +46,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", 3, true, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-239.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-239.js
index fba43bb301b77832113f1c4825ebeaea8e8dcd3d..b518e8621bd7fab56ff2146d13d27731b3d505c9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-239.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-239.js
@@ -47,4 +47,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", 3, true, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-24.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-24.js
index 9f4b0594b7defbf53eeba7151349c43546d08a38..b654a3a8d54655ff6490f88e422d33b3b473e607 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-24.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-24.js
@@ -48,4 +48,4 @@ function testcase() {
             return e instanceof TypeError && obj.foo === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-240.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-240.js
index 00f94c1a7b71bfbf7fbeb0fcfe4c2b66fcc15acd..3dd9642b2543a2ca39b66e725dd9763358521091 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-240.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-240.js
@@ -47,4 +47,4 @@ function testcase() {
             return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arrObj, "1", undefined, setFunc, "setVerifyHelpProp", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-241.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-241.js
index 257c39602090075a65beba88fb97b6423d4e8ca3..05abfb04b5de6ce4f4a80b7ab4ae5318d96224d9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-241.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-241.js
@@ -43,4 +43,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", 3, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242-1.js
index 806d379ff86d092d3d50ab284c31b822a00e949e..3b012ebb28e0ca4050f03e70f6cf47902b5b303e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242-1.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arrObj, "0", 1001, false, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242.js
index 74b11f61a3db73a5ca80e86a7242e5e3d6c9c880..4be634a6a2f60ea5be885dcac50786d2939eb7b6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243-1.js
index ccfcfbdf38cb29ce9eae8c18e8ef9deaf243efa5..3bfae8e4ca3b6d371d648fa64edfe41a8c4be64b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243-1.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arrObj, "1", getFunc, undefined, undefined, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243.js
index 6146ea04a93bbf6a78349d35938116b06beb0a39..99afe090f37afee04f3a8788d6fdaf53e00c1949 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arrObj, "1", 12, false, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-244.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-244.js
index c143bb3f46d9d92b5d60e9a2adce455708f720a3..dd9d00403a35df76a77d2f8e7d5a64595e069f9a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-244.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-244.js
@@ -43,4 +43,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", undefined, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-245.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-245.js
index 8fa4dd23c63b499befb7f3233cad1d55292a4844..b94859b6e526dca4cb4ced6584a84d466efe769d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-245.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-245.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", 3, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-246.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-246.js
index 7875907504e32f34764c888f6354290bfdca2306..19e1d37a740a14f2a4ca0264c1898f80f3f9830f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-246.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-246.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", -0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-247.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-247.js
index 375ae2820899373582bbdf27ffafd70c5496c135..db6f3de06ea49552d922d9b1f949413af54cc07a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-247.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-247.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", +0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-248.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-248.js
index 937ef741735ddf56e653ee52d2f3b1f01bbb4072..50c290a0e48ddd598e0f48ae523ef0c247d9cb91 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-248.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-248.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", 12, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-249.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-249.js
index 9a1a9aa5594a55bb55196ed851b9c9628e1ca4c8..ddf0af61b87001071b416413b52164b3c2194b86 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-249.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-249.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", "abc", false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-25.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-25.js
index f29dad912ba7a9e4495b00d33a3f061857541662..239237bfa306fb05274718d88f143c58a9edab0b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-25.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-25.js
@@ -48,4 +48,4 @@ function testcase() {
             return e instanceof TypeError && obj.foo === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-250.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-250.js
index d6c3afd87b6301cb87a28c429b9ce82de699dfcd..5d4449fce6d6f67ecfeccdbce34d4843ea3ee5a9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-250.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-250.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", false, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-251.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-251.js
index 6e769e0c5f48ae8100c14f2770f098db5ae7f77a..231ec357993d1d63ce79540a1a738968dc8509b4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-251.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-251.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "1", obj, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-252.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-252.js
index 522dd2bc97d8b40dd6da11b325787bd1f18020e0..8fff5ff44250bf5a408db45c4a29f767827131e1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-252.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-252.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arrObj, "1", undefined, setFunc, "setVerifyHelpProp", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-253.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-253.js
index 5bb43111da5bcb841d16c502ca7794b2dae26344..244e731e38ab2aa264930e5d1a89de5e7573aff1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-253.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-253.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arrObj, "1", getFunc, undefined, undefined, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-254.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-254.js
index d46832a5521b08de9ca900b82f9478a4de2b8f04..4ccd189379d7c5073db37ad5f07aee032a2b9ecb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-254.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-254.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return hasProperty && verifyGet && verifySet && !verifyEnumerable && verifyConfigurable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-255.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-255.js
index 011446e9b642f599e0223a7a59eea0093777c047..a999af6bd921bf9a088686e9469a5fbc1220bd62 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-255.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-255.js
@@ -65,4 +65,4 @@ function testcase() {
                 verifySet && !verifyEnumerable && verifyConfigurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-256.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-256.js
index 82261fc5cae90a947852c1036bc516d3e02bc6db..2e46fe6027170279be912ee803245f4fae743f76 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-256.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-256.js
@@ -62,4 +62,4 @@ function testcase() {
                 verifySet && !verifyEnumerable && verifyConfigurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-257.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-257.js
index 1ab71cbabfef46d8492eb42864fbdb5a6715ddc8..79f9b14280ff7d232cf4fc2e28a0021c3c300e27 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-257.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-257.js
@@ -46,4 +46,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-258.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-258.js
index 2f0927e40ad132f652b6c49c06de0ee8eaa46c92..e53688c49e8a4209e2b19ec354b2c3b27898db61 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-258.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-258.js
@@ -33,4 +33,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(arrObj, "0", 200, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-259.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-259.js
index 674ef1bcf1248348d812c858a8ba5867c8f417a7..0ad9303302cdf04442e8ee260bbb7de92c772d4b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-259.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-259.js
@@ -33,4 +33,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(arrObj, "0", undefined, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-26.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-26.js
index 29fa76531494049025b9e038b95f08e1c6615c66..e74283bf4a2f2314a5484cf3579391cdba640552 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-26.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-26.js
@@ -46,4 +46,4 @@ function testcase() {
             return e instanceof TypeError && obj.property === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-260.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-260.js
index 551c1c25c008fd7ffdf819ee7a79e1e1f102af8e..3c89b1f30c2431ed1b05ba66702f46bdf69313fe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-260.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-260.js
@@ -32,4 +32,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(arrObj, "0", 100, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-261.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-261.js
index 0cd1bacc2cba9c1dd52f97a717018fc83d147f0c..ca5a56506b8d0d88a4d64e2efd88509f63be478d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-261.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-261.js
@@ -32,4 +32,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(arrObj, "0", 100, false, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-262.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-262.js
index c8d42a5a614c402467711e500032cd360bde8cd4..23ea8a9e5cbb2a2329ab4bd465626585b469cb5b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-262.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-262.js
@@ -33,4 +33,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(arrObj, "0", 100, true, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-263.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-263.js
index 419c631705fa0ae3fbf61ee475a91ee5b6ca400f..356320cc37e087954f4c045fe38ced8f1f55893c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-263.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-263.js
@@ -33,4 +33,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(arrObj, "0", 100, true, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-264.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-264.js
index c901b70e8b13836bbdf54add1253813f01c78844..4b77bda2d47210e4c305e446d97d4c6929a95bc2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-264.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-264.js
@@ -34,4 +34,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(arrObj, "0", 100, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-265.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-265.js
index 508dc3a9b1a9147a8eb0850750d198604205c83d..476bac21ccadeb8343a66a5895a62f8513f770c3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-265.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-265.js
@@ -42,4 +42,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, undefined, undefined, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-266.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-266.js
index 7436b1df3b5adaa4ee51414768f10f519a98dbb5..3cd7204d0932724099a7da5de7e7cfd69caea186 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-266.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-266.js
@@ -41,4 +41,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, undefined, undefined, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-267.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-267.js
index a6cfa0ddd545d44f6c38d32ab9ac5d5dc5658736..ee02a4686b36ce20d85f7a13f62ac12fe266b0b7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-267.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-267.js
@@ -41,4 +41,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arrObj, "0", getFunc, undefined, undefined, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-268.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-268.js
index 0ff18a625446b7cf79e5ff854780f5c74116ee16..4835a244b8f309f4f0289e9607bb7178dec8b48c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-268.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-268.js
@@ -41,4 +41,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc, "setVerifyHelpProp", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-269.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-269.js
index 86c0f935af04176b464c1331b7d9c8783e4bf966..d276b311314c939dcf900e033c3f3b6f25b87b88 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-269.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-269.js
@@ -38,4 +38,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, undefined, undefined, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-27.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-27.js
index f16f438d09de66bd0920ebf3065e3e7787f85016..590950681118a1ad36b586b139f59b49a7aa943a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-27.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-27.js
@@ -45,4 +45,4 @@ function testcase() {
         });
         return obj.hasOwnProperty("property") && obj.property === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-270.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-270.js
index 33a4a8e0e659e5b7a7223c2a6dbc388c5c74f83a..3fd3f60bfa2ed6f20067046169c57ec3c97ea254 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-270.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-270.js
@@ -42,4 +42,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc, "setVerifyHelpProp", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-271.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-271.js
index 8d458d60b165c523e3136104b80b4ecf8c742247..b7ca1408a6e3f6fc37aeb9b8c40a3f51bf123ba5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-271.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-271.js
@@ -43,4 +43,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc, "setVerifyHelpProp", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-272.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-272.js
index fe75db11333be50a813e60b581d57b0036e5d8fd..eacf3d83b0d42f2da7be3cede345283580f5524a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-272.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-272.js
@@ -41,4 +41,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arrObj, "0", undefined, setFunc, "setVerifyHelpProp", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-273.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-273.js
index 7011de716305b80f20e74c9e4064506b82b0ff63..f631ecccb2a6d5936c1b44c57bf7b75c74cdbd86 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-273.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-273.js
@@ -50,4 +50,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arrObj, "1", getFunc, setFunc, "setVerifyHelpProp", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-274.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-274.js
index 7f28e6156d173cf7b48f38a868f14cae01ccc11b..bcbd1a149e18b06d2dce90bc343b5a25b83ad455 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-274.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-274.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return arrObj.length === 3 && arrObj[1] === 14;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-275.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-275.js
index eb0984aeca000d51499349b5ab714c0734e744cd..80adf52fb5b724ebd195e889f2fd1326cdb4e344 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-275.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-275.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return arrObj.length === 4 && arrObj[3] === 3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-276.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-276.js
index 55acb662afa2db581837ac10fba45f1eb1110b22..ce851bee2eb982c3282d639b54de4a81fcd27b3c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-276.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-276.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return arrObj.length === 6 && arrObj[5] === 3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-277.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-277.js
index c3bb8ae441ebbe32fa97898d5f1939b9c60b3a11..d5760ff101755c2e918b4d48dcc33a058c3648cd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-277.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-277.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arrObj, "property", 12, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-278.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-278.js
index 4bdecc7541633873ba7d6c5d46ff2f2c20335af4..5d4b3ad90f0ae6f7dbb6a3a974fca6ed4954be47 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-278.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-278.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arrObj, "property", getFunc, setFunc, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-279.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-279.js
index d6e05823713783edb9cd2340d4fa70b71677c0b5..f20fe0951625b09c228dd78bbcb21b6a59e97229 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-279.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-279.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arrObj, "property", getFunc, setFunc, "setVerifyHelpProp", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-28.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-28.js
index 28dc5a11665e6e6f04eff09f85bcd49179515e3a..8f3c965dcc0e8f1212dccd376a86493c117e742f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-28.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-28.js
@@ -48,4 +48,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-280.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-280.js
index dd399b24101fe07ff14127855ff097a301c99b8d..2cb0020283263cad48669f65fc1fdfd9236fe872 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-280.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-280.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arrObj, "property", 12, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-281.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-281.js
index bc9f1b9c2a889a28eda8ccd8e9937f42af11a703..eb596693494b722701908a2139311f9a38f482ee 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-281.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-281.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "property", 12, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-282.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-282.js
index 796dc45dd736a3e779bd5bd515ae70ed048df9c5..5e8b586ef249199bb275451c3070541a9ca98f66 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-282.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-282.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "property", undefined, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-283.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-283.js
index d51bbdb8b71f9bf8cd47d55c314eec12086f877b..4cd7acd8bfa11bb583120bccfa758701973efac2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-283.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-283.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "property", 12, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-284.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-284.js
index 6ea55558858e9da7d8228a4be60ca6e552e0039e..f0b837eb5dc866b3addaa2c68f53794c3d3806af 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-284.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-284.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arrObj, "property", 12, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-285.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-285.js
index d282a5ef559d42b40486fa06142cbef6303126e6..e06f350093a84f946b1496c2ca14bcc6e2615e19 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-285.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-285.js
@@ -49,4 +49,4 @@ function testcase() {
             return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arrObj, "property", getFunc, setFunc, "setVerifyHelpProp", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-286.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-286.js
index 2004a1a528bf596301b984c2b38ba68a2cad42ba..44d6a6a7fa4244e2f73e265e28f82aadd6f5ccb8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-286.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-286.js
@@ -43,4 +43,4 @@ function testcase() {
             return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arrObj, "property", undefined, setFunc, "setVerifyHelpProp", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-287.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-287.js
index eb3de371db9ca45eb672c995654e34d447eca19c..7722d97006eff59838063b7fa4a2571e2c17de6a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-287.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-287.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arrObj, "property", undefined, setFunc, "setVerifyHelpProp", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-288.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-288.js
index 74330268dc387b3df90d1c9b5b14882415ce29aa..c18856628a6c89fc4ce3c897d1e1038db45490ff 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-288.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-288.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && accessorPropertyAttributesAreCorrect(arrObj, "property", undefined, setFunc, "setVerifyHelpProp", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-29.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-29.js
index 228125ab4b3b883c188453a39660918fdc987075..606947ab55d3c1fcaa09c7c8b804f2a389a8c0f4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-29.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-29.js
@@ -48,4 +48,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-3.js
index d7da7f0f9784b5ed224d067c7a18f51e3173184c..92bcddf17bb70b4a237ea79f164f8d3199638ca7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-3.js
@@ -45,4 +45,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-30.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-30.js
index 2ffb229d1f6f1b63a15b0021e397d9a1dd232c71..341a223aefa8cf86f69ccaa29563692e176a3f8b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-30.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-30.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-31.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-31.js
index c91d7ede515ce2fd855e69c1656d9ceb30643948..4edd39170fcf64dac25f4c6821c6ce03e0530e04 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-31.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-31.js
@@ -48,4 +48,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-32.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-32.js
index 68f7bc69a94ce4f19aea9b3bc57fa0bf02d8ad95..04ddab16118dc0561c03163e231d5b776de11a0b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-32.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-32.js
@@ -40,4 +40,4 @@ function testcase() {
         });
         return obj.hasOwnProperty("foo") && typeof obj.foo === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325-1.js
index 2bb12a5fda065d15ebb057574fee81baf7c099b7..7a2252936a11a8d1302dcdbef9028ece1fb12f43 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325-1.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return argObj[0] === 12 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325.js
index 09780157b9d1d0a4f7075c32d69b1b9216e82a34..a33156d4e65982ea9d08b6d6d91e16d0b30ed613 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return argObj[0] === 12 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-326.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-326.js
index 22bff0586ee2bd5f02e84cfba8ffd4b1e05acd55..13a8f5ac98827ccc624bd80a269b78f21f125baa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-326.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-326.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return propertyDefineCorrect && obj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-327.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-327.js
index a23be41fa01472404e11e5156bce3961d35ccca3..71a1d8e11c8ad757ccac92b9ee79f8473d31c314 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-327.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-327.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-328.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-328.js
index fc32b1d2919ee15d69551b694ecf63a243fbea1f..ea2312e81d682ba6021d5ca9a1d8dcc84d0eef8e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-328.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-328.js
@@ -38,4 +38,4 @@ function testcase() {
         var afterDelete = obj.hasOwnProperty("prop");
         return beforeDelete && !afterDelete;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-329.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-329.js
index 5baf4d9e02660a9d681142a80893d7908e4d4e57..3866022d94053a97ceaa37e94269c8c0df197130 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-329.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-329.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc1.writable === true && obj.prop === 2010 && desc2.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-33.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-33.js
index dbc16c6050e2ee9b09d34dd40c444ba75d79c28a..23dc61dc2c073bceb9728cc821746bb80b3829b9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-33.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-33.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && fun.foo === 12;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-330.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-330.js
index d176f97c40efb9ce56f35c6c5daeeb4c47bc7b4b..fee7eef04718ab41c4d72da97a1dc471a6f1a957 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-330.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-330.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc1.enumerable === true && obj.prop === 2010 && desc2.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-331.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-331.js
index a44ad5549ef6cd57370bd035192b3f2f87120817..4f9d90149f1433bb0121e7978f0c5fe9cfe16a05 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-331.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-331.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc1.configurable === true && obj.prop === 2010 && desc2.configurable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-332.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-332.js
index ce0b11b5d09e28b49ac521ee821a041cff986c60..e512002da7a2366d2631b315b1032472868fd422 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-332.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-332.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return desc1.hasOwnProperty("value") && desc2.get === getFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-1.js
index 48ae14723d46cd52a938e78f464f4997fe45478b..b3bca5aba293decb981719726f027fe761ce2c98 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-1.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "property", 1002, true, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-10.js
index 7904f1a35c87f5c21cad0d8bb1032f63c81598c4..2594c46e914deb6e9e1c4c8d318b4ff6b32223a2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-10.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return verifyValue && obj[0] === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-11.js
index 62aa949ed2bd153b3f2b0ea8196344e974c361db..45ac1ce323d6288a6a4a4a0b6ce81af05ce5384c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-11.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return verifyValue;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-2.js
index 4d04a0537b126c5c3e6b1adc507253eaaab5c3fb..1f965af75ac1140a3c5cebe6e4aa2fcaa4bea9d2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-2.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "0", 1002, true, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-3.js
index e7695e159312d681b44868c15ae8485a03ecefba..f1214d539cacf48c8aeaf2865a1f059b29a49bbf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-3.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "property", 1002, true, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-4.js
index d31071cd85c2796870ec854232ce7eb608e37018..72cd09fd4a48f2ca0ba4de2fa4ae6f9c87f101c8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-4.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return verifyValue && obj[0] === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-5.js
index 451c67a56f775d4ff67ce2ee2c031513faabf2a1..73d9450677dc5b6d7223a0cc47f45aab534eae1b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-5.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return verifyValue && obj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-6.js
index ad8a51e8ef9327a4670d90586d02100aa228befe..f1c4e6e19abce0eb0e1a875f9c1f0271155344f9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-6.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "0", 1002, true, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-7.js
index b2ed2530f0e9b65113d9c67dfd12e04d7ea09573..2e99fc65e4492d7c88b2b5a5c79cf07383e008e1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-7.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "prop", 1002, true, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-8.js
index 0efd2d38ac62de5d2b86634ceabe2d6916011591..62c047e0b5c65b0bcc3f607b0a137f18ac7714c0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-8.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "0", 1002, true, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-9.js
index 42791e2f74529589aa2f1ddabca6bad0d24c949f..ce23524db29bc88539423b9dd31ca7a39cd170f6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-9.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return verifyValue && obj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333.js
index 0aaf6029080032d2b075ab93880e44d582c30ee1..78dedec8e4cb97c9942913e8a4b87fd3f079612c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return propertyDefineCorrect && obj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-334.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-334.js
index 3f21f9192c9afce0b0731fb81631cdded94037fc..06087b0f35b62f8a2af4df3fd5b5efa7797d163b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-334.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-334.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-335.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-335.js
index 3eda7148d96275c0283ca68197d7e42f277ac2b2..f24df04c023147877173cd11417f2381e682f965 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-335.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-335.js
@@ -38,4 +38,4 @@ function testcase() {
         var afterDelete = obj.hasOwnProperty("prop");
         return beforeDelete && obj.prop === 2010 && afterDelete;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-336.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-336.js
index f4ae8b4649f205b29ca0e6cc5497d2835918a0e8..26f08214cc17d22a23cde87559d52a4b361c9720 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-336.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-336.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc1.writable === true && obj.prop === 2010 && desc2.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-337.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-337.js
index 8f31d89ccc1f4697efdd50bbfaf6497e938589ef..e074ecbc11e24ada1abf849145975783b63ecc72 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-337.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-337.js
@@ -47,4 +47,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.enumerable === true && obj.prop === 2010 && desc2.enumerable === true && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-338.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-338.js
index 621d3e0f3bece9fb04ea30bd668966bc20c91d98..723572d49964bf4a0509670edcee83511e0f887f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-338.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-338.js
@@ -46,4 +46,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.configurable === false && obj.prop === 2010 && desc2.configurable === false && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-1.js
index 8d9a58b610ac0d0bfc49902c85b765bcbc15ad8f..f451dda43b2711641f3004eefb47ff89db8446d1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-1.js
@@ -49,4 +49,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.value === 2010 && obj[0] === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-2.js
index 176c7aadfa4de4565dec6235733c1aa3fa81c8cd..d49cf7ec687ee1eb7dc2f24d5160d53e0d4fca3d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-2.js
@@ -51,4 +51,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-3.js
index 7bd44deca84e8f545b53a3f5a96fd46704e742d9..8a02e61021374d1d64671bfc46fb5b87a6fb885b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-3.js
@@ -50,4 +50,4 @@ function testcase() {
                 typeof desc2.get === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-4.js
index 691d17395db28889cd883a1a2ca3c0c0a0b0f1dd..78e32ad98eb4aa7e6108b3b8862ecfa9308852c6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-4.js
@@ -52,4 +52,4 @@ function testcase() {
                 typeof desc2.get === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339.js
index 4c9b5a9bc3537b28316fe97aa4931941d6b8a496..1fc0ecc70b60212d8173855fd343778101b53af3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339.js
@@ -49,4 +49,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-34.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-34.js
index a924811dccf2d95a66f7c59bf9156c3228d9d93c..6cdf3d5b8f101d6a39b9aab73f31eb3c6b439fdf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-34.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-34.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && arrObj.foo === 12;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-340.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-340.js
index 173072b2e4ade5fa197131fb14d0f5e656129231..7028b119b514cce158a9d4207e6d7b67444acd53 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-340.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-340.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return propertyDefineCorrect && obj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-341.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-341.js
index 1fff69d8dc787533ee3bb52508a651bf293c550e..afb04fda5127d825f5aaa3bcf14d06cd62621f00 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-341.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-341.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return propertyDefineCorrect && desc.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-342.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-342.js
index dc6de81031013cc3f3e95bbff39c2dac1b25bf74..2d04e917bd91f75242f82ce8af022c0c2b71cb3a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-342.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-342.js
@@ -38,4 +38,4 @@ function testcase() {
         var afterDelete = obj.hasOwnProperty("prop");
         return beforeDelete && !afterDelete;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-343.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-343.js
index ec09b7634522f929126bbcc9601bfab6fd1be9b7..fbf4d5ea40eb3f9b261ca9213d9e768a3a429fb5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-343.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-343.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc1.writable === true && obj.prop === 2010 && desc2.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-344.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-344.js
index ea7452cdcbeb75681d95fc5b124041219b686b1d..627a99f8d44059cf07ab2f2150e5196bc766d4b8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-344.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-344.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc1.enumerable === false && obj.prop === 2010 && desc2.enumerable === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-345.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-345.js
index a3d8bee6f8a92d15749549eff34f9ee387bbc949..13277393dabcf21437076b10307b785f03a2d780 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-345.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-345.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc1.configurable === true && obj.prop === 2010 && desc2.configurable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-346.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-346.js
index df2d4087469aeab0210a088abcea6aeaec1597a1..702a0dde79b6eb705585340c2edf50c903abd2f8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-346.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-346.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return desc1.hasOwnProperty("value") && desc2.hasOwnProperty("get");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-347.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-347.js
index 34d801bb0adb6aa52e8049ffd33e96aa11dd7477..1c8c3404d6509901a7f5f425fbfdb6144d40535c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-347.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-347.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return propertyDefineCorrect && obj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-348.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-348.js
index c6feaad6c660ed23a7d3c8ef1bb308576bba5af1..161d7606a741d0ef1c3c4e77be3614be369b9242 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-348.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-348.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return propertyDefineCorrect && desc.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-349.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-349.js
index f46063fde91584802e02fde41f4e4d6e8da4e133..e49a26db231d50c4e1ccf2a39ddbcb4cab1b75eb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-349.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-349.js
@@ -38,4 +38,4 @@ function testcase() {
         var afterDelete = obj.hasOwnProperty("prop");
         return beforeDelete && obj.prop === 2010 && afterDelete;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-35.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-35.js
index 7404f4945a502405a1c93ca223e0e0a8df431f9a..3243b4e8c05b54d904b01ba90b2a67faf47bc6f0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-35.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-35.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && str.foo === 12;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-350.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-350.js
index b9b9b2d94696c6e996786ca2378687776eed3f14..a267d17aae87d0cf8cc5653105bd1b094f2ac9d0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-350.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-350.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc1.writable === true && obj.prop === 2010 && desc2.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-351.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-351.js
index e1ce0094ce4b268925de941167d37dad90de011d..612dc9df471f9c61387d1aae0c81ea70ae345a18 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-351.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-351.js
@@ -47,4 +47,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.enumerable === false && obj.prop === 2010 && desc2.enumerable === false && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-352.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-352.js
index 23692e732e42b0296b018a3909b56ca0685748ed..fe07ed94a4f24a8432b262c7ffa7a53499c3e12e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-352.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-352.js
@@ -47,4 +47,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.configurable === false && obj.prop === 2010 && desc2.configurable === false && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-353.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-353.js
index f058aa6d53bbbb84910cfa1fab23a8f9fa8207b3..9f5d3ee960cf1d3142336b9f4d64aa0645b9e12b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-353.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-353.js
@@ -49,4 +49,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-1.js
index b1f8f0877f57b0c9e46f89d96532e0c1175b4dc3..421ea10880dfa9f7c9986781bf240eaf40c7ee06 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-1.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "property", 1002, false, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-10.js
index 66ddf6032daaa09bf36c864489760270f33adafd..01196a2fed021be7f3f078beae85fcaa3199358d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-10.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "0", 1002, false, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-11.js
index c3083b336cec5ba4d7ed559aa0e01c0a172b5a19..80447352c23e07a66a1365817f72a081529a1f20 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-11.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "prop", 1002, false, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-12.js
index aee479e672b5d10e23a8eae38e79aa9038ef139b..d9120383cf01cdce3c9dec288e7e2352ceff76ad 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-12.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "0", 1002, false, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-13.js
index 6cbcc510e2ff240c8a9f40f879ff13ef3d4ba22d..46c34e4cb5f9808de72798d24044fc9f94c85e5e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-13.js
@@ -44,4 +44,4 @@ function testcase() {
             delete obj[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-15.js
index 953582da1c4d37a85b9deafeea5d4514518562b5..06065465bd0c905a7e399dc6e250b8bcb731bfc1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-15.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return verifyValue && obj.prop === 2010;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-16.js
index 42d7108381a6ef0a8c76925d5a5ccd2dda7de3dc..89d884f11860a91e4402946eb399efc6097ea9d8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-16.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return valueVerify && obj[0] === 2010;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-2.js
index cf6affc72e6a2306c2862b2c5c3c94bc2a2ac3f7..860434307f7895e3ff99b68156c835fa20e87dcb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-2.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "0", 1002, false, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-3.js
index 2e6838f209a7c563ae4eed486e012cc16a2bc9f0..4a135647fb96020c6838065c9886193cb8a0e8cf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-3.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "property", 1002, false, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-4.js
index c6f3c098413840205cf54a026372da95e44ff933..74b632f7916451a13c618ca3ce49989834dc947e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-4.js
@@ -44,4 +44,4 @@ function testcase() {
             delete obj.property;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-6.js
index f957965761e549f5adf37e6acc02377926f5693c..63a22dfbe598a6fc2f8b7ec3fdcf94d43943800b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-6.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return verifyValue && obj[0] === 2010;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-7.js
index 68b4c036c8939f8d59138d94e87afe437007c90e..5c99b4fbd8a9c8156edcfa3c68c0485e792cfcc3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-7.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return valueVerify && obj.prop === 2010;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-8.js
index b638b038b4d26b2163d627307885deb78cc1d5e4..8a83d8c9a7e7ddaddbc60c268cfd424c171deca1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-8.js
@@ -41,4 +41,4 @@ function testcase() {
             delete obj.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354.js
index 48d45771c5c480759e8fbb3f791b01b6ceb81dc6..76a76c9c513e7f7fb0b4b813774f6fae7c701a64 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return propertyDefineCorrect && obj.prop === 2010;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-355.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-355.js
index 813433057ec58bfe3c78805dcf230d1ad3b4f4de..88c40ce11e4a8a032e6da2685b72e046c5d4c99c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-355.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-355.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-356.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-356.js
index 8dce2ec092ff866ea0253ec8f71336711b39cc39..fdbc9087d6903bb35405a793432c5bcc7e180f23 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-356.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-356.js
@@ -38,4 +38,4 @@ function testcase() {
         var afterDelete = obj.hasOwnProperty("prop");
         return beforeDelete && !afterDelete;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-357.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-357.js
index 8fe11de508dbc2b4cad75b682d383b8ade6b71d8..998f8f8a04b6c46cdfde6cb5d7d9fd6176085447 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-357.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-357.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc1.writable === false && obj.prop === 2010 && desc2.writable === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-358.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-358.js
index a2089bcc7cb16fc7978991a23e2a774abd8dc2e5..21a28b04a22bc8c07e49a08ba7be28e27bc7aac9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-358.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-358.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc1.enumerable === true && obj.prop === 2010 && desc2.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-359.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-359.js
index 6f2c97bfa8395bbda5aeeeb21acacb878bf688c3..8b0a50e51a10bb7339c0ddfa7de3c8ba2e67fd37 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-359.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-359.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc1.configurable === true && obj.prop === 2010 && desc2.configurable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-36.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-36.js
index f7596e295a1d3a2e830d4d171954a6366871355c..df9759139f713f39b6b47714e1d448419eee1e26 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-36.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-36.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && obj.foo === 12;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-1.js
index 8b300f2dd12b3cfdf2cc4f45fe33c0004e3dd8ae..b0e2d43af84c34d8442102815be6076e28678e70 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-1.js
@@ -47,4 +47,4 @@ function testcase() {
             desc2.enumerable === true && desc2.configurable === true &&
             obj[0] === 20 && typeof desc2.set === "undefined" && desc2.get === getFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-2.js
index fcbc533854728e04c6904184a32ac6928c1a5018..be322083cf85a662aa0994c20ccfbf9095073320 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-2.js
@@ -49,4 +49,4 @@ function testcase() {
             desc2.enumerable === true && desc2.configurable === true &&
             obj.prop === 20 && typeof desc2.set === "undefined" && desc2.get === getFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-3.js
index 54e9f88014bae91aa1d8981bdc97b68758469a7f..a409aaf6001a67c1b08c553b279df4e871643420 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-3.js
@@ -50,4 +50,4 @@ function testcase() {
             delete obj.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-5.js
index 68b32372e6be171545a24d60ff85658ea73babc4..ebb4483d763203cee1e27491ed72a62d9ae186d6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-5.js
@@ -47,4 +47,4 @@ function testcase() {
             desc2.enumerable === true && desc2.configurable === true &&
             obj.prop === 20 && typeof desc2.set === "undefined" && desc2.get === getFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-6.js
index cfe4ddd2bc855d1f03a17338724f1e38c082a041..dd02c3e9f5cccf1c3d90a26f2fe6d2130647aa4b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-6.js
@@ -49,4 +49,4 @@ function testcase() {
             desc2.enumerable === true && desc2.configurable === true &&
             obj[0] === 20 && typeof desc2.set === "undefined" && desc2.get === getFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-7.js
index 14a2bed8f446133df0d82674a9227840dd216bf5..c95602d20fe3f70638772e7d11b85ac20762b684 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-7.js
@@ -50,4 +50,4 @@ function testcase() {
             delete obj[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360.js
index df0e06211e35393e99b1b60c2011349aca52658c..ad26b3415a91eb2cc7f936322552685becc6ce0f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return desc1.hasOwnProperty("value") && desc2.hasOwnProperty("get");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-361.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-361.js
index 97042705a18b554cbb9f892cab5ab6d2046d17cb..4a96aff8acaa49278095af7fad7922e494fb88ac 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-361.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-361.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return propertyDefineCorrect && obj.prop === 2010;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-362.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-362.js
index 1dbddac63f464129f8fe564f164e0c05cca1008b..0d76171f0f30d2f5cc0708154331256361314111 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-362.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-362.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-363.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-363.js
index e47b8533426dfab0dbd3954200ea9aa84041d652..1a11d32d527c665c50c2f2acd66cd1314261cbd5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-363.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-363.js
@@ -38,4 +38,4 @@ function testcase() {
         var afterDelete = obj.hasOwnProperty("prop");
         return beforeDelete && obj.prop === 2010 && afterDelete;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-364.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-364.js
index 43660368fdbbaee82a4895a066a5a0d0c87c7204..8b8a2f3f5610c01baa58d2142db0d0037c2ef514 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-364.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-364.js
@@ -47,4 +47,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.writable === false && obj.prop === 2010 && desc2.writable === false && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-365.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-365.js
index 0148bed8a7ab9aa05d8e832d7730398a642b9b9c..718c552e02970b0752bf045bf59f1baacafc3ad1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-365.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-365.js
@@ -47,4 +47,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.enumerable === true && obj.prop === 2010 && desc2.enumerable === true && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-366.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-366.js
index 854d3e96d9ca9fd290ac9a5ae81cd7d46f5eed4f..5a8efef4de6604b1c0fcbb05396454bfeeb8d1b4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-366.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-366.js
@@ -47,4 +47,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.configurable === false && obj.prop === 2010 && desc2.configurable === false && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-367.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-367.js
index 933b511f5ef7fff213a91450b549082508c353d9..1845aa620c01642c7e0f555dc133fc113cd68541 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-367.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-367.js
@@ -49,4 +49,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-368.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-368.js
index 8b07cad6803c144d2dd94351f288cce745ec277c..c28b2abbdc9890cdb156c66118ec4c63b51170de 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-368.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-368.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return propertyDefineCorrect && obj.prop === 2010;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-369.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-369.js
index 6a24ec8eea28569c7d62ff10c3378f26dccaabd4..e1ec66919d9e735d2c695086c51a2247e03a33d5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-369.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-369.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return propertyDefineCorrect && desc.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-37.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-37.js
index bbb7a332dcec9b9a715e1ee0d0dd9f120bb6ee93..f03ec0e40c04ebcc03cffa0653c7bee693563a27 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-37.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-37.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && obj.foo === 12;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-370.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-370.js
index a3850b741b4d1d628b577c023a30a01da994fee3..00fd52376603bb51fb67c54763a8d23a9ba21dd1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-370.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-370.js
@@ -38,4 +38,4 @@ function testcase() {
         var afterDelete = obj.hasOwnProperty("prop");
         return beforeDelete && !afterDelete;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-371.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-371.js
index 2d98810ac564220f62598491fa258df50f36cd5e..947001d75764f02981a6c67d2491e2c298e1262e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-371.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-371.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc1.writable === false && obj.prop === 2010 && desc2.writable === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-372.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-372.js
index 6d4cc258f364706234cb4e6175fbd9a404176db0..9620388d0b329ef80a4af828d01748b59c134f42 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-372.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-372.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc1.enumerable === false && obj.prop === 2010 && desc2.enumerable === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-373.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-373.js
index dfe6fca367cfbfec0a02b797b0849758ecb63592..8361401102eb5e1df1370de1ffea264a819547e2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-373.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-373.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc1.configurable === true && obj.prop === 2010 && desc2.configurable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-374.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-374.js
index 80d6e7da14a358a157a6fd39c263f27898561ebc..c6b2d79283aac5cac75e01c3389b170d34fed5f1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-374.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-374.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return desc1.hasOwnProperty("value") && desc2.get === getFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-375.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-375.js
index 344aa5993fa8243de7cfd571e6f4e2305510a772..04a5e8e374337ac34fe327234324969e42f061a2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-375.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-375.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return propertyDefineCorrect && obj.prop === 2010;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-376.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-376.js
index 18848ffcf0ba7a37e96276601ead745444358768..1c5305e14decc0eb7757d0497c8844cad828920b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-376.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-376.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return propertyDefineCorrect && desc.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-377.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-377.js
index 15e60fc6a5e78c4108026ec451f31ac9fa031d14..53b6c7d0424353d5f4206ad4801ad21f3cf4e1bd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-377.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-377.js
@@ -38,4 +38,4 @@ function testcase() {
         var afterDelete = obj.hasOwnProperty("prop");
         return beforeDelete && obj.prop === 2010 && afterDelete;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-378.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-378.js
index 9259d9ffc72928ef1bcd01373b71fa257648610b..2389401312ea5803a6418fc37b83a70f33c9568c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-378.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-378.js
@@ -48,4 +48,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.writable === false && obj.prop === 2010 && desc2.writable === false && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-379.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-379.js
index 3bc616a6af17b8f20b4ac700459031544a191b66..d8036ce609f60fe3ed9d252bf9b1719617d1c8a8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-379.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-379.js
@@ -47,4 +47,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.enumerable === false && obj.prop === 2010 && desc2.enumerable === false && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-38.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-38.js
index 8dadbfdb6aaed5fbf69a81d147819d50b6bb8500..b7eaf4a9c947420a7d25684a2d797fa68b2507e4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-38.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-38.js
@@ -36,4 +36,4 @@ function testcase() {
             delete Math.foo;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-380.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-380.js
index f97da6aa57322869830a12ca3f579eb6103574b5..75734da9b13eff0fdd7cdee82deb0d2189aa5083 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-380.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-380.js
@@ -48,4 +48,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.configurable === false && obj.prop === 2010 && desc2.configurable === false && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-381.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-381.js
index 0ddbd195a9ac2914b0d7e35c68ea06c48c116375..129a6ab06f6f24ee733a5d92dc31904574ea1d11 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-381.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-381.js
@@ -49,4 +49,4 @@ function testcase() {
             return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-382.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-382.js
index 6039b0524e006959c084a706665dec0f367ffe37..57f2ba170a81bce74c28d904f8ee8e1dcc75a86b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-382.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-382.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.prop === 1001 && desc.value === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-383.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-383.js
index b5de5a269fa8d74c73e20fbb0ed653a0ed914f98..1632b7c40bc1b20be39460c897e6756dcd3f6557 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-383.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-383.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.prop === "ThisIsAString" && desc.value === "ThisIsAString";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-384.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-384.js
index 7a1cb6ac93736316688f87ecf4c2ffa287688faf..ab40b0a9615741089eb62290d9172051535bb253 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-384.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-384.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.prop === false && desc.value === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-385.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-385.js
index 6811d1194ddcc9aec7749f259c43bbe6a007cf7f..77cb50880f2f709bd7249d6b9cc624a32f69b49e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-385.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-385.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return obj.prop === tempObj && desc.value === tempObj;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-386.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-386.js
index 917758ae4e9eacf23dc7aeb2060ccb70ebe2151b..adbb68af3edead0287a25b89197f018a933096e2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-386.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-386.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return obj.prop === arrObj && desc.value === arrObj;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-387.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-387.js
index 860b32bff641195a8e5938ec26660de12debcd73..cba8ac2219eba0a81d6998b2311719d7d35b4c7b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-387.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-387.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return obj.prop === strObj && desc.value === strObj;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-388.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-388.js
index 4f0c619615e6630f64c919635d4359abe93182a4..733cb08108bd4dcf1045c91f149eab64baf80fda 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-388.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-388.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return obj.prop === numObj && desc.value === numObj;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-389.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-389.js
index 55e8edb8d4ec4a7b195f5d38bfed6d8582c32b93..fb713a7afcbc4296aca9d1287a1590243f1775d9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-389.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-389.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return obj.prop === boolObj && desc.value === boolObj;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-39.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-39.js
index 6b4b311a40da5f615388f6757adb51475664e97d..7fe97eba3a2378a8fe4865f4f334a437bf376364 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-39.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-39.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && desc.foo === 12;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-390.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-390.js
index eb76d0cd4363eaaee160a3bc9f8f1fe220c06c56..5f9b09c5f7df84bfcace2d3a92908b887c477aec 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-390.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-390.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return obj.prop === funObj && desc.value === funObj;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-391.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-391.js
index 3b8f51a777329b2935ceb7cce0be14aff9633f8a..4ead269d496a1c6821ef27692a26acf951393efd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-391.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-391.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return obj.prop === errObj && desc.value === errObj;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-392.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-392.js
index 0fd6b110babf48321c80bec1748fc3b112486c2c..af0975fa8cf26c4956b32e8e6abf25a99aa4f786 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-392.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-392.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return obj.prop === dateObj && desc.value === dateObj;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-393.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-393.js
index 8b05488ac79b295ddc6cc5b791de087f3ac16a28..b2b057b90be7027edba21094de4e3fdd51df0d87 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-393.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-393.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return obj.prop === regObj && desc.value === regObj;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-394.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-394.js
index 49c8bfdb5628f13a18bc97c4fed1cdde32a7fe78..a226297b6a17a10f9de4a360c4c3a57fdd031013 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-394.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-394.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && typeof obj.prop === "undefined" && typeof desc.value === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-395.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-395.js
index e25d54d2948860d910136cf853efb45970e54abd..1137a1cca5abde9fe7a34c748501b970428e1081 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-395.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-395.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.prop === null && desc.value === null;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-396.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-396.js
index 0c911ce6f3520400461fe24e46c9bb1e9d6bf325..c458957f6102369f32be2ed41736ee7d5fe812a2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-396.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-396.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.prop !== obj.prop && desc.value !== desc.value;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-397.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-397.js
index bad739ad279de52bb904befe275cdd822747d7d5..d4749b31e96a0e2b6235835e083b06cb2d29d776 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-397.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-397.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.prop === Infinity && desc.value === Infinity;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-398.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-398.js
index be9c5e795945c7a77660284b8c5e371c2cb5a4bc..d79b9d53cdacbb20d3e07c5b6fce10560e100002 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-398.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-398.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.prop === -Infinity && desc.value === -Infinity;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-399.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-399.js
index ecac14fcb3586422a12bbe58190c42b6adffad28..8d7bf5fd79d064a0307406c4f308caf7954c075b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-399.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-399.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.prop === fnGlobalObject() && desc.value === fnGlobalObject();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-4.js
index 88fa30e95f38d8dcd33dccd976258c36e4214007..5f4df3036d896769e19be03a5bf62d05c374cbf6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-4.js
@@ -42,4 +42,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-40.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-40.js
index ff956583c56bd02b587404123f54c9ee477149b4..ae55cd34eee86b1d541123a1ad1ecbb61ffbe5e2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-40.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-40.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && desc.foo === 12;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-402.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-402.js
index b931e7e48859fdcb929217bf29d0fbc2c2808b00..b1e1e97950281febf7072ce24e3dbd7fcc326c36 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-402.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-402.js
@@ -39,4 +39,4 @@ function testcase() {
             delete String.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-403.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-403.js
index f4cce16329fc558fa0aca761d3b799df4aed544d..5c2a936b54f192767b16fa900f38959dcad88f74 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-403.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-403.js
@@ -40,4 +40,4 @@ function testcase() {
             delete Array.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-404.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-404.js
index 885d20bf0f63b3e368f15a8c5c5d788c6e6f2051..921e558e02b2da31d47d2b41b7aa48bf83ab0a1e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-404.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-404.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Boolean.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-405.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-405.js
index d8feee9de760ffc273bde8a7529d2de2774acc28..206e6a1d378b719b4ea998ca61ddf4b6779efd6d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-405.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-405.js
@@ -40,4 +40,4 @@ function testcase() {
             delete Number.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-406.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-406.js
index ec7d5439b54317de0bbb72d2c045a4e5fb3610af..3ba492eb5c01672704516206f08a91e26452fde7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-406.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-406.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Function.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-407.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-407.js
index d95677d9716b2191e3836981c2a48438692ebbb3..4f98ea0cfc4f1fbdee50f79f7dceec50f29334be 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-407.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-407.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Error.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-408.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-408.js
index 0a39fe7b89280b52b9f0fbbb4a4d153a598026f6..35c818854f38e3deff86d36583d4a8114ea7171d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-408.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-408.js
@@ -40,4 +40,4 @@ function testcase() {
             delete Date.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-409.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-409.js
index d45d6ea1400cf4244773902be8013abaefe2d650..c7b39f65b9bc4cc20d1c2290c8f467829d39697e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-409.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-409.js
@@ -46,4 +46,4 @@ function testcase() {
             delete RegExp.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-41.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-41.js
index 6181253e32e94869e0120253547423c344f3d7da..75a1cef12cdfcb0e00bc5b3e3b5af4618bb04430 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-41.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-41.js
@@ -37,4 +37,4 @@ function testcase() {
             delete JSON.foo;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-410.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-410.js
index b018d058ba6f4d6539bf7e1fb411253b87a60387..d475bc48ac2369c6ab76292e18abbf6ecb845706 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-410.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-410.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Object.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-411.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-411.js
index ac459540606c3f17f2342f5388c0ced855dcb41c..3a694abfaf7732945ccb273f7fbcd470094978e3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-411.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-411.js
@@ -45,4 +45,4 @@ function testcase() {
             delete Object.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-412.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-412.js
index b5e5c963678a9db81bc42724df4809ffea9e5b44..23c4fb1d894cecd3739be9bb75459682e79664e6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-412.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-412.js
@@ -58,4 +58,4 @@ function testcase() {
             teamMeeting.startTime === 1001 &&
             teamMeeting.conferenceCall === "In-person meeting";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-413.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-413.js
index 63ae7e6ee555e0be9c315c2b82baf145be3a0c86..2a7db4d39a4d9bfea58bd2b77ceb215b332a6101 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-413.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-413.js
@@ -62,4 +62,4 @@ function testcase() {
             teamMeeting.startTime === dateObj &&
             teamMeeting.conferenceCall === "4255551212";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-414.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-414.js
index a4f4741b6b90cf96c93f0cb9f1a1018f7af05b36..64bb0e4e9df393df1a8189f2552463f962644c7d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-414.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-414.js
@@ -71,4 +71,4 @@ function testcase() {
 
         return hasOwnProperty && verifyTimeProp && verifyNameProp && verifyCallProp;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-415.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-415.js
index b0488ad1e8ca7d655ed14b0edc564060e760b44b..311a6ced8d8eb9eac2ba1c33ac91105f8d0446f4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-415.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-415.js
@@ -62,4 +62,4 @@ function testcase() {
             teamMeeting.startTime === 1001 &&
             teamMeeting.conferenceCall === "In-person meeting";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-416.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-416.js
index c635b9570fba17e3453bc38387bcc66e65e5db8d..f5d14cb3fe53414f2ef2c6a2be2eb8774ce4f624 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-416.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-416.js
@@ -71,4 +71,4 @@ function testcase() {
 
         return hasOwnProperty && !verifyTimeProp && !verifyNameProp && !verifyCallProp;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-417.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-417.js
index 8d09562f27b842a3e7408e139fd08aaf8753cbed..9bbf66681f13b7c2e5a872ebe2c3c47b4d378e05 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-417.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-417.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Function.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-418.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-418.js
index 69cf9df654c2b9d32bd65dce916cdac5838eff34..3a8746cfb1d7dfeffd723743504aeeaf088baa0c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-418.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-418.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Function.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-419.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-419.js
index 2396df991ea45454eee6d0ac2d092e1a6df172f3..f9c680661c213780a1304a5bb48329c0ec692079 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-419.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-419.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Function.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-42.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-42.js
index cdb780d28344217fb76dac9045e4d36df1a228f4..54ffbd2525bfe2efde79574b62b022b3f11762cd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-42.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-42.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && desc.foo === 12;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-420.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-420.js
index f7e8f2f7f9e3a2f7a89ca816a6684c17cb186080..42a6d02cc13a8167f975f2623a4c556808b2a352 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-420.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-420.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Function.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-421.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-421.js
index 87feb22cdb4f49e2fa0967a349c80ef439e6a034..9a36b53fada53f4e7d1e009716f6ee34e3cc7a33 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-421.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-421.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Function.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-422.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-422.js
index 3517ba5b77d245101b97f085fe57df9fdbb9d7c7..34633be5982d6e4373cdb24fdda41d6af2e94ae3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-422.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-422.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.get === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-423.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-423.js
index 4c2cf73dd3c58527cc7426fd58b95ddf982c25a3..5fb60568a1b9d4d220e9e0f59182837d30adb4cc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-423.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-423.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-424.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-424.js
index b2afe49bf32078479e3787d28e19fd47992acfa8..6b625040e32c8b15e0e4437a55eca91289ca9f65 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-424.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-424.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-425.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-425.js
index f5ef4605858963ba277f283529f7ca8d9e1073a5..4c356cfe64bbed1354bc35bdd931f4a74eaf82b8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-425.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-425.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-426.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-426.js
index 0b09937e618bf4cf238eb892d08acc3e5f0e70ed..0b0c242320755cc490677215590c672b7c2ae5f9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-426.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-426.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return result1 && result2 && typeof desc1.get === "undefined" && desc2.get === getFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-427.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-427.js
index 9f40ef10eb7ec3e564727f1eb174eb8ecf199ff6..aca0cf772a42210bfe580d81ac6f21f8143d4da8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-427.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-427.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc1.set === "undefined" && desc2.set === setFunc && verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-428.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-428.js
index f5b5bde8aa8b4e7e148d49dc5b836cd0780bc51e..76a17794003269388a0d1b2374a3be581c516bb5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-428.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-428.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return result1 && !result2 && desc1.enumerable === true && desc2.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-429.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-429.js
index e4e068d973e3e8694ff95b120ac4b1a0b069be1b..787c571b7c8d74b3581da4f9c56f80c18bd11186 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-429.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-429.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-43.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-43.js
index 7c9e0521ec681a738922e59190dffa459ec50959..c17a06cab5bee3db2837975efcd9e8d96894e924 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-43.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-43.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && argObj.foo === 12;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-430.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-430.js
index a20abee69b0cdbe8c937f4a3887bd9886968f501..0551e118361fb6d87eb68208c50bda347aa9c3ef 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-430.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-430.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-431.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-431.js
index ea34e4078e212197b5f57395cef00046cfceeba8..1b5ffd186bc49d76323442355c3b0ff8ad7ca486 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-431.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-431.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.get === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-432.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-432.js
index ece3ffe8754ead9bcd89e4ea66f7e0262b5c6efb..66e12b80a34df1b9fbcd2c65c9583404454132ae 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-432.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-432.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-433.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-433.js
index e60d716a0fd4c18c2f3a9434f4a6a7c61737531c..852fd109923351595d49a7ae3c840eb9eaf0ee51 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-433.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-433.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-434.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-434.js
index a6b4d4395acd1b714a9f7e37b50f1ee5a61d574c..17fa03461cc1fef0a1a35c1f06356163a3bc7cdf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-434.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-434.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-435.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-435.js
index 9bae00139ab582872b7502a811fe723a01d1b0dd..eb9fda641635d0a4672a108eb7806cda6653ff89 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-435.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-435.js
@@ -52,4 +52,4 @@ function testcase() {
             return result1 && result2 && typeof desc1.get === "undefined" && typeof desc2.get === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-436.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-436.js
index 10f5471534946becfe799713024f2150dc935723..00669b8740f006c01eb8e4e5e913194544aa4bf8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-436.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-436.js
@@ -51,4 +51,4 @@ function testcase() {
             return typeof desc1.set === "undefined" && typeof desc2.set === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-437.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-437.js
index 1182e5057f5cd7ca8db5d6486bc8ec41a7fd0d71..696fcff1a67a53abe0d67695faa288b87cbb011a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-437.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-437.js
@@ -59,4 +59,4 @@ function testcase() {
             return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-438.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-438.js
index 0f7328d857bdaf38a66a2d0508f2ef911a268455..600588cddb87112a05b57245bd1fa68b0b42c896 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-438.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-438.js
@@ -48,4 +48,4 @@ function testcase() {
             return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-439.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-439.js
index c0a5eb5c0e77b9b6af00e16be0e98d50138b3366..2f6dfe351e62bac98298e67b9884db7f5994e27d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-439.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-439.js
@@ -47,4 +47,4 @@ function testcase() {
             return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-440.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-440.js
index e7ff4e3d0a074ff57f901bd4a23ed0588d8b4cce..56a7624f1df8424a2a3682f8bee60e26d47b2491 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-440.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-440.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.get === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-441.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-441.js
index a9f9d1ce698d0f357c808cc6251f192cbb62d579..c558ca9466f6e94a061f6eea0752e7116f8b668f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-441.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-441.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-442.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-442.js
index 511c89cb9c0910c48f0c60620858af9d4c8af999..b58b2b37a1a29b978f0a53173cf3aed1bc343878 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-442.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-442.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-443.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-443.js
index f167b58286ad5de9a696db156457cefa68e955df..f045d205bbacb2aa93c70a0506e91beb2400e81a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-443.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-443.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-444.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-444.js
index b6b51db396a2933f51df07320aac901d9d5b3ba7..c0d180f1b218ebf49d0da16bef53ffada63f479a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-444.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-444.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return result1 && result2 && typeof desc1.get === "undefined" && desc2.get === getFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-445.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-445.js
index fc80a61b6fa428dc3c363524909f3d844278b65e..05aad2d4dc7f79b4fc003abd7da8b7be9e1f8dd4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-445.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-445.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return typeof desc1.set === "undefined" && propertyDefineCorrect && desc2.set === setFunc && verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-446.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-446.js
index bc531bff8dfe04746ce28b8582ebb7083412a010..d8959721dc2541c8935cb837d0146d9a313d7c39 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-446.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-446.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return !result1 && result2 && desc1.enumerable === false && desc2.enumerable === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-447.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-447.js
index ed4a9d67d9f0b8f575c6e6c185f67287a8f8e273..7d56909c215ec6c130ac9572d3589c6451d3b2a7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-447.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-447.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-448.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-448.js
index af5d5f3ff6d9c72d999f1c5182b8b838bda08d9c..f4864a058b8339d90f5b273237e736548eaf7773 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-448.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-448.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-449.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-449.js
index aa00fcd121db74f222aee4a0fc22ec9bf72d9882..e57c1614a8a34b93474d2fc5e71da443bb6fb543 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-449.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-449.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.get === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-45.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-45.js
index 0183688e1575e9e6d098e7426ec7f9c4fb58a0dc..f8981c0e67195c6a2b85dc9eea73a5c1da38bf60 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-45.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-45.js
@@ -36,4 +36,4 @@ function testcase() {
             delete fnGlobalObject().foo;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-450.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-450.js
index 70945b2865d685a30f0b2ef974c299d9e139a918..9fd7965ca5adc7a00522a2c4de446d9162372c4b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-450.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-450.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-451.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-451.js
index 0d4ccf3dfe6a2255e3a5e06515b3c5c0663b0fbd..8cc6566e47abd2c97659ac12a1796281b159d39b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-451.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-451.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-452.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-452.js
index fa4eb62e0752fef930488e5ee88f3da9b5dec770..0686e50610498c6fe9d7e00830f62918d59dfe22 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-452.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-452.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-453.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-453.js
index dcbd7018800cba2b1b4837d253ba17619ed2750c..a69adcb201cdab5e2c331da2775fecbd105dbefd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-453.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-453.js
@@ -52,4 +52,4 @@ function testcase() {
             return result1 && result2 && typeof desc1.get === "undefined" && typeof desc2.get === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-454.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-454.js
index 38bf87e7ab4b290d8df7440fafd11a72c333b7fe..c68021261707ed24e3c9f1bc81263ec161e1df95 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-454.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-454.js
@@ -52,4 +52,4 @@ function testcase() {
             return typeof desc1.set === "undefined" && typeof desc2.set === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-455.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-455.js
index 7a71bd8346c620601bc83e1f8156008ad9816a33..71911f79ac4954258b8620e2ef45cd0a0e2a3d98 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-455.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-455.js
@@ -59,4 +59,4 @@ function testcase() {
             return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-456.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-456.js
index b8ccf6e67bb8e528b49501264b90c4adcf787031..acf689b5c5cbbe68acf2b9f9b2af4fd003a31895 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-456.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-456.js
@@ -48,4 +48,4 @@ function testcase() {
             return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-457.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-457.js
index fd67de8ceb71f642f3d9e97cdf3da5d5941b8ef4..f80f19f3d8a4acc92b4608442174142f446d0fb5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-457.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-457.js
@@ -47,4 +47,4 @@ function testcase() {
             return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-458.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-458.js
index 2259b236197a704e42afb09cfceb24ffa95e8deb..77714a7656d8e3f1482a319a138ae956bb61e781 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-458.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-458.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.get === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-459.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-459.js
index fbdeea218abc14c1c5bfb408536f155e15961482..5ebf736572280ab19cdbb1b5791b3e314f5a3215 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-459.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-459.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-46.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-46.js
index c95f886e5528abc67a3b549d2dceee58b352519a..41593f6ec73b2e30e2c3c156e79df0d755fe24f1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-46.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-46.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && isEnumerable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-460.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-460.js
index 744b4f1ace54c56e6852f091330137dc99ee6fd5..cebf982b526f9e0e94cc3135941159046eb9c94e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-460.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-460.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-461.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-461.js
index f85a559fcb062cb166a7d3163bca9173095243fd..99ec6a52e32840608c962879e6bbbf1d61f984e0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-461.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-461.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-462.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-462.js
index ff887366c836d12a18b382fe2f3a9a8e9ea0e475..578798e67590759378c0aaa2d069cd2ef73234de 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-462.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-462.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return result1 && result2 && typeof desc1.get === "undefined" && desc2.get === getFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-463.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-463.js
index 70c4004d77326439a4a45a22fa923fc6ea4ed3c6..fff3a8fa639a29e24c0b3e427daed726c699f3a1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-463.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-463.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return desc1.set === setFunc && typeof desc2.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-464.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-464.js
index f8c49d9d58a95bbf96677b3409f1edea1b615533..7a9ab0c22e894db379e8b3f8ce78791edd697623 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-464.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-464.js
@@ -60,4 +60,4 @@ function testcase() {
 
         return result1 && !result2 && desc1.enumerable === true && desc2.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-465.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-465.js
index 55afc0133254bd587434f448984a8fc35aa8cd2e..8eaf16c5f834b1404dfe55a280169a8175e63662 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-465.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-465.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-466.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-466.js
index 6f25be171a7417fc825423c85acb5c439334b650..041b90fb229e51e9d5d170934d940c4852f6c55d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-466.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-466.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-467.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-467.js
index e83b23956c1be782d23427d4e1d8d0fd2b0e6196..0b33e2577eb06d25d26f3158bbd31c6bf3ab3cd3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-467.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-467.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.get === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-468.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-468.js
index 944339b7b4065a64b14d4ea6b835aa0bcad160dd..9e2a218f66b00e66b50551194ba136df1792a7c3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-468.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-468.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-469.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-469.js
index b12ee84a0e0847aacf03aa2c9eed1f2603e226af..4a810c908d2c1e8a40dd321ecf53404593f5bc56 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-469.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-469.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-47.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-47.js
index 06d9c35b214ba47adbfcf119d790727d9889191f..a05f1c21152d0b287f2887c7027117dda7ad9b24 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-47.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-47.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "property", undefined, true, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-470.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-470.js
index a3d827bb2965598bb2c93637cf16da6ad46092ad..14f9422e1f1866edcc985af404fe3578d38b1755 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-470.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-470.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-471.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-471.js
index 2ce4887467d1c3a28860153fe2cf5abb7a8d6cca..6fb1fabe4ea135c1e34dd1a0d9fd569922bc724b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-471.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-471.js
@@ -59,4 +59,4 @@ function testcase() {
             return result1 && result2 && typeof desc1.get === "undefined" && typeof desc2.get === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-472.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-472.js
index e1fb041586c6b5c923e3bc311376429019476953..6e810853c249a27ae8d4cd86a64bc66affe35607 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-472.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-472.js
@@ -53,4 +53,4 @@ function testcase() {
             return desc1.set === setFunc && desc2.set === setFunc && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-473.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-473.js
index 31945f56e98c7beb81db4524d986c009c4720370..03422e067e00da7ddb3fba79c3581549fbd8c025 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-473.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-473.js
@@ -65,4 +65,4 @@ function testcase() {
             return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-474.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-474.js
index 3046d35f5d1419037358202ab75b01f529e87980..4fb3f708776beb4ff5fe50d868a22e9cbb2a5439 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-474.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-474.js
@@ -53,4 +53,4 @@ function testcase() {
             return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-475.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-475.js
index 8aef35032fce2ca4f75e480394b1030d4adc1ef9..a300a88f7af015c5763898a21df295b052c64914 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-475.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-475.js
@@ -52,4 +52,4 @@ function testcase() {
             return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-476.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-476.js
index 8a53105c859db57f4567da57504a5c2486d2ff6b..9043d88345012d4a2ac28a0354f657df1b822d61 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-476.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-476.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.get === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-477.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-477.js
index 66a7bdf4e8461e550d63a6e2fe2b2624d1071fd1..d141ee31b86a0d6f869b42c8cd1bee14df2bf409 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-477.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-477.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-478.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-478.js
index b764ecea15e310937fb4b426a986181ec179a6fc..de24499887693fa0bcc1825914b9c6f54770934a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-478.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-478.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-479.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-479.js
index 72e48d0130126c213f7bdae08dccf44305b9556c..50e4ed750ab4011881026d58727427cb2caece29 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-479.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-479.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-48.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-48.js
index ff0059b124387eafa9c1faf67436ccdfae74e216..168a9159fc6c64c0c8ab9ed9a04aa65aeb5d556d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-48.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-48.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "property", 1001, false, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-480.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-480.js
index a314083776491fcb40afd6dabda3cb10fa20cd3b..a45cec870021fd6a0f484172cb0f9916f4d7e319 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-480.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-480.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return result1 && result2 && typeof desc1.get === "undefined" && desc2.get === getFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-481.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-481.js
index 8f6aad9234c43e7c4e08410683e15b85387d3bfc..93229785e8b0738020e598b7d361198cd85d2730 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-481.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-481.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return desc1.set === setFunc && typeof desc2.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-482.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-482.js
index 43df8c7e36be90cebeb16c6e659dff276a69bb1b..098c7bf25d2b5af7fec93624bbb0d6daadbf51fb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-482.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-482.js
@@ -60,4 +60,4 @@ function testcase() {
 
         return !result1 && result2 && desc1.enumerable === false && desc2.enumerable === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-483.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-483.js
index f275bd64a7314d5e28be66dea1bb647b06787f27..6a1a5b141e154df0a0041508ad9d13a1d65cba17 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-483.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-483.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-484.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-484.js
index f2abffeb7bc36bda4813f1dfa0f30b3a26845adb..fa853ea09305ff26548f38be33e3e284f8b21e6a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-484.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-484.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-485.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-485.js
index c1d2821f56f883b6802d4f0776234c5afc68fe7e..d5a3c94efc4c30263c385c7fa1d57b606c978a64 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-485.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-485.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.get === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-486.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-486.js
index 02a0aba04b1837a4329c2693a6c526b3ca66c90f..f5afdc5d9337f562af99b491099a9ffde7f8818a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-486.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-486.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-487.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-487.js
index 6516f1d3c400e2312fec54193b70c53d7038869a..40e8fafa09803397e6ea338d897b2496ba2f9a1e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-487.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-487.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-488.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-488.js
index e3c9a11932270614b043ac623fbf44b030ecc2fb..0d6f5baf084cea6242965cc010e98bd9eedd6235 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-488.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-488.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-489.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-489.js
index db30e5d566603cade01ed3523468647bc3441269..c0d79783e8e987a7a084b224a0777c9b55001b05 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-489.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-489.js
@@ -59,4 +59,4 @@ function testcase() {
             return result1 && result2 && typeof desc1.get === "undefined" && typeof desc2.get === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-49.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-49.js
index 967f442c4a299e3e01e9fae2ad9efc1fc256ac69..3a1164a83b994364711fdd2b24b23befb162ce03 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-49.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-49.js
@@ -34,4 +34,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "property", 1001, true, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-490.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-490.js
index 7ec9814ae72d671a2a61fc4379cb59e99fa62665..f974b0c383c365015c4c927762e203b20d0febe3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-490.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-490.js
@@ -53,4 +53,4 @@ function testcase() {
             return desc1.set === setFunc && desc2.set === setFunc && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-491.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-491.js
index 07da455adeb9f8a9499c01d3c79f4cad5a813534..32f043d0a35cfe11facb596808edca06fc36dfa3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-491.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-491.js
@@ -65,4 +65,4 @@ function testcase() {
             return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-492.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-492.js
index 5b589734a21997b418850f97d2bf53ce076a209d..feccd4085f43c697e477f342c6379790c49fb390 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-492.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-492.js
@@ -53,4 +53,4 @@ function testcase() {
             return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-493.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-493.js
index 5d24add6aae168ae71d6d09e40ceda7d8dd94404..690c773c27eee57eaa6afe8f6bcdf9a7ccfbf16a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-493.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-493.js
@@ -52,4 +52,4 @@ function testcase() {
             return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-494.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-494.js
index 1d8f3a642b43efc92e05496f59011c359cc2978a..4a854c2f0adcfb6b4c29a8f82000858d23f47fbb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-494.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-494.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-495.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-495.js
index 48af476dfb770080b4e05e6393ff9709ffcda573..d4976aac97b29e20e83e924e9b3b5e7ce61f59ed 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-495.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-495.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-496.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-496.js
index 8146371772048d344761b927c25ba8cbf7dda4ac..eb6a7b87c23faaf73c00599d5fbd7d8e1a940ec2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-496.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-496.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-497.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-497.js
index 04ba07d4643520b2df138ae32edeb0e2cdeba5bf..81f8238d1b8ecc9e814ec27e08c9bb6b053fd395 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-497.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-497.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-498.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-498.js
index 71c68e94940283393afd9e5316dd813779ccc2f1..737b86157e4365888f4b52b0a2783cc2c0b7d2a2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-498.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-498.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return result1 && result2 && desc1.get === getFunc && typeof desc2.get === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-499.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-499.js
index 2a8043fddef6bdfaeac51122bdf6de9d02d75e91..2c3b2494ee55559b142f8d7e232260adacfb92a1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-499.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-499.js
@@ -53,4 +53,4 @@ function testcase() {
         obj.prop = "overrideData";
         return typeof desc1.set === "undefined" && desc2.set === setFunc && verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-5.js
index b2e200b0e125d19f5284b758adb308936e74d49e..5d55fd0b82dd61edcb3029a39ee195f3e2b607dd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-5.js
@@ -58,4 +58,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-50.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-50.js
index 181eb6d763b386b04eb6f05d1eb0e640e623b8ae..d947dff3b7127e9a4497f42c2d98011b8a32089f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-50.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-50.js
@@ -34,4 +34,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "property", 1001, true, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-500.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-500.js
index 8976f9e4ddf4f41b3be123f393087e2f03f2b08d..56ec2493be42387aecd705e39460270fad634378 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-500.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-500.js
@@ -58,4 +58,4 @@ function testcase() {
 
         return result1 && !result2 && desc1.enumerable === true && desc2.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-501.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-501.js
index 9babf0313f0c2116b5f9aab022de48d2c40217e8..3998c150a3ab5a6b9460f09c550f7870a98daff3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-501.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-501.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-502.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-502.js
index 2cf758715fdde42735a9e5ccc5ff0035d5ca3e33..6d4cc92392072d378985098a4f592b2eabc2e903 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-502.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-502.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-503.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-503.js
index 2e40e236ecaad74167e3dfd7b6759e3e0fde6606..f12da6b9425794b1f2ca7643e4a270d1ecd85004 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-503.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-503.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-504.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-504.js
index a109ee549db8c3ade317bc7a28376d8e039d4b96..5958eca5b4a01ce38a36bbc6f02d73d834c5c875 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-504.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-504.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-505.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-505.js
index f9fc3de43c24a9824b75da802d09d40ca7d38c8e..dd3325849345cbc6f3676e68a49cfaf5154990fe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-505.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-505.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-506.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-506.js
index bc9c011a24ed756aaba2e3c827e106eeff2f41cf..a94b79794523b6e3369b6f85f2197d3074fc2755 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-506.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-506.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-507.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-507.js
index cb6a53dc4b275ff4f014c326f40967cc83f1883a..686ef7e0ac0cd9897a276115eb8c80f6c0755671 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-507.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-507.js
@@ -53,4 +53,4 @@ function testcase() {
             return result1 && result2 && desc1.get === getFunc && desc2.get === getFunc && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-508.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-508.js
index ede6fc5f3f0770afff44a32a317604c306ca138d..c46ef72a2bec3fbe46937f9dca0215b0c39a798a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-508.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-508.js
@@ -57,4 +57,4 @@ function testcase() {
             return typeof desc1.set === "undefined" && typeof desc2.set === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-509.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-509.js
index 0ce4ba86da9c6f34371eb06d3076654920c4a695..6105bf3a4f1e92834ca9290a13fc05c2c7e425be 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-509.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-509.js
@@ -63,4 +63,4 @@ function testcase() {
             return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-51.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-51.js
index 52db9651e4d1c745ffacbe67b5b73980fc2d421d..cb326f95a33db486eaebc0345e5dc61d99f29af5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-51.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-51.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "property", 1001, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-510.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-510.js
index 1e189b0e077e35be5c4c754c68b9111c61fb05b9..6ea0075eb7c464a347c21bc005d5cd16a4a860c8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-510.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-510.js
@@ -52,4 +52,4 @@ function testcase() {
             return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-511.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-511.js
index 763337d3303bb416049690684b480be0dcddb107..0298ddbbc7a0ea324a1cbcaaf2efbc80aca46d06 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-511.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-511.js
@@ -51,4 +51,4 @@ function testcase() {
             return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-512.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-512.js
index 32f78c23a57cf725c0e506390329b23e0120c270..df23a70177263f39f6662e8a5e795159b403d5a0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-512.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-512.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-513.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-513.js
index 6093d0fec4f9ae9945721679714fc5c30d65c0ae..a2355b1ceed51ccfa49732166728febd2fa397aa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-513.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-513.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-514.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-514.js
index 60faa3e086b437055949bcb923d09858ab520513..ae4b1fe79ad50d4ee407ff978913c8f4055ec5ed 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-514.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-514.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-515.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-515.js
index 6856f71b6308ade1049ab311c0afa3f0ec09be9b..c76ef3709ef7e910e618fe1b1fcf7f8aac37c1a0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-515.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-515.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-516.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-516.js
index cb72b4c4027ad17e8fb475b4eeeae09712ae9700..55cf0d6f81525a9d8d862afa55c09abe507d3112 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-516.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-516.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return result1 && result2 && desc1.get === getFunc && typeof desc2.get === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-517.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-517.js
index 8c5f62c053c1b5298a52275c3585711e152c457c..00ad60a51479d2778d85f0c53c563d7afd7fa5b3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-517.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-517.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return typeof desc1.set === "undefined" && propertyDefineCorrect && desc2.set === setFunc && verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-518.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-518.js
index e22315404bbbbfaa91ea82e568b50df6fd794bef..e2d3535e7328a5993df149c3e4a1bc06e8e5623b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-518.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-518.js
@@ -58,4 +58,4 @@ function testcase() {
 
         return !result1 && result2 && desc1.enumerable === false && desc2.enumerable === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-519.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-519.js
index dc7b98ba587375f0308a11529291dff642740fb7..c725b6aecfe4472c167a163f7fa6a893da33f715 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-519.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-519.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-52.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-52.js
index ca95e5fa5300a3b17e8d99946d1e980d163c429f..89c7264220adc2b7499da0f1e3eddeacc0839efd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-52.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-52.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "property", undefined, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-520.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-520.js
index eebb9a17bc72efa1dcba71d23d32d9e2efd1319b..70c242df140b358e8972eea33eecd6a43d9586fe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-520.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-520.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-521.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-521.js
index 8f34a4823a31d61100a6b04418c5bfc4ff3251fc..0df86a70b4fa7566dd87d36eeaea02c521569f51 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-521.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-521.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-522.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-522.js
index a49bc8ba334a3598a3736f23029469b2901aa33a..2e5a4fa75151886a448f38ac03cb7b585352c8b7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-522.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-522.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-523.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-523.js
index 70495094f0c240f4654144edd234e22f009f8d6a..c86180b7f0b48d6b5481bef1d2d4b43776be4b22 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-523.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-523.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-524.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-524.js
index b82ff359d3c58ea4e38c7d360e9edd90d1f0a4c6..516cff18f13b255d3b0cc2c571493abefc126b64 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-524.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-524.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-525.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-525.js
index 4fcbc2af00b999490f11fbace9124d4b6543a1a8..e3fb73f847e2bf923cc16b9643db36f81ca9e8a3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-525.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-525.js
@@ -53,4 +53,4 @@ function testcase() {
             return result1 && result2 && desc1.get === getFunc && desc2.get === getFunc && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-526.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-526.js
index 52ad656f16a6d7376f4d61382717b1bdc97363e8..39a89742df2342125f35515543834d907cb0153e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-526.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-526.js
@@ -57,4 +57,4 @@ function testcase() {
             return typeof desc1.set === "undefined" && typeof desc2.set === "undefined" && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-527.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-527.js
index fb4ad1c91104a658e6b1dd9e0eb56e3f9a031a57..0b4061a744ad402d1808fdd163ebb89d8d5a5660 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-527.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-527.js
@@ -63,4 +63,4 @@ function testcase() {
             return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-528.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-528.js
index 33d0f52b87169f3b740e5a9b8b01da3fc1d42a91..5847f352f687b9512b2d2e22f3212f703ec08bd7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-528.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-528.js
@@ -52,4 +52,4 @@ function testcase() {
             return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-529.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-529.js
index a7356df49c93b81fcac8061c9f91841b4f31455e..5bd4147d51ead6958b531af18726ba1c7140871f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-529.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-529.js
@@ -51,4 +51,4 @@ function testcase() {
             return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-53.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-53.js
index c878ddf0cac3a1bfb5b39c8e921c4fb71fdd3af2..1a7ab67450de7f14759747f67b4792751ffdfd30 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-53.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-53.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "property", undefined, setFunc, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-530.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-530.js
index 1e7587f2ec0280fb89b39841f07238d33072c5c4..234239ed14d614c19fc17b559a3436cf4d364999 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-530.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-530.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-1.js
index d00b8a8c8a335f7aa55bd388866b9d0fb68943ab..869745bf55fa4cf4504e576ee669e0d560de8499 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-1.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "verifySetFunction1", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-10.js
index 831eea2bec893178c4d8c41f8005c6b49e4379b3..4ec67534eec4d228d60f00d600c1b55c0a814020 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-10.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction1", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-11.js
index 1a4d4fce391baf5076c1958e055bda089932e33b..c38d507f49ff200f0605b2364ff4667233ff1e3a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-11.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "prop", getFunc, setFunc, "verifySetFunction1", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-12.js
index f0bf78b0a073a884a6cc8a14fade6a89b9e2f2a2..5ab6b560a9848d5a3b1486cd9cd216b2c589a34a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-12.js
@@ -56,4 +56,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction1", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-13.js
index 8b2e490c5b8afeb6fe0b8c0d6068f4250155f4af..ac3e05f439a730a2a84b92e6291d4f16581719ab 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-13.js
@@ -59,4 +59,4 @@ function testcase() {
             delete obj.verifySetFunction1;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-15.js
index 5dd6dc2756418cb6145a86c6cc9a393cf81e88ad..403dae339bae3fa15914d7aae234050d0b85774a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-15.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.set === setFunc && obj.prop === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-16.js
index b22e4c1ebb966c9820de1fd658bcd61cf449e1e6..29f399e5e0676d820de05be7604c6703e00fd1ab 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-16.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.set === setFunc && obj[0] === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-17.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-17.js
index 4527bb5ffb0f16847764a04f178e25b542b747e2..8388b1107fe1faac541a061ae361d07d5c774fe3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-17.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-17.js
@@ -52,4 +52,4 @@ function testcase() {
             delete obj.verifySetFunc;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-2.js
index 742e00b11059de90bbee8487510fd58faad990f0..6d457be08d6cafb02e86ece0e15f6847884f687a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-2.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction1", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-3.js
index 01926c855e8e079a4dd0e514d0dacd4ae38b49ec..f4382541eb44e75b3c81fe43f0bfed223aa999ea 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-3.js
@@ -56,4 +56,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "verifySetFunction1", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-4.js
index 6bc8befed027e5afd00cf307db4fefc4a060f932..19a21c1e299634f5ebfb81f50a5fd241e173149e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-4.js
@@ -59,4 +59,4 @@ function testcase() {
             delete obj.verifySetFunction1;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-6.js
index 080ee07ef89874c6077af084d5f0ce587a68a258..71a501cc72be1ea5fb846c6deaaffeda1effcffd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-6.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.set === "undefined" && obj[0] === "data";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-7.js
index f6945c51106328f0139cbc44104bbcd13015ab06..f541f6a6e3641e9cf97f2d38cf4e02cb790e14b6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-7.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return propertyDefineCorrect && typeof desc.set === "undefined" && obj.prop === "data";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-8.js
index de3cda0401cd180bb21ebcb059499b4b7a45cc55..2bedcd1b9652d5ebdd784ab1eac6add7b04bd00c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-8.js
@@ -48,4 +48,4 @@ function testcase() {
             delete obj.verifySetFunc;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531.js
index 273317642ce2f5b4e3e0fec5836874f078afe007..39b7cb92a9078d2ca289327b72ae79637613efcb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-532.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-532.js
index 418dfbc5bca925660f67dd6c79572bbf9f737756..13898db49280a8e554ce92bdb5b35cdd92669e79 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-532.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-532.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-533.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-533.js
index 047f13116e695c5792bc240965b1d8382759509c..154c7800ded564609d9486195789802f53352b31 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-533.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-533.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-534.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-534.js
index e91b175d06387534bee650933c2385bef288d337..1e8206a2ae15479f281e10bd9d99e3cd60a023df 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-534.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-534.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return result1 && result2 && desc1.get === getFunc && typeof desc2.get === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-535.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-535.js
index 56809b4cd29fc5fc26c47bbafcbe090f3c51ac7e..daf8ecfdb374293d353632bf3b5099bc15a79d6f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-535.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-535.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return desc1.set === setFunc && typeof desc2.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-536.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-536.js
index d123f2164071f6413ac9ae0194b49611c935a520..6528bfa70459f5176bba906db8cedee463ef585f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-536.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-536.js
@@ -63,4 +63,4 @@ function testcase() {
 
         return result1 && !result2 && desc1.enumerable === true && desc2.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-537.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-537.js
index 434b0002526d0c5dfdefe469dd95dc90f29af7ca..0dfa27a47b5efce49765e8e5e24e43f4fc3d9c83 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-537.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-537.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-1.js
index 0db4f33cb9008e89c4e35c46ae23aa799897b02b..0d7e9f47a54bdf34acaf3a64f9a2e402bdf1702d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-1.js
@@ -53,4 +53,4 @@ function testcase() {
             typeof desc2.get === "undefined" && typeof desc2.get === "undefined" &&
             dataPropertyAttributesAreCorrect(obj, "0", 1001, false, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-2.js
index 2bc4a1bac2b9ead4bc03f1bafc7a5400e8614f99..67b71b7ebcc60f6a2b5c1fe3457deec54ba788af 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-2.js
@@ -55,4 +55,4 @@ function testcase() {
             typeof desc2.get === "undefined" && typeof desc2.get === "undefined" &&
             dataPropertyAttributesAreCorrect(obj, "prop", 1001, false, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-3.js
index 4019d4835e9efc6bbb3f8df83e26bd80232d6f43..2a91c1aaf864bcac4bc82719f20b968037a87192 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-3.js
@@ -57,4 +57,4 @@ function testcase() {
             delete obj.verifySetFunc;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-5.js
index 7f44c1ece7159032cad3ce986abdccc9f067244b..da415d0d44274eb9e9ec88e4e2025d272ca93ed4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-5.js
@@ -53,4 +53,4 @@ function testcase() {
             typeof desc2.get === "undefined" && typeof desc2.get === "undefined" &&
             dataPropertyAttributesAreCorrect(obj, "prop", 1001, false, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-6.js
index f3769f7f256267829406455da9e7324c15a3961c..20b0901e5d9d4935ac40e1b56e51d549ca12b97d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-6.js
@@ -55,4 +55,4 @@ function testcase() {
             typeof desc2.get === "undefined" && typeof desc2.get === "undefined" &&
             dataPropertyAttributesAreCorrect(obj, "0", 1001, false, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-7.js
index f755fbf027ad4938f8af5ec077d2bef8d8129e58..7d4a672b105be41ad1232adf4ddbb41237dbc90e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-7.js
@@ -57,4 +57,4 @@ function testcase() {
             delete obj.verifySetFunc;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538.js
index c7d2b3f7caee14d0d080bd0b6532057f3c0c4178..407d163304fda9f448642695d73bf06b74a9f8c9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538.js
@@ -53,4 +53,4 @@ function testcase() {
             typeof desc2.get === "undefined" && typeof desc2.get === "undefined" &&
             dataPropertyAttributesAreCorrect(obj, "prop", 1001, false, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-539.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-539.js
index c5ef62dd58177778d27f69cd68c4d2d45656d84a..73976db58a76f707aad845efaca023788149151f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-539.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-539.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-54.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-54.js
index e36958616fb5c2c5a0fa0694e954035c9d85dc82..db0e42ffdee31769370dd72fa33001d1055f8484 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-54.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-54.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-1.js
index 51ac1f4f30cc62b2f56d73a6b34b7018bfbbbef2..f00ed3d5d1dba3b8a4433faceebf69562b98af36 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-1.js
@@ -63,4 +63,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "verifySetFunction", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-10.js
index 0966e749beef3807e40395cc304d0d28b5fc8a4f..187f216b7572f7d8651a4010ea4cccc26d6967a9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-10.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.set === setFunc && obj.verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-2.js
index bf8ff921e328c3c9e1758b3fae786ddbf9834458..43d0ed3de6729fbef71a73df6455ee8f2ae5d68c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-2.js
@@ -63,4 +63,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-3.js
index bd20ad9209534869731024a9f456b3a2bee3cdc1..bba76b6458485ec9cd1d64e841c774680fb4dab0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-3.js
@@ -65,4 +65,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "verifySetFunction", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-4.js
index 7f28018d6fb4c9a6a715b7baf242b8ad17998d6c..423c85efa696ba691d1d44b47833fe77ba7b2de6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-4.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.set === setFunc && obj.verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-5.js
index 114a774276214c228b479f229353aaa14a8df984..72941113b36c97e538dcf3a93d6370a030709556 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-5.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.set === setFunc && obj.verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-6.js
index c0ff94ecfd4aaa3ff0ca02988765679aad30f231..eecda506ad2181ceb7d055d146ef00026f0e089a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-6.js
@@ -63,4 +63,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-7.js
index 63f57f49ca90001e4beb570413c7b7ca110ec83d..396a792b801cc273ccbb831155c8860672f50027 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-7.js
@@ -63,4 +63,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(obj, "prop", getFunc, setFunc, "verifySetFunction", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-8.js
index 6608794b9556927a8c73505212857a209436447a..21703c89627b23098388c6bcaeda7f85601c8fa4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-8.js
@@ -65,4 +65,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunction", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-9.js
index 143bd9310a128cbb2106c0789a270d60ad4db9fc..4edbc203eced97949a2bedea736f78ea5ac467ad 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-9.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.set === setFunc && obj.verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540.js
index 37977b41bef731c25557bb458848336874d9b1dd..26db09579253359502baec738eabd59be96d7b40 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-541.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-541.js
index 660d8ce1cb76ad0282ad9cdc40329d626196a895..364dcb25e33f7b1b9ca34c186c0ee196cce1a094 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-541.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-541.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-542.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-542.js
index 3d79a712669d3cc891a1dc25834b5496594a2667..849e0eceb8ae4c643c27e1a954c8e205a5de16cb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-542.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-542.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-543.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-543.js
index 8979cee86fafe385a140dca9f3bb78d3ac5c9729..31a7c4619c84e3008aa929483094f004e4012866 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-543.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-543.js
@@ -59,4 +59,4 @@ function testcase() {
             return result1 && result2 && desc1.get === getFunc && desc2.get === getFunc && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-544.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-544.js
index 82edbd33eca77c3f8bfefe782b504ac5025196eb..4d211329de85007a2542d9496b14b300a3112178 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-544.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-544.js
@@ -57,4 +57,4 @@ function testcase() {
             return desc1.set === setFunc && desc2.set === setFunc && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-545.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-545.js
index 6be7bbbb46f6813a80e50fab1ba705a19611c575..1b536993058ceb0cddc7b7de8116285cd865203e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-545.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-545.js
@@ -68,4 +68,4 @@ function testcase() {
             return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-546.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-546.js
index aec0d25594e5be13b1b8972deceed29e42d31d09..8b0c9c71316b97feb0a4be93c37214e5d83c24f8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-546.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-546.js
@@ -57,4 +57,4 @@ function testcase() {
             return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-1.js
index b64232d718e4d1661623f249764a77e585ec007b..bab446543f680828cac823b3aaa4f0f863ce85f7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-1.js
@@ -57,4 +57,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunc", true, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-2.js
index 1e9dcbfb21f14bc392901c0e78a0bf2aaf1bfd36..cb1bf230d57718a791d1251ae385a621b12d73e2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-2.js
@@ -59,4 +59,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(obj, "prop", getFunc, setFunc, "verifySetFunc", true, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-3.js
index 212700ab1df6ae563a20d00425ef4cbf329c42d1..06dd1a17d081d82028d4a685905c81cf287db916 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-3.js
@@ -57,4 +57,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(obj, "prop", getFunc, setFunc, "verifySetFunc", true, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-4.js
index 40e053b839e1a49ad2845ef5f4ba3493d0fdf8d5..02a7469c4b42f5a354defafd5630579b32ef57ed 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-4.js
@@ -59,4 +59,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(obj, "0", getFunc, setFunc, "verifySetFunc", true, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547.js
index dd109e40726adf1cc90b014989066bf40e54d81b..5e6f3899c7b81a2988d26e666e465bd3dcd2f339 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547.js
@@ -56,4 +56,4 @@ function testcase() {
             return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-548.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-548.js
index ea9122705331c2bf3d653697a48e9b32e733ef33..844aaa6acf519df1548a78cccfd3d243c3dbd182 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-548.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-548.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-549.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-549.js
index dfb961ab3ed3666e82e5378f9ed5a129b0c542f4..521ab0212686ff8d41065d71e39118867a1f8b6f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-549.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-549.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-55.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-55.js
index 2fa2bab40f1f2f03c2948e2ee969299aca22527a..3d5d3366cc596f835ddea68116bc3ff7deace587 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-55.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-55.js
@@ -41,4 +41,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "setVerifyHelpProp", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-550.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-550.js
index 629a5b3668fb1345d7ac1a6be4bba359ff1d851f..ee8c883dd92e2c35e6fba793e279f6b1b455c558 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-550.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-550.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-551.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-551.js
index 6a2133fc740fbaacce506d5beaac02e1a7b240ba..e85e6a48739c258b4d7a9d41968c8d9774e12066 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-551.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-551.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === true && !obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-552.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-552.js
index 6aec68764025fb207f8afbb4f9ce9010f6d6335f..530c3f0b0ee3118b7aa67ad3fd1abdde32124fcb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-552.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-552.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return result1 && result2 && desc1.get === getFunc && typeof desc2.get === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-553.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-553.js
index c202051a4551b9abc7ab15c9465829e0f3b19f8e..57e18e9f303ac2df16796d370b0bde9c87c11163 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-553.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-553.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return desc1.set === setFunc && typeof desc2.set === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-554.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-554.js
index a4768e633186900b582c2bf8c28552f3a993be83..fe6efd308658ce361b8e996f71202caaab22530e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-554.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-554.js
@@ -64,4 +64,4 @@ function testcase() {
 
         return !result1 && result2 && desc1.enumerable === false && desc2.enumerable === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-555.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-555.js
index 2cbf1b6d75d1380f8aacb69063714c49202f558c..bddaba1a52389d0e144dd07f4672a25f6ca7a646 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-555.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-555.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return desc1.configurable === true && desc2.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-556.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-556.js
index b0e346818d283ca73392e8a45756e0880e46c268..ec1f4e61dadb170c3e19ce8caf5e9812172d7be8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-556.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-556.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return desc1.hasOwnProperty("get") && desc2.hasOwnProperty("value");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-557.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-557.js
index 26442833d1caccc01ff7dbbd3e94d1cc4a9e191e..7331633a186d9781226f9f3264725510b043d19e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-557.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-557.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.get === getFunc && obj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-558.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-558.js
index dc9f43de933ef642ffecc2a1d363673dfdea1ad0..a4ae06d7de8bdad6c46362d0cf4a30a715789892 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-558.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-558.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.set === setFunc && verifySetFunc === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-559.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-559.js
index 9c5e84f05bc2b5f277d98e235c79948b3b3517af..949b27e813fcecdd1b94db0da7c4e39b7bafb75e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-559.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-559.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-56.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-56.js
index dd066ea0d9b0ebf6fea944c7a347a2c5f8f4fcce..13637fc1f7e4a287c9eeec4bea01193f3625668a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-56.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-56.js
@@ -40,4 +40,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "setVerifyHelpProp", true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-560.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-560.js
index 3aee6cb63a8270c5d117edee5a63dcce2b4bd346..66db3d3ff4c09580cb2e271ef287b4fd9d09c1a8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-560.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-560.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return propertyDefineCorrect && desc.configurable === false && obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-561.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-561.js
index 337618c506af0bb7c9c20cb64ca54fe8e692cb11..b273969199bd5a4d34c30374be68c7481838ba6d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-561.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-561.js
@@ -59,4 +59,4 @@ function testcase() {
             return result1 && result2 && desc1.get === getFunc && desc2.get === getFunc && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-562.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-562.js
index 68f8aa19b92b08bf3f4b55cc91bd05990f5736de..9ca1cf0b19a3f0f985ba987e0339e9ef11475da4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-562.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-562.js
@@ -57,4 +57,4 @@ function testcase() {
             return desc1.set === setFunc && desc2.set === setFunc && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-563.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-563.js
index 0d7c961d2eb5765a0d99709d6388bee91d6215db..c4350020a511c001f9b2556c5fbf8718d8b5bc8d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-563.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-563.js
@@ -68,4 +68,4 @@ function testcase() {
             return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-564.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-564.js
index 59f16cb29627559a477e0cee076af7482528330e..b9de860e23f5cc29f6d9884ae754a3dcf9a9a4dc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-564.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-564.js
@@ -57,4 +57,4 @@ function testcase() {
             return desc1.configurable === false && desc2.configurable === false && obj.hasOwnProperty("prop") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-565.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-565.js
index 8a30c2b72d91933aced6ef41981f5e182b05313f..05cebdc00429473c59e388a68f904d43768f4793 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-565.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-565.js
@@ -56,4 +56,4 @@ function testcase() {
             return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-566.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-566.js
index a7d228286fc675aba287871caee53c2909ac647a..c103fe814667bee2bafe81fa09caa795be58fb15 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-566.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-566.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 2010 && desc.get === getFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-567.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-567.js
index 7c238faf9477dd759a67d346cd5519f4d96bbc0c..9458a4c34374e7affa91348cb322920dbda1dff2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-567.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-567.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 2010 && desc.get === getFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-568.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-568.js
index 0574726efb6d4d927514e6d3cb1e3e21c2ea6a86..7a919b49f6dd160af8380b0b03459cee99785e1c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-568.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-568.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 2010 && desc.get === getFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-569.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-569.js
index 593367f8b8e93e39e5847ab829ce0b9147cde0e9..0f1e23c6ca94d2049ae53a278aff38e0985c6e38 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-569.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-569.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && desc.get === getFunc && obj.prop === 2010 && globalVariable === 2010;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-57.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-57.js
index 0851e8c5c8f16682d0198ed26cbd832b9e22715a..6fb7fa167025c7f169631dcb002a5521619f3023 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-57.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-57.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "property", getFunc, setFunc, "setVerifyHelpProp", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-570.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-570.js
index e9b55228b3cc8de998dc772527b79e35a43f6803..1dd9665c39dbd9a1a28aee86ad50d761f31bb4e2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-570.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-570.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && desc.get === getFunc && typeof obj.prop === "undefined" && verifyExecute;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-571.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-571.js
index aae0186cb0e8c54117d7a6617c9a5696329f685c..ca8a74aa13d38f12559e663fd80443028f012e8e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-571.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-571.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === obj && desc.get === getFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-572.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-572.js
index 11f8c023aa2580b9e657eaf69e9b3e7726430780..9c024d1fcebcaba6eacfb054dbce0a872c774da8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-572.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-572.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && desc.set === setFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-573.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-573.js
index f83f950cedfc69e20db30928cc730e9a1c57c0f2..c83933035b4095e806896cb8f42fe210b33bb282 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-573.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-573.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && desc.set === setFunc && verifySetFunc === 2010;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574.js
index 1919ffe7cdfe4d0216383772982a544fe53872b1..8e22536719d937ed4dfdd4727705e31037140c67 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && desc.set === setFunc && firstArg === 100 && typeof secondArg === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-575.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-575.js
index 4a4498c94686b0d20ba43531904ace9d3b37383b..b5f83847d8cec8a85b9fe15fca3f280a341e079e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-575.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-575.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && desc.set === setFunc && globalVariable === 2010;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-576.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-576.js
index d6e3c54b80dfa8756c0a827ec724d61d2247243b..d7819c6775fe81ff224434e02697f937318e28ab 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-576.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-576.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && desc.set === setFunc;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-577.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-577.js
index 1da2e4e5f82121a28656dc7614773a9801e06fa3..12675ff77272d42a2c76a2a119c1fd5adc70f9b5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-577.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-577.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && desc.set === setFunc && obj.len === 2010;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-578.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-578.js
index 24b1513799935eaa8f5bbefc6dd1ba2fa704500a..a2e29a9e3f96907ecee4e4544a9afe98b0caa7d8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-578.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-578.js
@@ -44,4 +44,4 @@ function testcase() {
             delete String.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-579.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-579.js
index 53807f2516d2034d4caf8e1d489850d743a51a1f..b3256561612840687d939ef82dd85454676e1cfc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-579.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-579.js
@@ -45,4 +45,4 @@ function testcase() {
             delete Array.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-58.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-58.js
index 69fedc83a22891c6248afb301fbcbd5f9332bb67..95ad5ffad721609056bb95fa6641ef09730be2ca 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-58.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-58.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", {});
         return dataPropertyAttributesAreCorrect(obj, "foo", 101, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-580.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-580.js
index 3d748479e1f93da0ea032d0bfaf6a68a8369ae20..0c4ce97659a4d87ffd97029bb7fe76870c0490ef 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-580.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-580.js
@@ -50,4 +50,4 @@ function testcase() {
             delete Boolean.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-581.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-581.js
index 5ba74e67ba601f0baaa6eb021d4495e086210e4c..cc33184e61915dcf3e91fef2e57486f9ead90fe5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-581.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-581.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Number.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-582.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-582.js
index 07753d85a260d0f8e1c57445c3c7b381ab2b7321..d4d085e70facf0676c089cf7bb6f24b18cca3da1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-582.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-582.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Function.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-583.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-583.js
index 3b3051c553f7ade6d563187b5eab3eedbb2d4ea8..195f3154f9320b9bed77b16f7eb03a0e96450ca3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-583.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-583.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Error.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-584.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-584.js
index 5cb9cc8829f89137995ea3e4301f09d16a336957..dbb297603873ed2918d6a3bf06223d34156cad07 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-584.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-584.js
@@ -45,4 +45,4 @@ function testcase() {
             delete Date.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-585.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-585.js
index b6793de55be2c06b002038e793c4641f18cfc962..320868f796f09a7b4867baff3757ad7265e78db5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-585.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-585.js
@@ -50,4 +50,4 @@ function testcase() {
             delete RegExp.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-586.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-586.js
index a80fe18a36ba4e06696927d664baf4c97e1f3bb9..c29322c0eef12322d84d862c3fc8699fcb7e0fef 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-586.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-586.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Object.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-587.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-587.js
index cabcf8863714a805d3ee436d5eb5835a4333aa5f..de779d2f7c2319d4eaa3345c85e1590b46a3fa0d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-587.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-587.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Object.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-588.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-588.js
index 8ab4bcc1a06a73a938f3a008dab895d40cb2a92e..d9d29363af148dc96f77e576df08d4ac281d27b3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-588.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-588.js
@@ -67,4 +67,4 @@ function testcase() {
             teamMeeting.startTime === 1001 &&
             teamMeeting.conferenceCall === "In-person meeting";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-589.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-589.js
index 540f9cf615b29e758f3eaee4d00c6c2841742639..48a5cea1f92a0c8efc57fc5b3f932079573f182e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-589.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-589.js
@@ -77,4 +77,4 @@ function testcase() {
             teamMeeting.startTime === dateObj &&
             teamMeeting.conferenceCall === "4255551212";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-59.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-59.js
index 52287d1c0e421a5f9a60069f280c3ac7b843050e..5808782a395a58c11d18de5d1d335f89a248bb10 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-59.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-59.js
@@ -43,4 +43,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", {});
         return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, setFunc, "helpVerifySet", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-590.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-590.js
index 340f1ac30ff3d3a6c44967846ac2fd883d25a6cb..7b81afab0a08ce069f031d48a083e7f4a342e5dc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-590.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-590.js
@@ -86,4 +86,4 @@ function testcase() {
 
         return hasOwnProperty && verifyTimeProp && verifyNameProp && verifyCallProp;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-591.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-591.js
index 31d4ad9e449f6e3684de5812e613c09118e97802..4e736ef83d5e891317a62216910f751314e3c82d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-591.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-591.js
@@ -68,4 +68,4 @@ function testcase() {
             teamMeeting.startTime === 1001 &&
             teamMeeting.conferenceCall === "In-person meeting";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-592.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-592.js
index 1434c822b762a160e64069f735ec1b3ffea244b3..7ae97bcfb91d6d41d58aabe7a6cc64736f4574bb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-592.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-592.js
@@ -77,4 +77,4 @@ function testcase() {
 
         return hasOwnProperty && !verifyTimeProp && !verifyNameProp && !verifyCallProp;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-593.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-593.js
index 3072badfc38ce818834b30f817264dfb484dcd17..abf4f59a7740e08358d5905a5074c89c83852d52 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-593.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-593.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Function.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-594.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-594.js
index 7469fbf964b1698f5451d50838acabcc2ce31ca2..55f2719a8a1a7c3c4484089a848262862e233369 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-594.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-594.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Function.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-595.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-595.js
index f27d7b9b87e4479a42167b1827816c2808bb8009..f547405b6e01765aa63cbc7934672a3ea5b173bb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-595.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-595.js
@@ -53,4 +53,4 @@ function testcase() {
             delete Function.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-596.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-596.js
index d5b9af82258ed9bb0bd813b0bffdf8597db1ea5d..37ab9279875b36064b65074871a0dedcecccb414 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-596.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-596.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Function.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-597.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-597.js
index a933a32c246c4b716966503d0d6272b3fc8f1cfa..301b3750322410e5bb6e3206ebffc65982c4b134 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-597.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-597.js
@@ -50,4 +50,4 @@ function testcase() {
             delete Function.prototype.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-598.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-598.js
index 792b82abdf9bfa6c3ef8818c2455ca7533d13bd2..92d92e9ce9d0dcb0e86607ec9279508f344febeb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-598.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-598.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-599.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-599.js
index c71a21c3885f72b74609572eda1016075f78efcb..8c0901d28d90f3e822af2a028e7e65807123c8e6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-599.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-599.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-6.js
index 1d2f14a90c357853633d938ed7a059cd62b5e91f..bada1615201f76128877dc8d9590ad7f7a4cbb14 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-6.js
@@ -62,4 +62,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-60.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-60.js
index 524eef3cd5c552a4831746347f150544597281bd..1af7dc8a0c74b2776806d3d6c3d06d569c124148 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-60.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-60.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { value: "abc" });
         return dataPropertyAttributesAreCorrect(obj, "foo", "abc", true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-600.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-600.js
index 011cae7f276c0858c8f4efcc1b5fa68b4e4b4a1e..e64369041deba7c90500a12ba853392e90aa72ed 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-600.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-600.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-601.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-601.js
index 2be5c75a7965fc7b87971bab0e36e413d60ae89b..f9a2aa4c68d5a42894e2c942fca33f5906fca718 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-601.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-601.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-602.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-602.js
index 5370dc3b2cb72583e4365fd07da266ba2f881f2d..6cd7989861a8245920e5917b8fa01224e8051ee9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-602.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-602.js
@@ -54,4 +54,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-603.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-603.js
index 6b72f15f325d19f69c97f3cbf56033a7d4160617..7aa647a2113b93780f9da8bd8b116cdf725bc057 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-603.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-603.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-604.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-604.js
index 3f6e34b9f3222fc5bb37a0c2811e5e4bb66e1432..563e7c8aa4cb960924eb66d0a7408f1d9a47fdef 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-604.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-604.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-605.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-605.js
index 07a85bf5c171d1d5a38e52bb81c07e50f4634f7f..08b5b87246640fd407ee029ed672adf69bdc3cf0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-605.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-605.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-606.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-606.js
index c3b3e4e0f843d144c2e6716dc6123ddf194bd127..7e60c3357f43db28146a4ba08a0f6c52dffddef1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-606.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-606.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-607.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-607.js
index ef4d09da0ef7c13fb3898b047c9afaef47e25173..21ae85c521a2d36bc04cbe4f7fcb201b36aab6a1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-607.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-607.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-608.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-608.js
index 5fde541e37ecf2810c78956b35b726db4ff247de..bbc23e9e7e3a1bca516a44cfcdae201615f1f2ee 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-608.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-608.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-609.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-609.js
index 5f4ae50a4b7e75335a1a01d43799def197e9ef0c..166800a6f92b9a39276cb3a78bf1c8c80cd742c9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-609.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-609.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-61.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-61.js
index 7689ca880280f7be1385cc43229ba81e9de1b4b9..dbc975bfe64890ad4dedf768a479b838cfd69952 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-61.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-61.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { value: undefined });
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-610.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-610.js
index 7d3691782f9a6242cb6e974bd4fd7c3e9cd01434..ba1ce7bfffd422bf98b45dc5c2a7dc47c6f6e361 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-610.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-610.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-611.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-611.js
index 6d67072cb1a295e26df48a4c05ffe8fed7f03fcb..1846f72ddbb2d82632c7de32da9612e2c11b4792 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-611.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-611.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-612.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-612.js
index 6f8ab17c9790177a5c7e8147da1a943d39c874e7..835a4fc8564cfdec2605a53a58ed7aa906d484c7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-612.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-612.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-613.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-613.js
index 3cb40eade9e870760b5cecf88e9c4e4cc25fc9b2..ac437c0a4e50ce7642c4e094f9f4e9ce9bb9a1e9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-613.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-613.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-614.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-614.js
index dac666bd7e71366175398b4479e639cae8dd8943..a5d798a809817e511149e2ac70573336df06ee0a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-614.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-614.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-615.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-615.js
index ce422742f356b41a434218b48d6ba3ff368d9eba..d2ca8ffc63915e21c0e2543ff10bc7bfee6eecc5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-615.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-615.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-616.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-616.js
index 697dc58d5b855bd7db0a9c649a242247473f0fab..e79c5029717c6a29da5e91c88c1e70d5f3586073 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-616.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-616.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-617.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-617.js
index b8f761a830ec13cd23cab855a15263f903549ec8..c2e10216178ad680c1580624179487b49f2a3d97 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-617.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-617.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-618.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-618.js
index bcb7450264bf61938811c85840a3ca291ed4351a..614b9e9f481554dc941150ae8e3496f7701c6c20 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-618.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-618.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-619.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-619.js
index ee479285655872ca62a30360036b6711942f3be1..862485347f544c1aa6ad8dc0d56c65e4ac8febac 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-619.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-619.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-62.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-62.js
index b7b43795e7c34407ab8ba59670ddf1f1605b44ba..c42338a258d84729911c81461bca6dc44d9610f1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-62.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-62.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { value: null });
         return dataPropertyAttributesAreCorrect(obj, "foo", null, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-620.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-620.js
index ac84ad78152777d3baf42e2efa59ab98deaec8ea..0de52935289602b4205300092491bff85ca7c95b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-620.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-620.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-621.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-621.js
index fbbe2a1e3f2c936e8e518a46bd8b76ff75b6b12e..292f39cba96490b98f5cd51a21f453a67ebcc592 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-621.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-621.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-622.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-622.js
index 8b47dc579d0d646aaf51c9fca94e89d7ea5ce3b4..9a95d129671213cdc7c986c6b5f8fe42cdb82a8d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-622.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-622.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-623.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-623.js
index 23dfb96287dd6ad32530acff7dc73b441c3d42e3..4aad70c1028f058b3b7f0df23a71f4f90adb4742 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-623.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-623.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-624.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-624.js
index 6765e62af04da11e387e3afa96ce123e25d9cd90..2bbc480f07ccf3352a91ef074efaa490e76fbf15 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-624.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-624.js
@@ -58,4 +58,4 @@ function testcase() {
             });
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-63.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-63.js
index 783782e0141c96d62edf8f609f41becad445bbaf..cfd946cb3784ce74ab012abe5b054b377a516f45 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-63.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-63.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-64.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-64.js
index 073990caa7961e27b7abe1596cd1194f95eb533d..ac3e14dd8d25c4f21daa51676f200b6d3efee770 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-64.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-64.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", -0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-65.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-65.js
index 2bcf4d6871973e49ae6b7c5faa9479759e77dffe..4fe151ad08d3781a8cc37c05c109464df2140097 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-65.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-65.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", +0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-66.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-66.js
index 38c82836e9b41282eb55196812d2157f3e5b1f9c..b6c3779f5c5d8971c86c924f15c1ae0bdcf5d838 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-66.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-66.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { value: 102 });
         return dataPropertyAttributesAreCorrect(obj, "foo", 102, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-67.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-67.js
index 5941c3f0e0e35c9d88037ff3864fc3e7c4cf6428..6116ebdb6ecdba8fb1b3e2c80ea9935dc48e7a36 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-67.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-67.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { value: "abcd" });
         return dataPropertyAttributesAreCorrect(obj, "foo", "abcd", false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-68.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-68.js
index f0895481224a0a80dee5b3150e39abb181eb8957..76803292d5fb4a75f94a145a3ac9fc9cfc21dd0f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-68.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-68.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { value: "fghj" });
         return dataPropertyAttributesAreCorrect(obj, "foo", "fghj", true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-69.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-69.js
index bcfa5632802f079f836fc0db6edf5b64333580f1..99063dac6fe1c1f3e828dde3bd7e0a104d15349c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-69.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-69.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { value: true });
         return dataPropertyAttributesAreCorrect(obj, "foo", true, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-7.js
index 05c358c8b7463ae8a17c533da156d4993252f670..f0ef45af4573a32d66d825af459e9b8cba13eebb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-7.js
@@ -51,4 +51,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-70.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-70.js
index af6a930f94416fbab2752906537c4b904fee5e37..7f4731242227aebad06a433847e44547fc1972ca 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-70.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-70.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { value: false });
         return dataPropertyAttributesAreCorrect(obj, "foo", false, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-71.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-71.js
index 70e048a65a48917df6904363a7d3481f504a43ae..da78e05d2dfa91c880d19cfb5cbacec1c3002422 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-71.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-71.js
@@ -35,4 +35,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { value: obj1 });
         return dataPropertyAttributesAreCorrect(obj, "foo", obj1, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-72.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-72.js
index 63ceab01ad34e6c4fbeb27aabbed9551282d6e8a..79a4ad0b40507e9bb9b83c78ac11cbd3ce60a543 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-72.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-72.js
@@ -36,4 +36,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { value: obj2 });
         return dataPropertyAttributesAreCorrect(obj, "foo", obj2, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-73.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-73.js
index 5321e5e3f011e1ee88fbea7b6af0cb93c0569391..c287d7e6d4717bc0e14be033f81bd7fb9008e046 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-73.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-73.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { writable: false });
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-74.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-74.js
index f7e5eb0c745f1ac32df573f8ead479817b63bba7..85eb555fae9230b13133039045ff8669952a8570 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-74.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-74.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { writable: true });
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, true, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-75.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-75.js
index 2a9e81fb2177acc5963a74773279a7ed92d6ae0d..3bc1aba4e380090a607593d48d9f97d076b1d48c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-75.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-75.js
@@ -43,4 +43,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { get: getFunc });
         return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, setFunc, "helpVerifySet", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-76.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-76.js
index 108157270e4662acdfbebaaf78349cb87660abc3..c3ddf58eebcfa7401f0463a39cf8f708ac27090f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-76.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-76.js
@@ -48,4 +48,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { get: getFunc2 });
         return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc2, setFunc1, "helpVerifySet", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-77.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-77.js
index 8dbe7e255acdbda337dac9068ae4aec07958639a..9a6746a543deee066bcc67d6bba7c803996103a6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-77.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-77.js
@@ -37,4 +37,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { set: setFunc });
         return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, setFunc, "setVerifyHelpProp", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-78.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-78.js
index b785185ee8d87e4f8c08c170d776ca801bc99444..2b29a54210db0bba7aa4e177595ba9d1760ed1c1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-78.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-78.js
@@ -42,4 +42,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { set: setFunc2 });
         return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, setFunc2, "setVerifyHelpProp", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-79.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-79.js
index 3133ca7f1eb6437fd711274f7971c981edcdd5c5..ffbe61f0cd5f9938dd462fd7d44af98409670f05 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-79.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-79.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { enumerable: false });
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-8.js
index 00eff66fcd5229d3db86cbadc51d43986e77e7c9..2b3555e508ec3b2844933fe4636bdc46183278a6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-8.js
@@ -55,4 +55,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-80.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-80.js
index a40f9c265703f291594a0e79c7ef6f4ec70396b1..820a5e8feb53355c492f1bc0a7cc9069d1d68155 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-80.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-80.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { enumerable: true });
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-81.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-81.js
index 1c7514ba601f9140c6fdc67fadbf68a0a17687e1..8bd3c1124d8b4293cb03ea61aab9cdaaaeb248d4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-81.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-81.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { configurable: false });
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-1.js
index 112b6fafd4913868b3326174435770ecfe3ec6b6..8d6b2b1c997955ebed9757a22c1e71274da6a54f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-1.js
@@ -41,4 +41,4 @@ function testcase() {
         
         return dataPropertyAttributesAreCorrect(obj, "foo", 1001, true, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-10.js
index ef873f8fadf515d669a72731b986f289c1436978..3c424fcbab57e644b5e2d267d3ad87029c0a20f0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-10.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "verifySetFunction", true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-11.js
index 353fbcbe393096c83fafdb716014bc5c1d187d66..0569a16abcce263c764427edd2ae2b5a73ea8ad9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-11.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "verifySetFunction", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-12.js
index 3a8687f69616362a8df9dc4b10628e0e114b7d42..578b062cccee568744bad3a67494f053c591afe6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-12.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "verifySetFunction", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-13.js
index c721aba270ae1b33347cc3a0ade2950741aa2cf8..89a4010430259d28401b84886ab44fe0ca896aa0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-13.js
@@ -41,4 +41,4 @@ function testcase() {
         
         return dataPropertyAttributesAreCorrect(obj, "0", 1001, true, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-14.js
index 0116a26cf102354a9d1178779a91075456753c7e..48a4b52a349a513853675c56a853665c126dfc6e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-14.js
@@ -42,4 +42,4 @@ function testcase() {
         
         return dataPropertyAttributesAreCorrect(obj, "0", 1001, true, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-15.js
index 9bb7e38ae8659501d5255da1392a268b23b34ef0..5000afe3b463514c27c8205a8277fc49adb7c152 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-15.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "0", 1001, true, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-16.js
index 5e92dbfd3875010996356dd4906639bc706e0103..e152cfa2738d68f6df462dbd30c8123a09a37cf9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-16.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "0", 1001, true, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-17.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-17.js
index ba28886ba57e76da7058b30c7ba40e79c008613d..7fc741c3b6a03da8614d6a8027a109a66f2fbf73 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-17.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-17.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "0", 1001, true, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-18.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-18.js
index 622d87b8bf2f6029343ee659364271ffc8fa251e..b8300b28b6abc58032b5f7fae1e29230eae22dc8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-18.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-18.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "0", 1001, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-19.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-19.js
index 1dace229681f1de50171e0d7a4ce36a70e550c28..4d5f882ab6ff747530018ffdf1aeab001283a9a2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-19.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-19.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "0", get_func, set_func, "verifySetFunction", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-2.js
index fca77c878cf13dde92269acf816e6492b6fbbaee..7ea8abee0d0fdc2bb3f337a7891e1ee53ec3e840 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-2.js
@@ -42,4 +42,4 @@ function testcase() {
         
         return dataPropertyAttributesAreCorrect(obj, "foo", 1001, true, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-20.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-20.js
index be55e198a485d69d3e47337eaba71c1bdf499cd1..b8ef7e578a717f013d58e082ab5c91dd5a4f8115 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-20.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-20.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "0", get_func, set_func, "verifySetFunction", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-21.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-21.js
index ca2bdabf3fd1a78614592f2832ccce82c1fa8731..dd1ca9853d3e004c1f9e8a18a2b6b8aa18c533f4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-21.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-21.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "0", get_func, set_func, "verifySetFunction", true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-22.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-22.js
index 1b6e5c45b1ba77ab410986bdadd5ef75619275e1..f056147497c58cf77612acca58003c2686ee0085 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-22.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-22.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "0", get_func, set_func, "verifySetFunction", true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-23.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-23.js
index cdd53b97ef935bb4c7e64cd7d7d171fa079f10e0..2d92d5c491fab3265acf7b37db287944b0b66aa6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-23.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-23.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "0", get_func, set_func, "verifySetFunction", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-24.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-24.js
index a43ae0cda14b8747676586427fcdc23be61d0e3f..4e583b11ffb392b7e0ac212d34dcb0f8382307ac 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-24.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-24.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "0", get_func, set_func, "verifySetFunction", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-3.js
index 2728c9c075b633dfbe1bca7a6a919759c8f29326..65efbbea66423d628292a26632c2eca4d9ec05cf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-3.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "foo", 1001, true, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-4.js
index 3299633b5f6c822c4f951df983dde9efe46a1df1..279281f1c7bb85ee150eee5b52610b56dfa75faa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-4.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "foo", 1001, true, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-5.js
index ffc96bff2d847316097fca242cb1a20457d35eec..eef597d0cc451c5a26c93a19ae90f03e0961b690 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-5.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "foo", 1001, true, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-6.js
index b63617f16a1c36e081ca48df4a780a4a8fdb6add..821febdd3bcfd975345945765cf16edd8cfbdef1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-6.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(obj, "foo", 1001, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-7.js
index b51e73260faeaadd552adfeb6a1911edf33996f3..d1e246b578eef2afe1c85f787dee0601d4b5e190 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-7.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "verifySetFunction", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-8.js
index 18d0fb175e82b3dbda5a528b823e9be33d910047..8b9d10e3d8e783e074eb3c5e684bbf6a9a54f71a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-8.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "verifySetFunction", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-9.js
index 9006d1f736f16b9b6f4645fb26c10c416fc4b673..e2580d481037c74a1aa4b4c88620cf9f3a99a458 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-9.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "verifySetFunction", true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82.js
index 68440153760da83e93386a5391562c1517bd3166..c03ada8c167d9a4543423a0eeeac1673d659fd57 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82.js
@@ -33,4 +33,4 @@ function testcase() {
         Object.defineProperty(obj, "foo", { configurable: false });
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-83.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-83.js
index 45e6e57e803be9e35ffc4aa6385f0552f0249388..be9d9fba1d01db8208b853572812895c7c950393 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-83.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-83.js
@@ -41,4 +41,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-84.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-84.js
index 368d028345330df7091f4bbbf169928d14258d7c..82761e00cfb320247360814503c7a8a456366d0b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-84.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-84.js
@@ -41,4 +41,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", null, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-85.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-85.js
index b71d1561ef51d1f6db879bf572e0a0d0dd59e85c..95b9839786a89b72a5ab31ea33404c293893624d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-85.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-85.js
@@ -62,4 +62,4 @@ function testcase() {
 
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-86.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-86.js
index 411620fe9f6d3eb6e82c5c594d144d051dc44b02..5e3ab541498fc41f30e72d9f317c9f90181e69f3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-86.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-86.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", -0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-87.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-87.js
index 90f906558f031be1b533e8386699de7a12db26e5..541b608c5a98b415cfbc98038dfaf0cf7f5278c5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-87.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-87.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", +0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-88.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-88.js
index b1564cab017dc44d7411d7233c626be1937bdf69..1fa4f9291446f8526bac9e32caddcb34d8cc3f33 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-88.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-88.js
@@ -41,4 +41,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-89.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-89.js
index 811e17532873b61eaf7a2ac177341d8e70889bdb..135bad04cef5587325fcff5cdd738f211f104d85 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-89.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-89.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-9.js
index 6a7ccaa97a1365d67b63c7c965cfc1275223da2b..14db94cd32892546956336453254956b66da3e62 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-9.js
@@ -56,4 +56,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-90.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-90.js
index 4fd0aa75a2f4e6de41a593a5082541c14c524c4c..64160ae0c352edc16487cd08d0e887cb012b6bbf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-90.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-90.js
@@ -41,4 +41,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-91.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-91.js
index 600b4ca164aac9f1220d956e344c88df2ffc5b22..884d47431791d03dc406772fb49aab4810c6a637 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-91.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-91.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", "abcd", false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-92.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-92.js
index dc200599464272fe736dc7107594cf6f28d07d49..bcd24f979a527ec30bfb1c4f2ef56ded147efb3a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-92.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-92.js
@@ -41,4 +41,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-93.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-93.js
index b8cb6df866f8b5600a6437afbacee2a6b65e74fb..dd1ae3d5c4242556fd1b88eade19804533e30bda 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-93.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-93.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", false, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-94.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-94.js
index 09029007e034469dc8ec4d74cc7fe66434b72893..0fd9a5e8b42269fd7639c5d0c9829276265dde81 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-94.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-94.js
@@ -43,4 +43,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-95.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-95.js
index 9a1d2afe4022e865bb8b7cb5175d1e9235068ad4..02fc2e98b81555997aed623e7726b41555e9b4e1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-95.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-95.js
@@ -45,4 +45,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "foo", obj1, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-96.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-96.js
index 503a5873780b3449a7a8760ea145f3d411e42c30..16f267fdd57a8443df02b0282185fd9ba6bcded2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-96.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-96.js
@@ -44,4 +44,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-97.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-97.js
index ceb8f756be02ab5ac852a5e49e8b048d840e795f..29559f230f867ff6045a4a2077cac41532b24161 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-97.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-97.js
@@ -50,4 +50,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(obj, "property", getFunc, undefined, undefined, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-98.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-98.js
index 03602281014641b2a0ac52bd5fd0911a76d4c747..82ea06b73fc4b6d49da2ad21c7269bd5f4d4355a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-98.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-98.js
@@ -48,4 +48,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-99.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-99.js
index 37698c8a1310270e4fdea72cc5dcf80caec43171..b9800e9fd69c2e9b89fcd19c1469f55698471e40 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-99.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-99.js
@@ -51,4 +51,4 @@ function testcase() {
             return e instanceof TypeError && accessorPropertyAttributesAreCorrect(obj, "foo", undefined, setFunc, "setVerifyHelpProp", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-1.js
index c565c22ec15ab945f2dcddd2e54da6aad4009171..916e0d3890848b491c0ab1b78e6adf451bc01cac 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-1.js
index 4aa531dacf8a57da465285aa154c2d277f7c194a..109b2e297cb879a3c635a43a13e82ff18b908774 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-1.js
@@ -33,4 +33,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-2.js
index 40dbad9d3e4d4ad32b02e2056d254aa355f03b5f..6566c7ab79e36f242b25490a3d10339a74695461 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-2.js
@@ -33,4 +33,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-3.js
index c3bd3c1bb10dd4425ce2549ee7567f49c7656ded..fe7d96f1b02bbc575dc36e7275a7dd49b7ab65c6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-3.js
@@ -33,4 +33,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-4.js
index 4cc9f4b66b87d8327bf13271a7502e64a4777567..38b78d94e855910b62ec297d549ac0bcd17ce34e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-4.js
@@ -33,4 +33,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1.js
index 7495651f6527afdc08a2d8b97106bdccb24a09e9..7452c8cbcb5d5305bd9a0254190a9743c50e4f21 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-1.js
@@ -34,4 +34,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-1.js
index 355319cf7def1c5cd6e34fd493c6c7dd1b537ef0..35c3f3dbe1afa429b58dfb2f7434fd77e8662abd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-1.js
@@ -33,4 +33,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-10.js
index ee2ff5d906d90a388a2e6a57344e52158ffc31be..80bbbe630ca75f9a0175510e4733f01a65554819 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-10.js
@@ -41,4 +41,4 @@ function testcase() {
         Object.defineProperties(obj, props);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-11.js
index 2582b5f62d5bccc3f8a9ef984b003baf06e0471b..0f6f9a61e01c36ed91e0ef5b18ccf3912b8acc85 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-11.js
@@ -45,4 +45,4 @@ function testcase() {
             delete Math.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-12.js
index b9f60e5c226120c0e3b08b48be58479c093c0c6a..0d8a0ceaf11dd02bbaeec1f1692e8a095a62d5dd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-12.js
@@ -41,4 +41,4 @@ function testcase() {
         Object.defineProperties(obj, props);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-13.js
index ba13650a6c67b22cb3332d66bc84feb174b009e8..c86da792557b0c41464dcfba5b9142d7498ad4d8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-13.js
@@ -41,4 +41,4 @@ function testcase() {
         Object.defineProperties(obj, props);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-14.js
index dafc206347aad05de65d9fd50375b266b8fd11b8..ff7635f6e14306088bc8dfa1eb0263763d8c2158 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-14.js
@@ -45,4 +45,4 @@ function testcase() {
             delete JSON.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-15.js
index edf441d9ec1f243e078de15864480fcf32c0bbea..b582a38ffa9f4f8df674e105c776cedb34c41cca 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-15.js
@@ -48,4 +48,4 @@ function testcase() {
         Object.defineProperties(obj, props);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-16.js
index 4b75e9cc4f0b5b8b5432166bb01a20e15b008f94..98f6f248f587923931f13cd84a5b1926a931a520 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-16.js
@@ -45,4 +45,4 @@ function testcase() {
         Object.defineProperties(obj, props);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-18.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-18.js
index 03cc132686e4de4119b29ba45a2ecfa928b5af90..efa8566827bc102d531af2a4d9d7e6369bdeeedd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-18.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-18.js
@@ -47,4 +47,4 @@ function testcase() {
             delete fnGlobalObject().prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-2.js
index 464993428021a8d1f118335710b11b99ceec2a74..3ed61a20cfc2b606e4492786a4e1a23a258edb6d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-2.js
@@ -33,4 +33,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-3.js
index 99814992380530e8a1a3a7306153da25a8ad0d5b..17eb9081a2265efcec1b15ff4b8438ea55a49ae7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-3.js
@@ -30,4 +30,4 @@ function testcase() {
         var obj1 = Object.defineProperties(obj, false);
         return obj === obj1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-4.js
index afbdb0e905aa597597e2044a4cd6b9f4d8febd39..401b3dfc8a07c9a5ac77eba15d34024030e532ba 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-4.js
@@ -41,4 +41,4 @@ function testcase() {
         Object.defineProperties(obj, props);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-5.js
index 7cca418826cbc4f4877d20fdd3b2849067f1e92c..f1fc0f0ac232c28e0dcbc774041100905e5acd35 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-5.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj === obj1;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-6.js
index 66a64a2c25de3a274718eb1c3044651b147edced..a2a78066a4ac439093169b962898eedf893f8583 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-6.js
@@ -41,4 +41,4 @@ function testcase() {
         Object.defineProperties(obj, props);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-7.js
index dd40465be2ded4af2a463f184ee315943cc55335..79c199d19ebb2854b76e3b2ebaeb27ee6dbdcd88 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-7.js
@@ -31,4 +31,4 @@ function testcase() {
         return obj === obj1;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-8.js
index 6a64427982779e6eb859cdc59bc814f577329511..d8ac0b00e822da944d0138fac7c2fe7bf00f923c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-8.js
@@ -41,4 +41,4 @@ function testcase() {
         Object.defineProperties(obj, props);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-9.js
index 9a02634e583e9a060ab4d0135996a0b749ee77c8..3d80325007191a976a18045285e17d9595e6d7c5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-9.js
@@ -41,4 +41,4 @@ function testcase() {
         Object.defineProperties(obj, props);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-1.js
index a5eddcef0bf4a9f0a199f062f8eed8c9fc55e26e..92c460f50a1951c762d74faebc6039c5b94f5f21 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-1.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-2.js
index bbaf15171029a1554ba26b6026836f325df06c4e..2684822fd5bf1e4f366d564e716543cb4f3b9f13 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-2.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return !obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-3.js
index 8c2f69c1881033ca4886c1c784c12dee34615320..3d883228a81b625c063fb100083b725e26036f91 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-3.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return !obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-4.js
index ee44e622c8577c5614e5bf3f94124beb39d821a4..e8083dabf0f7a9fa3af25769c8503793d6488e16 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-4.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-5.js
index 76168b5587fecafe4338abe8eee2bcdffef36091..c941aae2573bbde880ac63780670a727de85c905 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-5.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return !obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-6.js
index 71bf3b134bb744c7633c1709d7a0396e82a059da..f678b8db878fc4335bb69bb2c7c43ed53c6a0ddb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-6.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return !obj.hasOwnProperty("prop");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-7.js
index 0989cf8c8d8374fde92a38d6ea1931bc3dd4522d..ca532d1d866ccb1f3fd84079fdc472d52f6d807b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-7.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return !obj.hasOwnProperty("prop1") && !obj.hasOwnProperty("prop2");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-8.js
index 2c95080bf125e095af9805429fdc9a81f5499269..eb5b0960931985d56ce73a6c3581744fc49f7779 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-8.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return !obj.hasOwnProperty("prop1") && obj.hasOwnProperty("prop2");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-1.js
index 886b739fdb61c9900db2aa5558c48f52ef154ca2..398ee8c3d33a9ff35ba5be93ba0c54a01410e9c4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-1.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-10.js
index 6a7fecd4e4e74cec265013c5873d112e1ff4da05..aaf170a634890f20e85e7b4b825aaff0ef4027b5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-10.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-11.js
index 2eb4516967ebabab8ffc764998fb72d241246d1f..343ef59f7822563bee5d34ceebd84b73a5d17bc9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-11.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-12.js
index 0bf5be63a5c3589030fc07a9eaa2575003f6f198..055fcb697c4873f748d93787167e64f9be5fdfab 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-12.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Math.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-13.js
index ab3ac7300d10ce8ad054601f184b9f0865cc207a..99a08164dd598e1591712a4ec8db22f3e4bf68b4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-13.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 13;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-14.js
index 5c54a679ff31ae8c81f97e5f9d3522b52f26bbe3..7c96cf46095e0d730eab5be0b997dec0ed675eb6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-14.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 14;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-15.js
index 27eafa67ac3156b54230a091fdb35c80d09abf4a..7e729986c30aea194c649f2149c812e36a78c4d4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-15.js
@@ -38,4 +38,4 @@ function testcase() {
             delete JSON.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-16.js
index c6c89bd92abc2ab6acae9f3f9b2d96fac4787e19..6a56c3465023ce5c1e45a737f3d7d8fa89df0464 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-16.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 16;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-17.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-17.js
index ceae85285e2cb3545207a80e6ff8988ae93c9258..c262103bb4586836dcd278e73280d5b965b31deb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-17.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-17.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 17;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-2.js
index 6ec29013033b9ca9fc525c6da99a8c94ae5e0005..ba772390e4e18b20ca110b4acfedecf098abd621 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-2.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-3.js
index b032f8e54411dc3c46f236f4f755d85f9aa81184..19872657b473a93f3198e944173ef9c8ebc6031e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-3.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-4.js
index 3a08b04a6dfa9c729e0f3651dcee393ba9c90d93..d8d0a2458dfd0b453c6c73f7bce8867291166347 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-4.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-5.js
index c03ce1d71c1ccb81c6b95ef4c481508a2a5562f8..18ab414026e98ffde353bc1240f7d49a66c0aa1e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-5.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && typeof obj.prop === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-6.js
index 4bfe051bac51954771f3bd10b292f9eb07ffd42a..e05e92cd9ec8e95af3611f9503ef8e61c1e57274 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-6.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && typeof obj.prop === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-7.js
index 389c693fb9779c9a57fc25c5bac0af922a2ab344..f834ad6411dc7653971a1ec5a8943ed888f3cd2b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-7.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 7;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-8.js
index 3ff37c2b2656168f7ba3868859c6487f6c6b5371..0312a535721c873dc09db50247c8e714bf62e967 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-8.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 8;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-9.js
index e631d9b5cd7b1ff08b15b23139a30dc9784ffbbe..c2d4018c5860c9243d401932e4a51383d6b9b88a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-9.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && obj.prop === 9;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-1.js
index 3c1cd7ad73c83a04b84eb23d9f2d6beb46669f13..b569c0a060e0ddda51e629973f8c4312ccd441ed 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-1.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError && !obj.hasOwnProperty("prop");
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-10.js
index 2c1c95201704fd49d0f42e258279dbf875b29cb2..32c0a498ab427cf66fce86812ac1dda5a1a55846 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-10.js
@@ -51,4 +51,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-100.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-100.js
index 9c58c0b652794505128e7d8ebd65738b27e64549..6640df6d0a917aa976cdbdd4d637733aa3166f33 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-100.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-100.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return preCheck && !obj.hasOwnProperty("property");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-101.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-101.js
index cb6305702fa8f5267313be137254a13dd5f1fe45..35f549d4c082f49feb20a3b3811e570011893b52 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-101.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-101.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return preCheck && !obj.hasOwnProperty("property");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-102.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-102.js
index d1b56cd4567464ee5bd9285a405448a5d7b30888..0dcaa30c944c3018fa32bd74651b5a8d87fc4466 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-102.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-102.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return preCheck && !obj.hasOwnProperty("property");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-103.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-103.js
index 8b447f4520f75b947f7307dd65578446df98bf4a..028e14245a483aa6ec82d33ea63bb98e6f9c06c8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-103.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-103.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return preCheck && !obj.hasOwnProperty("property");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-104.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-104.js
index 2f93e96dff98e1b60355608e93fc0f88aff5f46a..1bba146786ab9948e3dc2a9b729a3a28c3fa33a8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-104.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-104.js
@@ -38,4 +38,4 @@ function testcase() {
         return preCheck && !obj.hasOwnProperty("property");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-105.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-105.js
index 17c36186574871948799c6cdb100ee9e241c501b..d07b6b6906d1a18ff59efd5d98aa543ef8537ad8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-105.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-105.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return preCheck && !obj.hasOwnProperty("property");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-106.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-106.js
index c4d965e1501c8835db312235b71a0f5b3e84c12d..f24777e9f5323e1bd4df2d9ce84a04e30fff221f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-106.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-106.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return preCheck && !obj.hasOwnProperty("property");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-107.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-107.js
index 304cddec953ab0e9a77efe6024580c382d3c8adb..8e2e3678e915208c6b4615eb8cdcfabb0271193d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-107.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-107.js
@@ -44,4 +44,4 @@ function testcase() {
         return preCheck && !obj.hasOwnProperty("property");
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-109.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-109.js
index c897fb82c8ecd36d9a3c2865cf1c28971a2586fd..d2e4e25f3a28bdec32f70d2ff0b6c6ab6012699b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-109.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-109.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return preCheck && !obj.hasOwnProperty("property");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-11.js
index 7961f7c3e974d26ed22f8c848bd25bfdd55c4481..3d171e0fac2a3ad882ebe028bf1241a3c8fbf77e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-11.js
@@ -55,4 +55,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-110.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-110.js
index ee479151127ebe06cbed30e0a961b41d81fcd055..925ecc866da370f25f2e64a7b3f57db670be39e2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-110.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-110.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return preCheck && !obj.hasOwnProperty("property");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-111.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-111.js
index 0c6ad6c63b4633df57454b88046d43bac4cdc515..a82030c64174a4bafe2c2fa2ca1a6a58e3c78871 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-111.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-111.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return preCheck && !obj.hasOwnProperty("property");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-112.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-112.js
index 7263910fa946e0fd9dbf75fb0f1f7ac7c051062f..35f5012fb657d105ce65295c458804eadfd5dc30 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-112.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-112.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.property === 300;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-113.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-113.js
index a5181eda278eae7ca2cd26ce118cbf5551af9655..3195d5dfeb4fdd1585b809eaece465cf35d4b726 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-113.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-113.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-114.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-114.js
index c30d024e7bfcc5afc0080ae6555f438f6d902c70..ce848e859edeaedd8c345de85dd7cdc10b179d80 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-114.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-114.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.property === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-115.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-115.js
index 4e21e14f4f2ba096efa71917aa8615f63d6d6583..02ec5c0f5ecdef0e3f241eb90ffd2ebad51656f8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-115.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-115.js
@@ -43,4 +43,4 @@ function testcase() {
         return obj.property === "inheritedDataProperty";
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-116.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-116.js
index 4058d1e1c406a628e7bfc0a1f1ac749daea70e0c..b7b0cb3d344dbe3e478127ab21c0e93a8d91095e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-116.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-116.js
@@ -45,4 +45,4 @@ function testcase() {
         return obj.property === "ownDataProperty";
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-117.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-117.js
index bdfc7762767f883dda8e87ac0760796683570812..5cb3c7c2e1dc54e88729349afe5ceeb7a54d7b0a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-117.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-117.js
@@ -51,4 +51,4 @@ function testcase() {
         return obj.property === "ownDataProperty";
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-118.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-118.js
index 26c755f8ff4794572f143cf753be034e8a515cec..bc5163e6cdd0b4a26eba3e70ec52011540c9e646 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-118.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-118.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return obj.property === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-119.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-119.js
index 70da2ac228f1702a085b80871f1a8302ad37ea62..5d21cc1495e3a1f8eead549160bdd072240f23b0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-119.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-119.js
@@ -47,4 +47,4 @@ function testcase() {
         return obj.property === "inheritedAccessorProperty";
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-12.js
index 327e00c2ecf3e42ce9319a899fae69cee7bf7999..d95a86283962ae52e4ee403e87a13c6fe03827f1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-12.js
@@ -46,4 +46,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-120.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-120.js
index fd36e545f492036f171985648520ede5bc7dc856..1dd187141a95a75f95266a5b04bda42f4ba571b6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-120.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-120.js
@@ -50,4 +50,4 @@ function testcase() {
         return obj.property === "ownAccessorProperty";
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-121.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-121.js
index 081fe75835125ed82b936bc594fe69d4c5eb2eb7..5d77b6dae83c951ef9caf1dcf826dde4593ec3f0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-121.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-121.js
@@ -53,4 +53,4 @@ function testcase() {
         return obj.property === "ownAccessorProperty";
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-122.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-122.js
index dc54f142ef166ec7dac39cb0c3c91c834cab1d57..fe5237ce92e70b7e2654f229b1d45045876ca347 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-122.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-122.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-123.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-123.js
index 9804df3ce20cb38c2bc9d555e990870caae165c2..eb0c33d6c82eb5c318247490eebd0424f6baef3a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-123.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-123.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-124.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-124.js
index bec5eb186268cd06078c0d7c635b37d73f0aee8e..dbd6d3c6a1c84bef44871b542897c7169a6b3535 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-124.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-124.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-125.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-125.js
index f4748e6e6c855952e59ab3233e3c9aa00042c6bd..e3fa74e246ac71e5bd4ebc3d26435225d46a5663 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-125.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-125.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.property === "Function";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-126.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-126.js
index 9c3dd778d024806cd36514217dba468c7340ce64..ece4f3c15b428f82e9ed49260fafb116e6bda5e1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-126.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-126.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "Array";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-127.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-127.js
index 1863c20dce4e84fe2f673562c01380e89b18c056..4c5fa497d0a637d747dbf175b9ac66379d9441a4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-127.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-127.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "String";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-128.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-128.js
index d0c41c9e84a3cfbd821fe4e8e07ed650a16f1e55..83b99fa104ce7b36823013a5ef28cc745354afe3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-128.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-128.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "Boolean";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-129.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-129.js
index 5febc9172eb09564881fcf89db322603ad226aee..d7a6f9d9fe50d1cadd6ed46b416a0dbbc0b731e8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-129.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-129.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "Number";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-13.js
index b8863a636b7debf3429bf2134a6d943c3418880d..206813296220ba8708b4a13b87529db2af7a464d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-13.js
@@ -50,4 +50,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-130.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-130.js
index e22a4a76c07378b5e97c853a19a6b4eacaf77294..a7fd0056d5209276cd4b43e87e35f731faef24e9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-130.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-130.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Math.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-131.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-131.js
index 51f44db7aa168f3a93b69e74254c459084ea2153..fa4e857a80ca8eccf0cdd740b02ce6efcfb2a3c4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-131.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-131.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "Date";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-132.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-132.js
index f45b9fb22c017946c5655d3c9ee641ec18349775..9b844025889f66648c5b1958634ce0de1b295bbb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-132.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-132.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "RegExp";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-133.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-133.js
index cbbf8f9805f125219f5bcc086146727d5dfbadda..6956881b1f4357902fb0c0be94cdb150634c185a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-133.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-133.js
@@ -39,4 +39,4 @@ function testcase() {
             delete JSON.value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-134.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-134.js
index a036a9bfb35cb2ba0826797185b2e88611bbeaa1..ea6244ab92aa4491f97e580bf41d8605ec4f0f0f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-134.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-134.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "Error";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-135.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-135.js
index 6c9d1ff67a2fafb695bd69ed0207e349d4dc20dc..8119c3997ee1f2a4ee21392e770d4b932bcc79f3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-135.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-135.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return func();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-137.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-137.js
index 737a473082842ac18cfc43694a3d48a227f0a071..12a3f8b1fe13e38f4e6de1e7eae16437566572d4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-137.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-137.js
@@ -39,4 +39,4 @@ function testcase() {
             delete fnGlobalObject().value;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-138.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-138.js
index aa53852b7169d4a2ab1d960f9a32ef0599e8dcf6..3bcf1f271b06ee7fe5e22f97ade5cb0ffc089cb9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-138.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-138.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-139.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-139.js
index 2ae523e3bf0345c974a21b74ea841595736de89f..b68e7e9859566e99addc3eccab3686f076e28fd7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-139.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-139.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "abc";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-14.js
index c397a3168fa9c460ec8a6e206c505340566f53de..9fcf82368bc7262fb5464e8beeef77e9c29c7566 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-14.js
@@ -52,4 +52,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-140.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-140.js
index fa9e8d7fa73d32dc1c8bdbc42c223e67dd7f189a..bd1eb39580baee67a2691113028e6a84ed912b19 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-140.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-140.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-141.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-141.js
index 137cf0c451437f4f89d3abd10b3afd7d6287795e..71e8056ac06f1fa8c7d78cb6c922ddbc80d5c56c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-141.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-141.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-142.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-142.js
index 7f7d28717876539f2a4b34169d8d07e18b276f4a..9bc273a293cd91b009c913161f5724e2965b5954 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-142.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-142.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-143.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-143.js
index 030c90be03194b832c6be467cf975fa48763250f..60febc5a87c2f7b2eb80dd8f9b97412104e6c504 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-143.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-143.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && obj.property === 120;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-144.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-144.js
index 1f2f27f79101b1d39813aa3fa3592427698b4860..990fb5da638cc7e7c78af5e392c7a373508313b2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-144.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-144.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-145.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-145.js
index 0a52d0d16cf01cf0791d094777b00a064e254585..a9b580d8936e88cc3f403f4eefca469e16315c46 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-145.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-145.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-146.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-146.js
index 5396827d4deec047ccb92bedcd904de4277415f4..62968cfa566d7c34da7352039f23f8c4c79f8301 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-146.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-146.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-147.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-147.js
index f2d120b8a7ba53ec365540d4870b9ff1d2d73a77..53770945e81e6bd2e6b9b71e1acaccfa008be5ec 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-147.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-147.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-148.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-148.js
index d21172d07cf2e0803761f079f9c6b6aa609a33a1..c62131a0a95741a5560ce32d654e8e8007d9ac5b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-148.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-148.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-149.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-149.js
index 6198ad0ad0f5daa02fe5940296b92b340045b840..e0d83a9609a496897b5890586be5c91a21de17d3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-149.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-149.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-15.js
index 53fde4268f4e726d8bcfb28062a8cd65daab7f39..8283e70013f5131792a3606ca237cf4e9afa5506 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-15.js
@@ -55,4 +55,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-150.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-150.js
index 9291b3cc7b1c559b7deaf5e0371203cd1fa5e0b9..07403cda021ce299d88430711de6a0e26cf7ce32 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-150.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-150.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-151.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-151.js
index e3d6b2a3c432f2788d34beadab80b7b7b91c20ac..6b5d76485dd75b4ecbdfd2dd5b3d2bfbe7747883 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-151.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-151.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-152.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-152.js
index 01fb1079aec44edcd08ffa95aebe8c3970d68078..f73c99ccf4c79260da51592deb1d315aff43bfe8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-152.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-152.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-153.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-153.js
index 5d384c708273f9d0e3d5d90c7c5499eafc19d9c4..c497e6d01e79d4f366782fd7abeaf5485eec8ed4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-153.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-153.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-154.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-154.js
index 5553c4438d595291b97386f5fbfa238c1d2270fc..4699c770611fb45cb561917ff8b2b727fbe4398b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-154.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-154.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-155.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-155.js
index 27dee742e1078483c029108ec2fdb4fe4aec844e..940f4b207b6af5b0cf411a420e3d8e83efb0877c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-155.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-155.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-156.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-156.js
index 9c96399305a63c16ef040635b19abd6e7de428ac..b24b391d767e95ac349947587489ebe1ac7d310e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-156.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-156.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Math.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-157.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-157.js
index 047646a98bf0456e9ed0aafae627a151204c9ae7..59e0e03dd51e63df371ccfafb8cc44b53ac6832d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-157.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-157.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-158.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-158.js
index f5a93011b4538d2d9f38b0f82c6129ac47ccd9e4..a878e1e6d5910161b24488943df0e9be81a9b002 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-158.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-158.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-159.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-159.js
index c49f06f50a01d8344af03a7a685472299b814ea2..31f71d0e3fa5de55c6766629cc8f18573a47f567 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-159.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-159.js
@@ -42,4 +42,4 @@ function testcase() {
             delete JSON.writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-16.js
index ff87bec1da8eebb3da5b6f4cf2c7e0c78e07df2b..c0cfdcd37a096fed62caa9a3a06dc7d3ae262376 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-16.js
@@ -44,4 +44,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-160.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-160.js
index 95bba08815c2255cfd263bd5c5c68cee2c2703bf..b3b2a745da524f659ca22f42c359c0fc4dcf011a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-160.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-160.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-161.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-161.js
index 985e7b026ee6acc5bd6a7f68f1a70a9db7e37e2f..08b0b67f8be7fca1a084f512e6e64cf3cee26b25 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-161.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-161.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return func();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-163.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-163.js
index 0897fbdc134ac6af17eac3168599b654cef9c662..fec75b6a1eebabd05bf612175d17eb10305441dd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-163.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-163.js
@@ -42,4 +42,4 @@ function testcase() {
             delete fnGlobalObject().writable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-164.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-164.js
index 7a0de0b3a4a83e48ae438d10a2046a507623d4c9..9a3028aa61a878401e00a2189dee77934875f14a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-164.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-164.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-165.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-165.js
index 8d7626d9831307e972dbeec2313d649693b56e46..79900304572e8316b0bfa7c59e69341632f8454f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-165.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-165.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-166.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-166.js
index 565f29c9f7566c4da76846f5314b3ac857c94866..b368de6ace8969f868868d1fb882ebdcf640bba3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-166.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-166.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-167.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-167.js
index ef615f56c999f22b515ec3d78587884dac0ffda5..23122a53b3a263503c1b94eac0222da65f0ce404 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-167.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-167.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-168.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-168.js
index 8021e2fda2a710bd6981c85ef2fa8087dd4587ec..ced62fdf2f7c9d0899fc8f85f3489d8036dccf2d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-168.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-168.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-169.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-169.js
index 1cf8b765dccf9c2b3cbe567931ee0076a375627d..1d42b2a721e4e3a24658c7a80180b18a22a80e09 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-169.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-169.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-17.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-17.js
index 12a1fbc4a826d7383878c9571e2bc6d0cc674401..9497db6d2c46ba5a2111685402dffecdd44e9f32 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-17.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-17.js
@@ -53,4 +53,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-170.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-170.js
index 8f67513f667321716f4859e0e4ad07a6fcd0353f..6652191fce8c6657ebece9fe8755532ab4ed8f46 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-170.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-170.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-171.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-171.js
index cae6563c9fe9859b70aac0a29479c0bd40c1f026..e34f1529fe456261c6857b856d0010ed4c8fef49 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-171.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-171.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-172.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-172.js
index ae1dd1e9eaf4861268f491344cb07645c0db2936..2a6935f4f88e98e497ca5e4a8d549d54d0c8377e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-172.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-172.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-173.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-173.js
index dd9518f39f5f38c99795cac3fa3596c40559e2ec..9fbd89c15c84d7b741263fbacbe4f51db191d442 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-173.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-173.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-174.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-174.js
index 9451bc4c6425e74237a8e71a544d34f9dae40628..cae419647b8cb2eadf1c4a984194e2f92625c9c1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-174.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-174.js
@@ -38,4 +38,4 @@ function testcase() {
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-175.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-175.js
index bf53a053e0764fcef83e8534ddc8a131d873d067..8ee7a343d243419253023e6f1264840aa67cd2c8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-175.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-175.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-176.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-176.js
index 5bc0c48fe9075fefe37a3a50c51c5b65eecbc60f..4b3afe3b29a6791e0b7c3b0dfc9df052b5fc5a8d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-176.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-176.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-177.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-177.js
index f1b815f9f2a1eb6628b846ef23aa3b4e5e0f2a16..78a3425519eeb58fac6c69b2989014f100280459 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-177.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-177.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-178.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-178.js
index 93eb99790c9698b3ea85390e70562b7593bccc48..e5c512c6de8ded44e3de6d23df0294bba9fe319d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-178.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-178.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-179.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-179.js
index 6be6145550e58335bf6b37a5d68b7fe19c363635..4109af64bb92af8f642b059d19f82722e763b31b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-179.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-179.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-18.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-18.js
index 5276996dbecc023c822f6dcaa84ffbbcc69864c1..7878e92ba8659aa3679c76e5c7549cd91e337f83 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-18.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-18.js
@@ -48,4 +48,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-180.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-180.js
index 706aab2461bb6be9593144e4e29f36012bbfd271..a9b9185776afae13335d6072bdad94ebc4c19f6f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-180.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-180.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-181.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-181.js
index b2b17e971196fc097cc636587b2c5274954fe4da..5bd7ef747510b3b7a8be588759adf8b575d0db3b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-181.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-181.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-182.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-182.js
index 4c7a3170739eb02e8f9fdb7b80761d5e58872a89..c927aa66940b4b0bdd319cc0df5d2c555fa091f6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-182.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-182.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-183.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-183.js
index 6df87420950eafb76a1dedfb67048761a5a1c482..b093def5287d12659a54c981665146ec754031ab 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-183.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-183.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-184.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-184.js
index e0002ed2274d40e7618edb888a82c2ce916b2617..d1d05fd5a6476bb95604ffc5dbea101c91a0d5ad 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-184.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-184.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-185.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-185.js
index c95ecbc46c7edc4771796c13067fb77c846ff11f..d2999c98e09a173f058f0089ffe3e8a1e468ce2f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-185.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-185.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-186.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-186.js
index d91b725f275f1a66bacfe0d1e0ba3c21b8999526..0e2686f4cb09f021d62535f67854bb8895d5e506 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-186.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-186.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-188.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-188.js
index 70378f9f523724a82ffd79927deb71e04eee3bed..275d54a2f2edd67ec879ac123daefdda2a1f68a0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-188.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-188.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-189.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-189.js
index fdeade8db2d7e5af96d63865b5ad54e1fcf63c1e..70038c0a95cd00ec4319903b075f9a083a17fa55 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-189.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-189.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-19.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-19.js
index 99c046c432a313081fefbb224e8ca57262e16178..3d985ca23123f4ee0116b825e2b407012f84feb7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-19.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-19.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-190.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-190.js
index ef37ead7c24ee66363eaa185656c1da787f9b1c8..5fb2d302fcbee7349735f07c1e81928b23d4e98a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-190.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-190.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.property === "isWritable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-191.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-191.js
index fb14170c0d8e2da1817b61336243447fbda8385d..68da94a5dfe934acf2c3eadee3741d0e0a2361e0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-191.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-191.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.property === "present";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-192.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-192.js
index 0346f4851b86b6e0872441936985341a1c6fe924..a18d41fca7c0b32bdb47dda4d79d3e15919fc02b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-192.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-192.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-193.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-193.js
index ce4b2dcd199cdce90ea12da639524d7394411470..d249404cb271e48523f2718579002550031fd0cc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-193.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-193.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.property === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-194.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-194.js
index e050d479fb8b1429359880da3b82f423a6f5e3d5..aacb26ca6ea6a17898644bbe30936ed25dafbe6f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-194.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-194.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return obj.property === "inheritedDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-195.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-195.js
index 4a38b4806c9daec639faeac1756e5cfe46ba892a..a0adef7c309fbc10c634dc9fbfd8bd3d65129440 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-195.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-195.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return obj.property === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-196.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-196.js
index 08fae9d551ddd06adf36b608645ebb00ac16e3a5..0f7567178167c6c4fd77b7a5955092a5b2a83176 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-196.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-196.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return obj.property === "ownDataProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-197.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-197.js
index 0462247ef1f4ebea32beadee2ca4edee237c45d9..bfd0f1caa0d16c7d7998bd679271de8e279754f2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-197.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-197.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return obj.property === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-198.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-198.js
index 50d71e732f1a00820d11ef91726ff69c8cfa0b4c..9d41cecb3b6b9fc17bada7af9385e2e6b8786397 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-198.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-198.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return obj.property === "inheritedAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-199.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-199.js
index fedc657fde4fe26c8c4895dfb8df3d1282dcfc24..7a1a0ff809afda893fb44db8130624cf298ca8f1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-199.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-199.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return obj.property === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-2.js
index 031ad8b0d85e8da9e657c42ac6cef56791cfbad1..bee4d43657cabd688242081ab5db672c4c516bb8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-2.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError && !obj.hasOwnProperty("prop"); ;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-20.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-20.js
index ec7245cc28db8217e695d32b3420515d16e90a57..624935e86f433e7e30eb07951410703c65d550a3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-20.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-20.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-200.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-200.js
index adc4fe967309cb1ba7b3177cfb4ce4a441e0b067..d3856cc6e67bdf36cdde3a03587da0fec863ef6a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-200.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-200.js
@@ -56,4 +56,4 @@ function testcase() {
 
         return obj.property === "ownAccessorProperty";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-201.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-201.js
index 967769e500bb04ad05cb12df4c43b6f23905a7d1..9594f4022873cdb1f468b06302efeea51580abb6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-201.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-201.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-202.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-202.js
index c1fcfdc13f81b1664279c9b632096b21432ab638..3c6b5abbd7963767b32c834d96a9509529dae669 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-202.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-202.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-203.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-203.js
index 61944d1c6650c4170367281113b64a2ec52c5ec2..0b013f775e422f4411963885a1de019a2640a537 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-203.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-203.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-204.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-204.js
index 0d2c0a5642810879ddeeb324a3360c978dcac17e..d0404141276b08dfb87f9f95b8e52739865c432e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-204.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-204.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return obj.property === "Function";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-205.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-205.js
index 172b70c0b56d7de6095547392d0bb4fa52bcc1b0..1b54e49ba8cf430f45867d31466cc53990121c06 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-205.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-205.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.property === "Array";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-206.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-206.js
index d880e9496ab8df3c774a98696321f599ccffd102..0bb013774888bfd7f513e5a0cfe977bc1668300a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-206.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-206.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.property === "string Object";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-207.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-207.js
index ffeae343440e19d515b45a63baad9de6c3052370..f0ff23573b8c1a23c9e4ca1e69794047a36ddda7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-207.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-207.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.property === "Boolean";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-208.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-208.js
index 0f20de51a43a8b71d3c9a1b68656c8c6faee7f92..15846d19a75fb57618f5f5a60cc983a73b0ce460 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-208.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-208.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.property === "Number";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-209.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-209.js
index 21ae964e94d4d5a59ef60df0c7f0006db7deb3bf..1d548f620d354e590362dc0547cc31442d7524ca 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-209.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-209.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Math.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-21.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-21.js
index 8d224abb331ec23b63e3e0420cf817f245e83b0a..04470ebc8e710ef377d01f98296e977cc9da4779 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-21.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-21.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-210.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-210.js
index 7e50553319cb574f18229c756f9850bafa9e9b13..a2229fb3497d768dcbd5adc48348d4264685232b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-210.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-210.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.property === "Date";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-211.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-211.js
index a56759bd864fdcc75b6202b418d5a78bbef5780a..692670a23a29bcad4ecb70e79fc67b5a61a4d45c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-211.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-211.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.property === "RegExp";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-212.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-212.js
index 3a6e4ffe2c7b723b5862a7138e3577c0e570c1bf..de36a03e6db30d64cab0c9483b353ecd7286d579 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-212.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-212.js
@@ -42,4 +42,4 @@ function testcase() {
             delete JSON.get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-213.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-213.js
index 9b1a05dcccf2d99cbfc5e20e2c93e67c1355964e..deee003bc8ff838edba185e7ccdf9b594d5eb827 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-213.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-213.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.property === "Error";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-214.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-214.js
index c1ca81928a89e84c4a0fc389a29d0ae8f308cd07..ae71b15b5dc4d61618787917f583da249276c9bc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-214.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-214.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return func();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-216.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-216.js
index f2f1a2f50656699e3796b8e91d5d3493001324bf..57f3f128b30b5a25309cf2c7e861a0748086261d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-216.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-216.js
@@ -42,4 +42,4 @@ function testcase() {
             delete fnGlobalObject().get;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-217.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-217.js
index bbc57044793501cf3a082c70416fd472ededd5df..167c053e77419ca67c6374f6c8e3417dd23c1d0f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-217.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-217.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && typeof obj.property === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-218.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-218.js
index b4d5d0afb0a4146131b3d3b4e6e4fbf3ecf48737..ee6aeb65c0e890796cba701cbea8b6037c24bff6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-218.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-218.js
@@ -39,4 +39,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-219.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-219.js
index 1ba087a5aba4f287434a47e12373163e7f2589e1..05411b3e8fd7c024b4e9de9fa9d5665aa02c8e21 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-219.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-219.js
@@ -39,4 +39,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-22.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-22.js
index 78d3c61932cce13bb6d6c60d2c5427bf9aad79c3..a0fdc9acefc777dd221a16b39d48e59ef7f35924 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-22.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-22.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-220.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-220.js
index f13d23e30d036083e680b55f3443475cc6c1546e..da4033c8bf9ffd2242abf0d62e9f61515cbc8c84 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-220.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-220.js
@@ -39,4 +39,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-221.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-221.js
index ccbab7f38c1d448a323517146b510a90ae5c86ee..62c2264f18c04dba225d054ec53517c46546fb4e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-221.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-221.js
@@ -39,4 +39,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-222.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-222.js
index 23480c7453a5bc8d90389ea925dc75bcdd5b2481..4988404eff45bc9baac54dd75483c44e47d05d03 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-222.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-222.js
@@ -39,4 +39,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-223.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-223.js
index cfe0181c9a0254e9d470831f667658e03309069e..a5bf1999d758eb198169fdf94495c1b3f0f39530 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-223.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-223.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.property === 100;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-226.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-226.js
index 249a3395ff581a5d51091082aa032eea50590b2b..be60fd696355358d024428740edf22b9aad50d30 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-226.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-226.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-227.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-227.js
index 0adeeef73ad33808f013c9ff17a51a22c57596e2..d47b5c6d0738b3086a021e64bf25d29391b74701 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-227.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-227.js
@@ -47,4 +47,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-228.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-228.js
index 41c55e5a7bd2e0ecf937925dfd17245b35d2b32c..d29fa5fc697023f576577f022c6c2dff0dbf9ee5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-228.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-228.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return obj.hasOwnProperty("descObj") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-229.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-229.js
index bbf02f19d52bb035c1497fe40e98763903b9c3ff..4876c0604fb413b97cc65e7ff3772bda206f430f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-229.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-229.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && data === "overrideData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-23.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-23.js
index acac429c152476fe904fe97a2cc74fcd3c4ab0e9..887c3b24c3b63eb765ec2167653c4f30b9a378b0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-23.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-23.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-230.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-230.js
index f8ac63e023f65c5fa9adadf629269c53841379fe..d4849daa4d89f2fa37ec0422ed3546de74121f12 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-230.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-230.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && data1 === "overrideData" && data2 === "data";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-231.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-231.js
index 1197f25135be663a53647f9e74600d1029e30d7c..804d8153cf5c22d31c350b57743aef40015cf372 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-231.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-231.js
@@ -58,4 +58,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && data1 === "overrideData" && data2 === "data";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-232.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-232.js
index 925d98fac95ffcf7fe0107652e21576b32f4edac..eb3e586ec4fa5b1339451c5092a35dfeb5bdf41f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-232.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-232.js
@@ -47,4 +47,4 @@ function testcase() {
         return obj.hasOwnProperty("prop") && data === "overrideData";
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-233.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-233.js
index ce66887848cb08328260c59399c6f73484a4f312..80e7fdd32c73733ce53b1c5ca433420555192fb4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-233.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-233.js
@@ -50,4 +50,4 @@ function testcase() {
         return obj.hasOwnProperty("prop") && data === "overrideData";
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-234.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-234.js
index a34dd67b8bf333a1fe38c375268c1f13be1d0282..70379ba094217103a8cf8b0b163235bf84707568 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-234.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-234.js
@@ -55,4 +55,4 @@ function testcase() {
         return obj.hasOwnProperty("prop") && data2 === "overrideData" && data1 === "data";
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-235.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-235.js
index 3615b1dca015077c358d61d3f44a8af39e74ebe5..112971766441b2d2e7186024a2c194046ab55071 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-235.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-235.js
@@ -59,4 +59,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && data2 === "overrideData" && data1 === "data";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-236.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-236.js
index 1715e86f0b6128ddc081937aa73b22134a68d871..df42cc7291ad728fedd950f03044b08f2915b3bc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-236.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-236.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && typeof desc.set === "undefined" && obj.prop === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-237.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-237.js
index 19551c4002217997758e3dc0009d78c3f01e18fd..a266e1d42ad2279cd965233857d2950463d20949 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-237.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-237.js
@@ -58,4 +58,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && typeof (desc.set) === "undefined" && obj.prop === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-238.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-238.js
index 221204429be3b4161afc4f2e35bd12b501c39703..4649539cbacf244922fe93c1090cbc32081c5520 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-238.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-238.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return obj.hasOwnProperty("prop") && typeof (desc.set) === "undefined" && obj.prop === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-239.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-239.js
index 7f7c43340ce917a73a8c6a0a1d7f9d0fe4ec02d5..da61a28092456708c4c4f2d0d13b7e05e38b7d01 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-239.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-239.js
@@ -40,4 +40,4 @@ function testcase() {
         obj.prop = "funData";
         return obj.hasOwnProperty("prop") && data === "funData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-24.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-24.js
index 5fcc03ef2fe8f2fc4a7cf7061da43bdbf2598a5b..58a20448d7d4304d1e5561b0fce982899f31b251 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-24.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-24.js
@@ -45,4 +45,4 @@ function testcase() {
             delete Math.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-240.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-240.js
index 96e72ca757c2597d9acb3bf0efe305ceeb276e87..2366d411e36fab94f11d1441dc6dedea63ad0778 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-240.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-240.js
@@ -40,4 +40,4 @@ function testcase() {
         obj.prop = "arrData";
         return obj.hasOwnProperty("prop") && data === "arrData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-241.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-241.js
index f701fda1230407db020a4df20ac1d90fc5f74ab9..96da9b101b7c9978f6e5c28a8a56b424596d2c46 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-241.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-241.js
@@ -40,4 +40,4 @@ function testcase() {
         obj.prop = "strData";
         return obj.hasOwnProperty("prop") && data === "strData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-242.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-242.js
index d3b485d1860e766e3d0997d9909b81924ce354c7..f8a94ef04f90a66f8228f778e49cf9897c9a474a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-242.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-242.js
@@ -40,4 +40,4 @@ function testcase() {
         obj.prop = "booleanData";
         return obj.hasOwnProperty("prop") && data === "booleanData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-243.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-243.js
index a76d27db6ebd99452c7a4b8362d3a54ada4a00dc..81f9425cee8baba312633ec6d258ea65a7a4a50c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-243.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-243.js
@@ -40,4 +40,4 @@ function testcase() {
         obj.prop = "numberData";
         return obj.hasOwnProperty("prop") && data === "numberData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-244.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-244.js
index 81effbede8585d87ff9fcd101859f3b074b50be0..03993c757e533b3bfe28d08f51a2e947f4b9f5fd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-244.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-244.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Math.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-245.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-245.js
index c4f15b813dfe2f15a40dbef8185778c7eb03ba70..fc3b213d89bf1c01fa5689e988c65d46af1b0395 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-245.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-245.js
@@ -40,4 +40,4 @@ function testcase() {
         obj.prop = "dateData";
         return obj.hasOwnProperty("prop") && data === "dateData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-246.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-246.js
index b058d8d7a237bcbc7a11b5c0be06981c51e4599c..acd6de1c288aa41530630cee21bc85a740422c58 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-246.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-246.js
@@ -40,4 +40,4 @@ function testcase() {
         obj.prop = "regExpData";
         return obj.hasOwnProperty("prop") && data === "regExpData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-247.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-247.js
index 40a949de6334b16ca6758f40d4b561ee0e75fb71..0dba9189ec0879032c4cfa58d89c3def5258efc0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-247.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-247.js
@@ -43,4 +43,4 @@ function testcase() {
             delete JSON.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-248.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-248.js
index 097f62d57cdd19b90d512c7f38c48ccbaad85d71..35a965a68513e2c7411daba4e8547530ae4bcb86 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-248.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-248.js
@@ -44,4 +44,4 @@ function testcase() {
         obj.prop = "errorData";
         return obj.hasOwnProperty("prop") && data === "errorData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-249.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-249.js
index 0f9c2f6cb95d89a24fd5c3e049292d00d0577f7b..bdd41ee875b7fae2f503def51625c36ed91413d1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-249.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-249.js
@@ -43,4 +43,4 @@ function testcase() {
         obj.prop = "argData";
         return obj.hasOwnProperty("prop") && data === "argData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-25.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-25.js
index 43ce80cc6f17ca008437fa3f9181fed157ae27fd..0e80105c324f1fa23339f211eaef27bf547be020 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-25.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-25.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-252.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-252.js
index d6a171cb1e139c8c6132d6897578c38398e0c5dc..2fe01d4d6a0cab920a969255883b7848ed8545f5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-252.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-252.js
@@ -45,4 +45,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-253.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-253.js
index dca695310aba9648d5f493ccfaabcab1cc41bf3b..151c16d5ab90da51f4fe8a9258f2c17f47861ed3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-253.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-253.js
@@ -39,4 +39,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-254.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-254.js
index 1cf03ba29ac2e33dca42dc6db703ddda79708577..0caa7557fcdbe9e4441d9b5699bf14b88f09f046 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-254.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-254.js
@@ -39,4 +39,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-255.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-255.js
index 5a8f8feed7da4ad7651a846c226702f86b9cad85..be6e1f492fb7f659089ca91c4fd48973d9494198 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-255.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-255.js
@@ -39,4 +39,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-256.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-256.js
index ee464cae18b84dddb8ca1c6e6c3e7d475b493efa..5208c3974061fa9b2f96214abd0a86ec49dd6998 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-256.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-256.js
@@ -39,4 +39,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-257.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-257.js
index 44448d72a736830a52fa9bc5ffe1038bf5826e52..f694acc9ede21ee8e1108442f1c7bbdfe186c46b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-257.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-257.js
@@ -39,4 +39,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-258.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-258.js
index 328f54cc6412de6ffd4c38c34b3978df8f8f2452..5eaa6b74ef9d74294e3f5c0e74b43a4a1d73f136 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-258.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-258.js
@@ -41,4 +41,4 @@ function testcase() {
         obj.prop = "funData";
         return obj.hasOwnProperty("prop") && data === "funData";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-26.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-26.js
index 3d43d7966d53452c863b27ecb95ae59845f69348..cd62429f6b0da640b16e54fcf7319cea398b9e38 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-26.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-26.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-261.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-261.js
index a71a50ff99943d234bbb8f1b4754b1c71d2effdf..07a148b70080a3332fb3c8eada8db773961ab60e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-261.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-261.js
@@ -41,4 +41,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-262.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-262.js
index 851c5ff497ecc5d72e0cd88d372067e950f035c3..401c1ef06fc2661add2ca82a5cae8cca62ab3e65 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-262.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-262.js
@@ -41,4 +41,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-263.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-263.js
index 175497745bb93a863e17da87b74220869a0dd7b1..5d9e3c24d8edc8b38906ac6a768cb53d76455cd1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-263.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-263.js
@@ -41,4 +41,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-264.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-264.js
index d415c0f4f8fe4f0242f1025b0cbcab37656a0b71..b0bbd6e6b2dcdba9348ad4c877b2c543996faa96 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-264.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-264.js
@@ -42,4 +42,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-27.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-27.js
index db569aa41762c980b38078cd8b2bd6cc70443d0a..f2630fb2c69979999c79489ff4330d55bee3e89b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-27.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-27.js
@@ -45,4 +45,4 @@ function testcase() {
             delete JSON.enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-28.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-28.js
index 87f554f685f0c11e50967a3d1cf5fdfbb392eb7b..62b75ea5ceefdeb8d7f09eff4d44b663c6d0ae72 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-28.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-28.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-29.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-29.js
index c26201ee5dac0de7a85093d80e704f69e05eef17..9b19f0164be136525f6598dbab4b2f9a57004b92 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-29.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-29.js
@@ -46,4 +46,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-3.js
index 6b111bca655cae01c055e4739db2665728b5857a..2cd54847fd9635733e52bf0f0ce6d8fb7b2a9e90 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-3.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError && !obj.hasOwnProperty("prop");
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-31.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-31.js
index 600aa4118ebc5ef6b8ed7c3f5773e00732a13490..de9b9b8453368565668e5cb0ce0a1336319e251d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-31.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-31.js
@@ -45,4 +45,4 @@ function testcase() {
             delete fnGlobalObject().enumerable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-32.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-32.js
index 50082d20fc6f37c0dd2f0cdb3be75fa9bf720cef..17b740cdba3ec1b0582c03978efe3a5ebeb409b6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-32.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-32.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-33.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-33.js
index 7b06289ce3d89917a60a83ceafa3d8a617cb3778..ab92befe290984ef2fe1ff1954289e3740448267 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-33.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-33.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-34.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-34.js
index 6eb007cba445eabfe5c4c36cd617d5c5a8750a57..ed10ab4661a097552dec8607c974bafe7d206056 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-34.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-34.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-35.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-35.js
index ecf0b795d0b01556872a530f9f859747c00c7f43..402d0bd2cc82fcf09d6777d539518b1878430374 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-35.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-35.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-36.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-36.js
index 2fc044fb094f97b392502d24a7e0ff6fdc696886..fcf635b732fed2f4e8165579f3ba6b3f7b7a4ac3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-36.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-36.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-37.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-37.js
index d4cd9b6bc13aa1fb235832606f1f3d896308a9b3..98f300d710c6b7c0ee3a10b5fe3bddaecfbd903e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-37.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-37.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-38.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-38.js
index d2f6f07191563564ad38287cd7310286cd0c1b3d..b78937d2754548c554f386e727983d24e30687a9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-38.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-38.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-39.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-39.js
index 0d5614fec920d19298ac8b3645e389327b01a5a3..01f3b4a6d014e23d1ceb3bf589f6008b4a1e344b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-39.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-39.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-4.js
index ecb0082a934f476121e60a9fb85542fa43306b35..bfb13f481d994b20bde67c75f0f2092e53ac3000 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-4.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError && !obj.hasOwnProperty("prop");
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-40.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-40.js
index e6a18ac28cf07c15bb175c76abd4ae87ca9a0937..ee9bb89e0bb12bf33d5201fe76ec6f607d49a403 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-40.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-40.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-41.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-41.js
index 09c9917a35db210d9ca0be716b6ca529bf33ebd4..89b2c35248df01a47d7595053945a2ed4abaa6d7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-41.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-41.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-42.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-42.js
index 5f5036754ff84683d6c49d1cd0af78ea6d8a45e4..6c0f1adeb7ad3a6204fadc0d48d2a64b702311b4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-42.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-42.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-43.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-43.js
index 6eb5105acb1a7e87749152fa57ba8b0168333de4..ae6be61d651ec76cbfef22a51714b4c9722e99c4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-43.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-43.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-44.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-44.js
index 14b5af00b71804a232f3aa2209af5ad10adadd83..3e596f17a858c25de2cf2c2e34f39c6a6261c2dc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-44.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-44.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-45.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-45.js
index a889020fc931cd58e476c6b82a7ded7d51c159fa..8a0ec3fe344ec0ee0e18673a92681f3de7557356 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-45.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-45.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-46.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-46.js
index 939c09f5e64928275e9600a5fd121a9a29afa546..0a9fe7cf32ad33bd993850bd999c025c899090ae 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-46.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-46.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-47.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-47.js
index 2365d2e431bc95e09e35422755d908b529dd325b..08275b1544c627373f9ae38d95b2381ddc350726 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-47.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-47.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-48.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-48.js
index b227196c456a128feb402950ba25721832ab3bc3..7ae779cddee6a7bd0af663137d38620c05c2efdb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-48.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-48.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-49.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-49.js
index 3f2cce1ff2a354fc5e7d4116382f7fd4cc769512..9cc4b67b84a0e86a3f8dc9901bc6edc13669f2bf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-49.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-49.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-5.js
index a9c14c5704e4539c5508c4f5c5b140aa07a36fdd..6356ecfe6a0a76fb3cde7d2981d107376037293b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-5.js
@@ -37,4 +37,4 @@ function testcase() {
             return e instanceof TypeError && !obj.hasOwnProperty("prop");
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-50.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-50.js
index 5f4f71f6e118fea6275382297c35d115f45e645b..4cedae14c718711f1462f9b117dce0f3f49e6dde 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-50.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-50.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-51.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-51.js
index e8097ed529b4bb667bb43af85afb7f1fba1bd811..0beb34073aaf2abb1643b480c8c1c2742949cbb7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-51.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-51.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-52.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-52.js
index 34bc446d2361e2556cd795dbabad09fc44dc9c05..4dc0d600fead1286caa91d90356da64ff1f9edf8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-52.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-52.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-53.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-53.js
index 3df1b05b34ae564ef2d8dd0165fe4c26c2d5b67f..36a0c78c6b94f7188bad125f0ec0cd475f57c353 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-53.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-53.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-54.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-54.js
index a74c48b04520d6f4d3335b45c0287a9d229cf34c..53dd6e0ef745477712e3bdf2d30d0d3e632199d0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-54.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-54.js
@@ -46,4 +46,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-56.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-56.js
index 5d106448ea0751dd129746493e208e8f119d9811..a58e83719efe6c2753c7a29eb578863db9335c3c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-56.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-56.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-57.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-57.js
index f0cf6c7a605b592fe0d306b137ddb0162ffc8ff0..c126f1f9ee0aaeaa8b5d57e71d1fca466aeffdec 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-57.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-57.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-58.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-58.js
index 99e88a8ed067a827aac4e5f3aecbb00f15df9437..debad0af94e01f5749f06c176c76cf518a09d2b8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-58.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-58.js
@@ -41,4 +41,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-59.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-59.js
index acf9d17a9337aec351dc7d3a97f1992acd0306b6..8b8b3287205899cca0f6b3efd71c97cd691881ca 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-59.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-59.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-6.js
index 464d6f8050f1365aee967beed7ec9c03d1e10214..14c181d3138669bd4e8e4cd93b08c2834afae90b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-6.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-60.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-60.js
index 1fe293247146af8dd1fb1e77a28c860a0b3d678e..e97dd815c69b6731699511cd5bdb54cca425fded 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-60.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-60.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-61.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-61.js
index 2b83fc732ac6432089b04169eb031ccbf7cd530d..bbc45afb8044ada88a0340ccd65f69eefebe97a4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-61.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-61.js
@@ -41,4 +41,4 @@ function testcase() {
         return result1 === true && result2 === false;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-62.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-62.js
index ac74fe2f7cb62959193e37361438be25937e4a75..1de5921d5afc9b9e87c003fc72415f4ca0eb96b9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-62.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-62.js
@@ -45,4 +45,4 @@ function testcase() {
         return result1 === true && result2 === false;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-63.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-63.js
index fa6898d5b1d64aef99b54bbbf097df5581bcdcab..7e5ac2558a7ee9d4efee41af01d55bafa10c66a8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-63.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-63.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-64.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-64.js
index a0b5384e823b0b78d1049edf38fce400bb06cae8..a7883cbd87fdfabeab215d433a03a6127908fdf3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-64.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-64.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-65.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-65.js
index efcf162ad5f503fc13a281caaf64331b99963423..706647d0350cfd11f896002e1c96cb3f53a00c06 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-65.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-65.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-66.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-66.js
index adb8787c0be70a48555cf80b70de398e134aadea..14a24f99ea6cc5af2eba47bd787f0f94251898f0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-66.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-66.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-67.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-67.js
index 250ee55c0ef8b2cf0e14e9c6faf81fa1459a5da1..a30b25b9f04eb323c263072b0d04c965da031c1e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-67.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-67.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-68.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-68.js
index 2232db5b5e1d89177fd3f54484fa4397daf497df..76fd6547407d443e5dd61f1a1ea679d431593c9a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-68.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-68.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-69.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-69.js
index 15bf7f5cb446484779b73e59c5c072f88f2e9149..a81393750498c16b13bb24ef5b0b6f29d5d0ac70 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-69.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-69.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-7.js
index 13c1a6a78eb814cc5096c802b9362f3d0e910ba8..cdaf53d4d23f9467c5cb8a98eabd04d32b55b08a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-7.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-70.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-70.js
index d6e2069e1b54ec8983646e979d1cc085bdeb7a6d..aee52b19887c158ef28f4727ec96dacebdbc7d39 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-70.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-70.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-71.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-71.js
index 4162db009632a028405a506b13ed8426a570da88..f528293b1f7139335ca034c0bd6c0ec8313abdee 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-71.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-71.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return result1 === true && result2 === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-72.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-72.js
index 9d364b893809f2f8557878a88b4a522df0bc6286..cf222359a99b5506ca5ade2e78096e6d66cec488 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-72.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-72.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-73.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-73.js
index 0226b33cf09b4286291c4e95b22b8204db2a6a8b..eab161a3861b2ff2596d4f2b0f533604feebd811 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-73.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-73.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-74.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-74.js
index 4ac9104914e4bc81ce1c72366924a71fb34b1cd4..e0beae0ea6cd352eb105e3cc1e14a6fc4117cd63 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-74.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-74.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-75.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-75.js
index 997b6e7577245c7564537dc04dcf7451d2a2136d..de3b01ad779bd4f7b1af98f0fb50e0efa0892322 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-75.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-75.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-76.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-76.js
index fcb624f0f2f25791acf4b2b70230bc4fda912efb..52f9855bafebc096c340c6d6fb8e2eeaa6b46cae 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-76.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-76.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-77.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-77.js
index 5f79054f9d2325b47440cabff175c1f8e0a31983..2da68bba3dcf93303128163758e37206473d8d19 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-77.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-77.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Math.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-78.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-78.js
index aee0454ea4ac303c2ab6be396639ded2ecc706c8..ecf50cac5a77846a040ce3adb81374161f156974 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-78.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-78.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-79.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-79.js
index 2b0ed39d59c276437a714b29a41d80a33289a35b..110edae8ce9d7194556c8e1fe9387349c24024ec 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-79.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-79.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-8.js
index ce7adec577dc59603422b7d38b837223f5438300..8e4bebab93312c1576babb760d878d998b3a11d7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-8.js
@@ -43,4 +43,4 @@ function testcase() {
         return accessed;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-80.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-80.js
index da90afafc2b8225ee69b912322fd6c03c35673dd..446ade3d20ac77ffc95ef99095ab91987367b28e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-80.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-80.js
@@ -44,4 +44,4 @@ function testcase() {
             delete JSON.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-81.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-81.js
index a664050af68ee4aa8e88de042e65f5b43f9f83af..49b5619df262627c59924595b7224e88107c0a5c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-81.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-81.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-82.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-82.js
index db4fe109c2f5a81a0ec3b58dfa929397a1bd7041..979b34346be2b7f6c686845b22b9edfe010b0781 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-82.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-82.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return result1 === true && result2 === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-84.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-84.js
index d72df28aa2b31bbca15822044d13a08c74933df7..25570a8a0b59982f32085037a14fff2695643c10 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-84.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-84.js
@@ -44,4 +44,4 @@ function testcase() {
             delete fnGlobalObject().configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-85.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-85.js
index fe1de53f5cc09516551a4ef9f23ba3aa839d7268..4699a4da9af08b94916c25fd65ad58c4eab672cf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-85.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-85.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && hadOwnProperty;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-86.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-86.js
index aa683ad36b160fefecfbf571e4aff3bece8482f0..addabb27c88fc4025a13d6a2144404d981bd9b0e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-86.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-86.js
@@ -40,4 +40,4 @@ function testcase() {
         return obj.hasOwnProperty("property") && hadOwnProperty;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-87.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-87.js
index 326938bbdfc74258a141ed9a20ec651c73c5c4f9..48ddfd2a0e53eb23dcb40459bd9793aaa25034b5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-87.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-87.js
@@ -40,4 +40,4 @@ function testcase() {
         return !obj.hasOwnProperty("property") && hadOwnProperty;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-88.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-88.js
index cf4d6cc8e3431da9aea16a7314bc300fc34c74ac..af3eaf5a276ff4f075f7f6dbf8f7b7ce3bcb75c8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-88.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-88.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && hadOwnProperty;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-89.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-89.js
index e70a3a2cb0ba34e791a06a87114349be7fdf9c0d..fb988552ee521f56f68b2d4614167008bd852b08 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-89.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-89.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && hadOwnProperty;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-9.js
index 65fe149a5bf821b66088d51eb13e4c4122e83eec..2794a338faee940859beb6e844d2f4ef80c0be8a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-9.js
@@ -47,4 +47,4 @@ function testcase() {
         }
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-90.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-90.js
index b366c188a808b63afd3f4c575fcadb01dc1c2b9f..6b7ed83f194c9fa1acb65da6d155b80addff3caf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-90.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-90.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && hadOwnProperty;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-91.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-91.js
index 7ee7525059b0d84dc91edf5696cbb3d898cf78fb..d54883913cce44a13059cd2c7048f32f9887013a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-91.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-91.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && hadOwnProperty;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-92.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-92.js
index 3a6ea9ac0db369294b6cbee6a937cf23e89a65cc..1ccf83ed4f3926f1b72214ced7ec974070e6a21e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-92.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-92.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && hadOwnProperty;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-93.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-93.js
index c9a268c0c556439c25e1d448fa7fbca13d21561f..84503fe84d87415b65940c370a344907805ccc8c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-93.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-93.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return !obj.hasOwnProperty("property") && hadOwnProperty;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-94.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-94.js
index 2ea0c44b77058bdaaced3ec2e643f68610dc107b..cc3d42ba4942730159b6253cf8a2ee27e081a61d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-94.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-94.js
@@ -40,4 +40,4 @@ function testcase() {
         return !obj.hasOwnProperty("property") && hadOwnProperty;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-95.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-95.js
index 1e4cc21fdbd6a0457b07d78262becbebc5947832..6b12fbd383d043b46e33d6063c2964fabfb5631a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-95.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-95.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return obj.hasOwnProperty("property") && hadOwnProperty;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-96.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-96.js
index d8e283f18f37cd6dadb48c353c3506b67cff03df..ded39b6b5926c7cbaea7fd85fc523770235e9120 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-96.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-96.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return !obj.hasOwnProperty("property") && hadOwnProperty;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-97.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-97.js
index 36a871393a035c0b6bb48fe8086d36ef8f22a0fd..157050902091716d975032b2f5a8d3e8173c9239 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-97.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-97.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return !obj.hasOwnProperty("property") && hadOwnProperty;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-98.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-98.js
index 8e139a590e708bcb6664fbb8de86bbb925a30395..a43a585914751b06956fbfb7622e041b15849ec4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-98.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-98.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return !obj.hasOwnProperty("property") && hadOwnProperty;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-99.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-99.js
index e235948bde9bafb478d27426b5f45f068edae7d8..604d61b97c8b14a74814dc1c3defdf9ba3801c91 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-99.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-99.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return !obj.hasOwnProperty("property") && hadOwnProperty;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-1.js
index 068cf8bc8de1ad2f6ea652f146ec9699f0720ded..b18f0a272ed6c19fec07b2d02b9aef5f22db200a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-1.js
@@ -43,4 +43,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-10.js
index 1a5248e35a193c17696ddb3efa575400e3846075..508955d9fa4c1b589424ac8a5e596c2ccc1c9080 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-10.js
@@ -54,4 +54,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-100.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-100.js
index cc48acff95fcbc015ae57b8619b89833de560355..7a19741da8252b316a233ae28c68720fb82ab580 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-100.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-100.js
@@ -43,4 +43,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", 200, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-101.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-101.js
index 3d7e62b2bd9bc3906d1fd61be9e2dcb03436f471..1be82c64d4939569954847e9e52ea43fed758a6c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-101.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-101.js
@@ -53,4 +53,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", get_func2, set_func, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-102.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-102.js
index 7f254dda190058774e8f6abf6812ca14705105ec..29cf2b0c449589dbbbd43a844b9257546dec849e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-102.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-102.js
@@ -49,4 +49,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, set_func, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-103.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-103.js
index 73c978741f173b26c5199b63668cb5e721fe3ffc..a3bf0cb75797340271a4a677dc410bac8cff5bd5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-103.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-103.js
@@ -50,4 +50,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-104.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-104.js
index 96aea221adccbbeda63af69c65e70e00d17f5bd2..c878b4d3da37e41cec8cbc48d47bec307a8eb844 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-104.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-104.js
@@ -54,4 +54,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func2, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-105.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-105.js
index 5f9a27a35c034665693c291e1ac05713e2e83e82..1912ab6f6be50d5e3d0c6d3a57db2c29c6319163 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-105.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-105.js
@@ -67,4 +67,4 @@ function testcase() {
 
         return hasProperty && verifyGet && verifySet && verifyEnumerable && !verifyConfigurable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-106.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-106.js
index 7670c1b89018b61390b9d6f591aa674ac3d1162d..d1ef686cc728d3ebe1278350a9a46bbe8e15a3c7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-106.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-106.js
@@ -50,4 +50,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-107.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-107.js
index ec4154ca170c360f315d1de8236f66ca081cd6a4..5cf88967ffd45769f285eedbf506ebb46c396344 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-107.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-107.js
@@ -49,4 +49,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "setVerifyHelpProp", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-108.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-108.js
index 6bb7aa460f2db74fe426fe5cff377c9b482bd92b..b4429fa4a1a03e93a9cd980408204b9d0686a446 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-108.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-108.js
@@ -49,4 +49,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "setVerifyHelpProp", true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-109.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-109.js
index 10f041cc7b19fe72eaa828298837c2bfd38c326f..66500a1d57463311fff1ed4fe0526860c21517d7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-109.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-109.js
@@ -55,4 +55,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", get_func2, set_func2, "setVerifyHelpProp", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-11.js
index a3243402f711783ff940b3df1fdec758ffabcab9..89dc9f3422475d248cb2e9e9b088f58076047830 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-11.js
@@ -46,4 +46,4 @@ function testcase() {
         return obj.hasOwnProperty("prop") && obj.prop === 12;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-110.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-110.js
index e91faaecd0fcafd1fc5562929e6780f8a9aab5fc..a8cca6c68d624c79d90a727cd9d2354f8a33d13c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-110.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-110.js
@@ -54,4 +54,4 @@ function testcase() {
         return dataPropertyAttributesAreCorrect(obj, "foo1", 200, true, true, true) && accessorPropertyAttributesAreCorrect(obj, "foo2", get_func, set_func, "setVerifyHelpProp", true, true);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-111.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-111.js
index ea7d45198b4c65ff48b834ebe25636739482f5c1..99c73f1a6962292415ff8a639c73232066d69a33 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-111.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-111.js
@@ -59,4 +59,4 @@ function testcase() {
         return (obj["a"] === 100 && obj["b"] === 20 && obj["c"] === 200);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-112.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-112.js
index f77f3585807efbc61ab83e613e41abdab6e8a373..378c1914a95f53532f24b0f2f2078999e26db817 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-112.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-112.js
@@ -44,4 +44,4 @@ function testcase() {
                 desc.writable && !desc.enumerable && !desc.configurable;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-113.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-113.js
index 11c5474783137de7ae1955023a35f0ad587e15aa..ae71138a5c4a1b261610d26414ea081ef2a33c80 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-113.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-113.js
@@ -49,4 +49,4 @@ function testcase() {
             Array.prototype.length = arrProtoLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-114.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-114.js
index 761e1fbb6bd503e4d4737a6e9462e206777095be..ff3d6c3318f4c9a981890ca5c34ce0988544a794 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-114.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-114.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return verifyValue && verifyWritable && !verifyEnumerable && verifyConfigurable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-115.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-115.js
index c85b298eeb5c00a33bd43ddcc424ad1df4c804c2..5a50cf261f04f457d23c1ddd36eb75dc154e0088 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-115.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-115.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return verifyValue && verifyWritable && !verifyEnumerable && verifyConfigurable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-116.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-116.js
index b44c0411153b12808e937eead958c3bf36f72744..c45df83b40b8c5bed54f089c1f6a2dadcb743154 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-116.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-116.js
@@ -38,4 +38,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-117.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-117.js
index f04987b4df7dabf8626d4ceb26e5981e0a6dd4ab..372a53a896a05f399dd808aa0b5d5da94a100c34 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-117.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-117.js
@@ -38,4 +38,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-118.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-118.js
index 2fbf80a9028ae1a273cbc99dbcc9a1fb38fa7723..e2f05e5bb4e58e5da73706cd1dbe46a84e76fe09 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-118.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-118.js
@@ -42,4 +42,4 @@ function testcase() {
             return e instanceof TypeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-119.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-119.js
index ce928a7053dd6fd06c039b3b0e42040e64770528..a3b5fb780735b714e433edde1f399de8faad72c8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-119.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-119.js
@@ -42,4 +42,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-12.js
index cd853660d4b13d2928a9643f0d315199d3aa7fca..9a301bc3cd9f0c173e6035d975d7ab8e39fee99c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-12.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(fun, "prop", 11, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-120.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-120.js
index a2a21b31fc34048f654bf46ef2def6b13a95fdd6..5b8f88bdb156e9b0c6367327392a3c702184f91c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-120.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-120.js
@@ -38,4 +38,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-121.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-121.js
index 86484cc6f3676a5c0486c0928a7475ae0c75d40e..ecfbe8442bf42fb9ad0bace5a56a5fb028908586 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-121.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-121.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof RangeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-122.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-122.js
index 0f6961747e30c51df3f9730d699ad302298b1ee6..b7f0052f7a5dd85785d3db0adcd19a9d5acddffe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-122.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-122.js
@@ -34,4 +34,4 @@ function testcase() {
         return arr.length === 0;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-123.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-123.js
index c774d6ec44ad376b8157896a70add0803082fc4a..e71a9482a6e5833587d65ef452b53490e5471d5f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-123.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-123.js
@@ -34,4 +34,4 @@ function testcase() {
         return arr.length === 0;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-124.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-124.js
index fea8721c1cd85ac3ce2bcdf47d1f6dcaafd843fb..d059f8ad1d5b55163b665b1d49c4cf98d56e2000 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-124.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-124.js
@@ -34,4 +34,4 @@ function testcase() {
         return arr.length === 1;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-125.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-125.js
index 55310f686a47bb376d706a6e792cbe335889ff07..ec124abe33a90b5a6fef08b23e506373f4371a5e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-125.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-125.js
@@ -34,4 +34,4 @@ function testcase() {
         return arr.length === 0;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-126.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-126.js
index 541a905f9b6baed4fb0ffc252636c2f529930b2e..07395a957643366272ba18912f818cf91c9940c7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-126.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-126.js
@@ -34,4 +34,4 @@ function testcase() {
         return arr.length === 0;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-127.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-127.js
index b538ed007de41aa582972fecd3c3fd73dd4b3cb1..04e00207f259e069e74522e7d3f8e8e5d27dddb4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-127.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-127.js
@@ -34,4 +34,4 @@ function testcase() {
         return arr.length === 0;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-128.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-128.js
index 62c28c981351791b2cc53c835e3bd4880cc3f14b..e4a1fc0dc2cc65781cc8e18ea776c4df1c40af1b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-128.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-128.js
@@ -34,4 +34,4 @@ function testcase() {
         return arr.length === 12;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-129.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-129.js
index 4abd1f9a100d1d8cc0142535e84f27bee69f7c8b..a6410326cde261f3089427d045eca9d55af1e210 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-129.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-129.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof RangeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-13.js
index 37540bc2d5f69715249a90b571650b95d3a1cb96..12babc1b5a57706fd7b3ace1dafea27c52315469 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-13.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(arr, "prop", 11, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-130.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-130.js
index f4c79a226a641a3d298f6901e983aa870a41b238..fbf25a27a026cfcafd806999fe644c18e7e6d57a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-130.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-130.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof RangeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-131.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-131.js
index f2da1966690c1a8a79f1de58a04c5d00ce5815a0..23ca8b1dbed32de7a819feec3ab215c0efb19739 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-131.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-131.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof RangeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-132.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-132.js
index a0cf1092b7731c2359a995c28db16edc102564a3..49840f7be1bb65aa4025a021b31ccc7bcd529194 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-132.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-132.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof RangeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-133.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-133.js
index 9a074434df3e526ac951912ffc10220e179e4b63..208f32978f48d356a0d55079cd338c9bae731ee5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-133.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-133.js
@@ -35,4 +35,4 @@ function testcase() {
         });
         return arr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-134.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-134.js
index d2391c8423bbc35f2c13dcf359ce0a168d52cad8..2478ba5eb5bbd0d450aa6cc06712b24b12da80a3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-134.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-134.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof RangeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-135.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-135.js
index b9d8a5f91fb401c6e757e993391fc7621bfbe734..c915d2035f1b42294a7baf72d7792524cebce63b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-135.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-135.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof RangeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-136.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-136.js
index 70e0c74c12981d22aad29ee830eb3f6230b5bb95..099a8bf526dc8b44a60002943b8444865dafdcf9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-136.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-136.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof RangeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-137.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-137.js
index ac7ec04354979258bc0492a3f90974c5e5a454fb..d8aa22296ce985dfaf6faf0803afaeba15319db7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-137.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-137.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof RangeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-138.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-138.js
index cd77445e46302910b4cc1d7f97d932b414311dcc..4b6bc2f3638b79fe12cd0d0921b8befa057c3cc8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-138.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-138.js
@@ -35,4 +35,4 @@ function testcase() {
         });
         return arr.length === 2E3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-139.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-139.js
index 15f6f03d961b022b567bafcc255e94dc18efd523..94cec39508f625320e8bc3de600b43d891334640 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-139.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-139.js
@@ -35,4 +35,4 @@ function testcase() {
         });
         return arr.length === 0x00B;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-14.js
index 98a505a1fa58c3fc84a7b949ff8837e5d2e253b6..1cf91606525e8ea7b45384f6940a03e9b47c9880 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-14.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(str, "prop", 11, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-140.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-140.js
index 4a2861816293df06a84cba73f62879c9d60c0185..893e1f1ebd991df60ad5c73f98d022c108b72ea0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-140.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-140.js
@@ -35,4 +35,4 @@ function testcase() {
         });
         return arr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-141.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-141.js
index 7eaaa7f2eb9b89cfce7f9862cc97bb6a03732241..93561be91d11234b58f10f30a28ba59e73972499 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-141.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-141.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof RangeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-142.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-142.js
index 9103c715482d665482e366864b1e020ec2bb3e11..b2f783734a83fa7647c01e6b9dd3a9937de0150d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-142.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-142.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return arr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-143.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-143.js
index 6cfb84691eeb4915614f7ee1a5d55a8575d7a59b..675202c303ae6398cc2bdb05c87f8947c64e008c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-143.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-143.js
@@ -40,4 +40,4 @@ function testcase() {
         return arr.length === 2;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-144.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-144.js
index a661335024bb768ab39546b663cc27a4874d9e4a..adc9544841fd061bc38f6b488e2faf9b814922b9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-144.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-144.js
@@ -47,4 +47,4 @@ function testcase() {
         });
         return arr.length === 2 && toStringAccessed && valueOfAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-145.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-145.js
index 835ec456c5f0c6dd49ab0003f9780d6b2f3cd928..3a36b949eba28bbbe097e0afaf7a55014736885a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-145.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-145.js
@@ -47,4 +47,4 @@ function testcase() {
         });
         return arr.length === 3 && !toStringAccessed && valueOfAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-146.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-146.js
index 825106290a9a6efe696b55ca09467c62b8c252ca..209205b41a377cf2aeecbcc8b14fb3ce293848d2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-146.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-146.js
@@ -52,4 +52,4 @@ function testcase() {
             return (e instanceof TypeError) && toStringAccessed && valueOfAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-147.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-147.js
index 803c5f6f408a52bf34bfde56c4a0a48ca1da8d95..383ec863d73d1fff024a5fc0a88a034250d90309 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-147.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-147.js
@@ -57,4 +57,4 @@ function testcase() {
         });
         return arr.length === 3 && toStringAccessed && !valueOfAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-148.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-148.js
index 168b8c4fcc42431b36903bb4b5f1f8afea1e006f..9c69617e127b9bc6d3a723680a9850fa15bf26b0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-148.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-148.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof RangeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-149.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-149.js
index 17abe1f99840d539a5fe1d1b9356cbd6de7dd436..db65ae69189c209f52c6bb6b70040423d23f5794 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-149.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-149.js
@@ -39,4 +39,4 @@ function testcase() {
             return e instanceof RangeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-15.js
index 0690805cd56391bff590b08f925ed10a38bd66df..50e54f0428fb38bf2a0aebf0ffc008f79702dca7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-15.js
@@ -45,4 +45,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "prop", 11, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-150.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-150.js
index 9cbf277e8b9ac5ae15813ef78e9901e7e7c28653..1b4bebb13c77cf676815519bf7e158c334c998d9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-150.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-150.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return arr.length === 4294967294;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-151.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-151.js
index 7a3758ac5a47c3bbbf97b876f733f507a4c813d9..9600e512e52e8e4c9a2a630f76b903cb739fa453 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-151.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-151.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return arr.length === 4294967295;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-152.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-152.js
index 7e105e39562bf214c48c2b01f853e86ae1de1c63..6a843549a9e533ac7ae23b5c2fd838c6bd6acfcc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-152.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-152.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof RangeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-153.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-153.js
index bc907ce357f797614df7d7e0cfcd3412cb296ed7..95da7f3de15b1c35c5755a88d0e86ec12e033ea0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-153.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-153.js
@@ -38,4 +38,4 @@ function testcase() {
             return e instanceof RangeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-155.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-155.js
index 8ce4a91939e71c2d568a05995937310cb05371bc..adcaa5469eb9fdcfff11a8971d9039a0a7b256ee 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-155.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-155.js
@@ -40,4 +40,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-156.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-156.js
index 3e6556eb457f1a189a1d30095f0743bee796b069..842c8ce8563b4e8f21a5cbda32686eb5ebfd48e7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-156.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-156.js
@@ -39,4 +39,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-157.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-157.js
index 2b832ad05ae7bd84e96079219cb9e9f72f195adb..175d9c58fb73496b81fd0b0a8682983c8401275a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-157.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-157.js
@@ -35,4 +35,4 @@ function testcase() {
         });
         return arr.length === 1 && !arr.hasOwnProperty("1") && arr[0] === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-158.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-158.js
index ca5a6119ba4d77361645853e63ccd00d256fa0b5..1592f0c6befd3283da5221716f8fe7360b5fd3af 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-158.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-158.js
@@ -44,4 +44,4 @@ function testcase() {
             return e instanceof TypeError && arr.length === 0;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-159.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-159.js
index a6d03dac0075885093b5da6d268173ef44fea5dd..80d2b257d771592ff6a5ece805155a8d21e46911 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-159.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-159.js
@@ -43,4 +43,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-16.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-16.js
index f6151b81fbf8cf5c48a4d31ae9c9fe6c3ac0ede4..88908ba80f038332a5465e4d53c39809578b84e4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-16.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-16.js
@@ -45,4 +45,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "prop", 11, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-160.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-160.js
index 1791d0d6b5632ba703204b7cafbd4921fb5c314d..113baa38a8ba55977c40d3ffd7910b196ff2a475 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-160.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-160.js
@@ -43,4 +43,4 @@ function testcase() {
             return e instanceof TypeError && arr.length === 2 && arr[0] === 0 && arr[1] === 1;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-161.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-161.js
index 3df92c678fb7dd9cb3ead83a967d3caa39ba3495..b7e8aa0157dd82042260c7fd0972fcdf8ff2c177 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-161.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-161.js
@@ -37,4 +37,4 @@ function testcase() {
         arr.length = 10; //try to overwrite length value of arr
         return !arr.hasOwnProperty("1") && arr.length === 10 && arr[0] === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-162.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-162.js
index 348c445a0e05a712ebbe23e038c9391b5806748b..98461ec6dc3959468c8858e6684e6e8ca06becfe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-162.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-162.js
@@ -38,4 +38,4 @@ function testcase() {
         arr.length = 10; //try to overwrite length value of arr
         return !arr.hasOwnProperty("1") && arr.length === 10 && arr[0] === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-163.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-163.js
index e283edb4f0a2c2df6ff38ef65ef31e5a55f2408b..c67be54e8b4878a93134c95bc25ffb241a1304a8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-163.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-163.js
@@ -38,4 +38,4 @@ function testcase() {
         arr.length = 10; //try to overwrite length value of arr
         return !arr.hasOwnProperty("1") && arr.length === 1 && arr[0] === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-164.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-164.js
index f428797d179db3928def7ff1882a09d1e92d9a55..bd63a7aceeb7cc995b07f624d88f1a79b77513f6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-164.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-164.js
@@ -48,4 +48,4 @@ function testcase() {
             return (e instanceof TypeError) && result && arr.length === 2;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-165.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-165.js
index 72ff5ac6cc1aceffbfa094289b9df6c5b9c6ee65..f34d26581cd0ab895c35735b05c382e59e25b63b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-165.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-165.js
@@ -48,4 +48,4 @@ function testcase() {
                 !arr.hasOwnProperty("2") && arr[0] === 0 && arr[1] === 1;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-166.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-166.js
index 50ed3c2504193feb191e61505778e54ab9d543ff..9f43d06ab8157aab0b2eea53a9f1a5f796f8e797 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-166.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-166.js
@@ -45,4 +45,4 @@ function testcase() {
                 arr.hasOwnProperty("1") && arr[0] === 0 && arr[1] === 1;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-167.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-167.js
index 649dddeeaf17f226e09400b703850b06c9db59da..be01eb56dee2d6dceb3cac22c95ed98f5f9e0931 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-167.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-167.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-168.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-168.js
index c81419656a8809fceb48975cf22d019a7f7b4f7d..ae06d7b202e6fa384d595de57290a75f4193060d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-168.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-168.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-169.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-169.js
index 95453cd537f049f7cef5d5be65e4ccd54c1c0f2b..13a148167202e4c818ba85a7aa3069518ddb686c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-169.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-169.js
@@ -53,4 +53,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-17.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-17.js
index 53df09967e60e0c0bf38ef0380911d7d93a8188d..e7e04f5194ef0f5a461fc3a7f4a879edcfa910ef 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-17.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-17.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Math.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-170.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-170.js
index 3c2918fa898804d4e75bdef6f393a755e957d2e4..3e99d0fc5d5e6f8cc106f1fa64f459d2c22ea8af 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-170.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-170.js
@@ -48,4 +48,4 @@ function testcase() {
                 arr.hasOwnProperty("1") && arr[0] === 0 && arr[1] === 1;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-171.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-171.js
index 47a04b1bc47ed194c596756b40e6fec10026f4f6..3b0d77ad10080142c453376515a8636eafb792ef 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-171.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-171.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-172.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-172.js
index f5e4ce83905145382f84ebe1fcc6f30b8aaf18cb..542ad85c4001ee1fb7a051a11356e236cc2000f2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-172.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-172.js
@@ -50,4 +50,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-173.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-173.js
index 3b5e4114f9ed6ba95d2afd3575f27251fd880a94..8b24b4e863925800c966651a147995f8c054c71a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-173.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-173.js
@@ -55,4 +55,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-174.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-174.js
index dd36ce694464dd6482f42549e822f3565f36ccd4..343e0824094b06e2e24d1c0a7e883ea854ee93e2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-174.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-174.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return !arr.hasOwnProperty("1");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-175.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-175.js
index dfdfbad91906d9e192dd543a087fb1add509d11d..dfbef0d14275b7ab9ed0edf2cd4b833c6ed03764 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-175.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-175.js
@@ -43,4 +43,4 @@ function testcase() {
             return (e instanceof TypeError) && (arr.length === 2);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-176.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-176.js
index b97f10d1641eb98d88f4de93629de222b8d1cbe1..1177e5d86760e78a79ccf5584d06bb97df9e31e7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-176.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-176.js
@@ -46,4 +46,4 @@ function testcase() {
                 arr.length === 2 && arr[0] === 0 && arr[1] === 1;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-177.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-177.js
index e681972b9774e5919d9a257c1b47676e3f16680e..919386279fb7bc8757b78d32571912546b32afa8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-177.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-177.js
@@ -42,4 +42,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-178.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-178.js
index 714ac70ca02b93acc64c61f15398602c3e32288a..f2b00d096a007208440484dea1d101401948c922 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-178.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-178.js
@@ -35,4 +35,4 @@ function testcase() {
         });
         return arr[0] === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-179.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-179.js
index 32a5ee3be1483ffa255cce5f45bc33431cc7e050..30563712a7aae48dec68cec8bdc501bb92222450 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-179.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-179.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return arr.hasOwnProperty("4294967294") && arr.length === 4294967295 && arr[4294967294] === 100;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-18.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-18.js
index be747ef77aa4fc92b689392249a621c449071d5e..88de6ae12c94804d26af7068ad666b51c9a2a966 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-18.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-18.js
@@ -45,4 +45,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "prop", 11, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-180.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-180.js
index fdd6f63ecac526df65ebb12de9c7e9d06eacb660..6656c2be4d962bc58c446d2282278ec09be91d66 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-180.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-180.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return arr.hasOwnProperty("4294967295") && arr.length === 0 && arr[4294967295] === 100;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-181.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-181.js
index 8ac1b74e95e32f4612dd667be90ac6639b34d6dc..76ab9262e008ae10f7813ad68f8c7c9e1f4e8ff0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-181.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-181.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return arr.hasOwnProperty("4294967296") && arr.length === 0 && arr[4294967296] === 100;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-182.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-182.js
index 85ea4529093c8c7933c9be3042654ecb5107ebed..84ada9459dc50ae222b723ff4588c062008e11ab 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-182.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-182.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return arr.hasOwnProperty("4294967297") && arr.length === 0 && arr[4294967297] === 100;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-183.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-183.js
index be319bd73adbc230afe2454e3f7d5d860d1c1f93..62da503eb8aac27214a9b4ba5b70b591d443c1d2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-183.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-183.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return arr[0] === 1 && arr[1] === "abc" && arr[2] === 3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-184.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-184.js
index cb64c39d3d71b0c6df89f9e15a215c3981f3850e..2818266cf74b6f813ac7bc9c42fb92ec5ce1ca7f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-184.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-184.js
@@ -44,4 +44,4 @@ function testcase() {
                 arr[1] === 2 && arr[2] === 3 && !arr.hasOwnProperty("3");
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-185.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-185.js
index d60543fc3533fbb77e84a60a334758c6d5c4fcd2..5567d116d2b72adaabe1f03312a9b3548126f9db 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-185.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-185.js
@@ -44,4 +44,4 @@ function testcase() {
                 arr[2] === 3 && !arr.hasOwnProperty("3") && !arr.hasOwnProperty("4");
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-186.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-186.js
index 7d482630b642b03783e81c12061b2773c85039af..60e2c9dde08a0c43f006874586982dadddd2d098 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-186.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-186.js
@@ -43,4 +43,4 @@ function testcase() {
             return e instanceof TypeError && arr[0] === "ownDataProperty";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-187.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-187.js
index aa3101115df4304bb39a6ae1c53e32d2f927739b..67018841964ce0b3675adcc0b4b26c88416c082d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-187.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-187.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-188.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-188.js
index 596630e48ad5d8723050ef2670b29fd23d50830f..bd214ace54ce6d17671ca59bfe6cb86aca0abdde 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-188.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-188.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-189.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-189.js
index 6e89853f0165ce39c68dd6658500e2d21ae8bf5a..46b14d40835169ba96f6c263b7b4ebe2a2b9d165 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-189.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-189.js
@@ -51,4 +51,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-19.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-19.js
index 757f77ac17ba87d875967ff5a7d8585f5a15f6f8..de3ac1f6547c46748518eef4b08c513443c2f824 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-19.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-19.js
@@ -45,4 +45,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "prop", 11, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-190.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-190.js
index 6715fd7fc716dcc88b3ad13a9007ad9810c17042..111e1ba89ee9ec86d09de38c294839484be03559 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-190.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-190.js
@@ -48,4 +48,4 @@ function testcase() {
             return e instanceof TypeError && arr[0] === 11;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-191.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-191.js
index e1da7427965c17b8792c9795ea93411b0cee38b7..a36fa890c02d1cb43c6ee486a52e918404e4f459 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-191.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-191.js
@@ -48,4 +48,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-192.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-192.js
index baeadb6c79dcc6868cbcec473ec8a651d099f251..6a63d076662194f1ddd3b5acc0a93a1974875af7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-192.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-192.js
@@ -51,4 +51,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-193.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-193.js
index 6ba3add10f396364396cfc12d1cf54b181ace054..81ee981c3e65755ab95dbe76684a2b282d406f19 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-193.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-193.js
@@ -53,4 +53,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-194.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-194.js
index f8c3d1a7f9cf8cab332f4f17afbf0047035f0b14..3929b82daf45235af82cad2386aa9f75852154de 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-194.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-194.js
@@ -39,4 +39,4 @@ function testcase() {
             return (e instanceof TypeError) && (arr.hasOwnProperty("0") === false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-195.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-195.js
index c3b69e4cb862fd5ce4922964cc784bbd45f4f249..7b487da6ac2dfec11898380065d63d85bbeb7b8d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-195.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-195.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arr, "0", undefined, false, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-196.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-196.js
index 097bb307f0af9205b792619b622af448f79072a7..86ee802f8165ff2cbe24577c9b1ff8f4030bb5e4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-196.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-196.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return arr.hasOwnProperty("0") && typeof (arr[0]) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-197.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-197.js
index b3df11bdd15d93a8428b60aeae8cade46ba57be1..b7fcf261f86fdc87290a95cd213923959e2d12f3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-197.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-197.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return isOwnProperty && !canWritable && arr[0] === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-198.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-198.js
index aca01c1be5a88293cfd1261f027136e402adb215..d5d5f9cdf093d4bc9cd72e6d88e39d652d921049 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-198.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-198.js
@@ -45,4 +45,4 @@ function testcase() {
         }
         return isOwnProperty && !canEnumerable && arr[0] === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-199.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-199.js
index 8081d391937c7f4ec7fafe2dcc5027806791cb46..069b5c9454cdc090adc78df49faffe8a558418aa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-199.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-199.js
@@ -42,4 +42,4 @@ function testcase() {
         afterDeleted = arr.hasOwnProperty("0");
         return beforeDeleted && afterDeleted && arr[0] === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-2.js
index 50fabedd19045483cbcf309113d57f9638563e50..d4b6106441c1bb716bde30e60fb05429c17a6bf4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-2.js
@@ -45,4 +45,4 @@ function testcase() {
         return dataPropertyAttributesAreCorrect(obj, "prop", 12, false, false, true);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-20.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-20.js
index 906b57ba41d127545ce11818ff53a918fbf35bff..8c2e9e4d3dea57dc59122ad1a090a1503edd8a46 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-20.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-20.js
@@ -43,4 +43,4 @@ function testcase() {
             delete JSON.prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-200.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-200.js
index 8eee5644d187d4b4afb228f9fd26624bfbd6f7e1..1b0a33debe1f181966c5d1809bd68aff620defb6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-200.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-200.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arr, "0", 1001, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-201.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-201.js
index e1b9bf19dc2e763cf54f52c88789d14070bcbdc9..0d46fdcc3330f115edb1a1e6249ba73bc61b3c7c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-201.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-201.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return arr.hasOwnProperty("0") && typeof (arr[0]) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-202.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-202.js
index 80d5f699e29e8671966ff46472af8f91392eaf97..0253ec98f00b0b168135811b6cd01042c94159b9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-202.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-202.js
@@ -55,4 +55,4 @@ function testcase() {
             desc.get === getFunc && !verifyConfigurable && verifyEnumerable;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-203.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-203.js
index f397a18986e238e1e60bd32f72ead59d7794cadc..6b414ef3627103480dbbae5d8e0d7c41af91e348 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-203.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-203.js
@@ -42,4 +42,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-204.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-204.js
index deb4d9b86facf9ed23480537a703134501390f0a..7e5a697836389f2b8c0c961ec61b271402c64beb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-204.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-204.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return beforeDeleted && afterDeleted && arr[0] === 101 && arr.verifySetter === 101;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-205.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-205.js
index ce4b5447ec0d54afe14d4f9bc2396457ef7f0412..f252bbb7c8c798521940edf6d732885b13212565 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-205.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-205.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arr, "0", getFun, setFun, "setVerifyHelpProp", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-206.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-206.js
index 915dcaaa0b2a2bd659ad93a888450d6840a4f833..ca3d2f6c12acf0f75bb06ba086011cfe822a5b54 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-206.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-206.js
@@ -38,4 +38,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-207.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-207.js
index 89226009908daf2b9b555170ea72f44983955d09..712127655a220ddb907483aff00662ec36d764fd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-207.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-207.js
@@ -50,4 +50,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-208.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-208.js
index a581c057c6147ee057a7a46e78a99ac5fc07d8ed..bb8fd444bc2a45d38a314b166ee4451bb9a69af1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-208.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-208.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arr, "0", 100, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-209.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-209.js
index 0915b0d4ad71f364195ea9c990bfa042a5c0d9fa..35871072c3fdb6f1f0461b1eec7165d27d019d29 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-209.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-209.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arr, "0", get_func, set_func, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-21.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-21.js
index b3077cfb7ce8ff6cdf55ba8a02b82585a2511f1f..19f399cc939a0f505b6c9a6cdcc18af8b3a665b3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-21.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-21.js
@@ -45,4 +45,4 @@ function testcase() {
             return e instanceof TypeError && dataPropertyAttributesAreCorrect(obj, "prop", 11, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-210.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-210.js
index 48d4dbcd3e5bf7d43720b3c7eee8eec0c3ecf731..5accf4d1a0bfe4acc010f3d1e7391986eadf87d3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-210.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-210.js
@@ -38,4 +38,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(arr, "0", undefined, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-211.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-211.js
index fe02b606293576c26530f49e4a503132861a3582..74bbd05402392609ac84541f7ad488559f5e5851 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-211.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-211.js
@@ -38,4 +38,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(arr, "0", null, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-212.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-212.js
index 766f4df921cfdbdb8f9f38637e33a4050c3c2f9d..6f78e786958eae07b8b1549e18f6af6631c30d45 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-212.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-212.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arr, "0", NaN, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-213.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-213.js
index 2230876910d95d85cd99c200f94c26a3645ab17f..371df353bb2335c1cfac65052d875e0401d2dced 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-213.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-213.js
@@ -42,4 +42,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "0", -0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-214.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-214.js
index fad153105087c61406914cf0c2a811901170464b..a9e0122b2e9bcbd479b4b92c728ea9a8877ffef0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-214.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-214.js
@@ -42,4 +42,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "0", +0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-215.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-215.js
index 07c7cebc2da77bdfbc6d466f482c0faa7c106528..ed62ef6ab2aa77ea8dd1483a32b5a2bf6deb6edf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-215.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-215.js
@@ -42,4 +42,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-216.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-216.js
index df1198775dedfa036616638e2e584ba5182cab01..12e5ab42b395b2c6d7a62ac2fe8767f65f18b72c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-216.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-216.js
@@ -42,4 +42,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-217.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-217.js
index 3d34b50dd14330a86ea3f170a637535cfe6217b1..483e3a004e22eabcdd6960b44aeef33e430356c0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-217.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-217.js
@@ -42,4 +42,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-218.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-218.js
index 60a0d296e777029e3267e5a61798fe837dde030d..cd85e8a3b626db020f519b4ed81023cf9dddafeb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-218.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-218.js
@@ -44,4 +44,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-219.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-219.js
index e037ad362c48d70adbbcea160b31edd9f4b224e2..5a721f2ee8424cc7189cd39793b08eb78db3e93e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-219.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-219.js
@@ -42,4 +42,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-22.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-22.js
index d9e1eaad234d3fea4da92b46fcb987fd9e0aab79..c37f97305e6d2ddd9212d779a450036acede21d1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-22.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-22.js
@@ -46,4 +46,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-220.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-220.js
index c9f13a2f56b5b7a46522e6ced7f541970bbd7e3e..d26dd6a84363e94df44cb7bae39bdbb3d99a1f99 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-220.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-220.js
@@ -43,4 +43,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-221.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-221.js
index a6733a55a09009238732a43fa816873b0d3a093d..ae13ef34831ba6d685687db9ff44ebb6bd6b4f66 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-221.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-221.js
@@ -42,4 +42,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arr, "0", get_func, undefined, undefined, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-222.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-222.js
index 0a8773f25436ad3c0c782c84f649eddc205be946..62e80b66b43fc3d008289a10af07fc0df6a92290 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-222.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-222.js
@@ -46,4 +46,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-223.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-223.js
index a640b7d61882d653331aae6ffa6f7a27cd61116c..ea5e82ceff99227f2186fdd0a63c898adab4e4f7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-223.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-223.js
@@ -42,4 +42,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-224.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-224.js
index a052623e872aa223af5138db73c2ba5c9777dbf0..5a3fac344f2261c83811f2107af7e88ac2bd1fc0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-224.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-224.js
@@ -43,4 +43,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-225.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-225.js
index 20ac440ee60de9694bf03a61cfca95ea078c71e6..b65c4cbb01dd1b83f96b9047dfbde277243e70c5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-225.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-225.js
@@ -42,4 +42,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-226.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-226.js
index 061fc84c73c7707f2af54ddf834c042038f2a18f..55385e11e6ad47582722dc8995fadac017ff10dc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-226.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-226.js
@@ -42,4 +42,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-227.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-227.js
index 33dc6bedd3232e0a47f0696dba86798f12680609..89b0fff7bee2cb9bd86a68be7d592703ced54210 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-227.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-227.js
@@ -45,4 +45,4 @@ function testcase() {
             return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", 3, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-228.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-228.js
index 51bf086d60ffae16c556f43ce941fbab52d0f2c3..2f09725a547f6fac0b3450a500706c08e641044f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-228.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-228.js
@@ -47,4 +47,4 @@ function testcase() {
             return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", 3, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-229.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-229.js
index 579ff90837f661846374c4ee8efd81c5720dc463..80913e5f4e4c1a201aa04bf53c9b74c32c6449d1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-229.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-229.js
@@ -50,4 +50,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "1", undefined, set_fun, "setVerifyHelpProp", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-230.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-230.js
index e41009c18f9229a2335ccf48415c8e76c017265a..6e0bad69e5c4f5b1d02f90d1b1affeeea17e81f7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-230.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-230.js
@@ -44,4 +44,4 @@ function testcase() {
             return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", 3, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-231.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-231.js
index d96af8bb86516049a2e811234d4bb390bdd52c01..4156a7b88291bf8fbcb0744221b70af2950561fa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-231.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-231.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arr, "1", undefined, set_fun, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-232.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-232.js
index ac3d086f99b3196ca0053b9c98abdbbfca9ebbe5..224a11f135b09f36e582dd37d1dc38c0fed8504f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-232.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-232.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arr, "1", 12, false, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-233.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-233.js
index 77c254d91026733029239ca470aba787345381f4..ca4c99f3c9374cb65e29e058c2ec33c0f5f32600 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-233.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-233.js
@@ -45,4 +45,4 @@ function testcase() {
             return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", undefined, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-234.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-234.js
index 5918f24a8329c18b4524234e50b9a64a890cbc78..c28d07ceccd335f92ad9168798ade83417282f99 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-234.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-234.js
@@ -46,4 +46,4 @@ function testcase() {
             return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", 3, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-235.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-235.js
index ea47735270aae698830d6471746a2cd4df028f60..be6a6f102d79a3dccd197c7f1c5cc7779dff029f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-235.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-235.js
@@ -42,4 +42,4 @@ function testcase() {
             return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", +0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-236.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-236.js
index af0a5c41037ce604a9e750612bb42516c7445388..fff240079a2885363bbce66171fa2d4faacf3a1a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-236.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-236.js
@@ -43,4 +43,4 @@ function testcase() {
             return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", -0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-237.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-237.js
index f34db371e64a2e3efe345128627f81c49a7deace..eeeba4c834f0a33078be9e3a5a8f2d9d4d6aeeb1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-237.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-237.js
@@ -42,4 +42,4 @@ function testcase() {
             return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", 12, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-238.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-238.js
index d50737b4fe5931a070c3426e681611ae8b182c91..4bff0731be2e9ec29fa54c4641c20ca3719a69b7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-238.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-238.js
@@ -42,4 +42,4 @@ function testcase() {
             return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", "abcd", false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-239.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-239.js
index 537bf5690a9c7ecdfbd728b6f77f7e2c1370632a..0c35463e34757e071bf340c78c1f6aa9f0de24e8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-239.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-239.js
@@ -43,4 +43,4 @@ function testcase() {
             return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", true, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-24.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-24.js
index dc668bed96a3eea73431444cc6ed9ae7ed624338..f5360f40f7c6b95587382dce061cb552b1638a69 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-24.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-24.js
@@ -44,4 +44,4 @@ function testcase() {
             delete fnGlobalObject().prop;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-240.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-240.js
index e3a9afeaafda295d57a7082306d0644bc687eba5..7d5e64c8fff035e052a40343503b015b3dbca54f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-240.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-240.js
@@ -45,4 +45,4 @@ function testcase() {
             return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "1", obj1, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-241.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-241.js
index 9d4009524d3171b01254a346f85bf20fa3976505..1f1e1527d72a664cfe349e518ca0b05ce0bc4067 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-241.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-241.js
@@ -46,4 +46,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "1", undefined, set_fun, "setVerifyHelpProp", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-242.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-242.js
index ee0ca61ca04e799bb5b7a8780d5ae4933f84485e..9bf87b6ff41541796b6fa878c76383fb02d6f17c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-242.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-242.js
@@ -46,4 +46,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "1", undefined, set_fun, "setVerifyHelpProp", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-243.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-243.js
index d5dd7702f4185596c11e1c93b9e66aef1d14115b..694bb800f60c756e69619191aefa7313d843abe1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-243.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-243.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arr, "1", undefined, undefined, undefined, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-244.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-244.js
index 9325c16ca2639606f296a4492e31398986aec6dd..be1e30be3761fc70d635dd2ece6ccf82210d8da4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-244.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-244.js
@@ -48,4 +48,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "1", get_fun, undefined, undefined, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-245.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-245.js
index dae913225261ae9b9d194f32295ef1988175e2a0..e5b8382479903dd958f0d03da6743e7e3fb47737 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-245.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-245.js
@@ -45,4 +45,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "1", get_fun, undefined, undefined, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-246.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-246.js
index c62d8e27c452cb1b75dc5caed8f68821e26421ee..f21cfc43e415d0662ed096f014accab362e75b59 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-246.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-246.js
@@ -43,4 +43,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-247.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-247.js
index 5563ab42b49a869811c9f930043f94d67e39829b..59b96774cf587f1668412fb63ed959bd758fe001 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-247.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-247.js
@@ -39,4 +39,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-248.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-248.js
index ec43cf1e585c3ac6353000032bac993eaa9aaebb..c1fea7209884096cbf5fd25be0e6f0ac1d7799ea 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-248.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-248.js
@@ -39,4 +39,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-249.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-249.js
index 9977331105cbe9fa4c7eb6ebfa5a029a72397282..07fb66f4658c30f4354336337acd9b1fd73580c9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-249.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-249.js
@@ -39,4 +39,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-25.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-25.js
index 5d43fd2948e3d864480201a65ac02819fb06567a..888b1a2ea69f4da5154301e3c50df6b47be5ef71 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-25.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-25.js
@@ -40,4 +40,4 @@ function testcase() {
             return e instanceof TypeError && !obj.hasOwnProperty("prop");
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-250.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-250.js
index 5a95c42e5df84d4ceabe18fe8e738f7af17adeb9..9cc86ad85c69eb9dc1b8719467182d880b8f05f4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-250.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-250.js
@@ -39,4 +39,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-251.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-251.js
index 635fd4042c33e3b7af355e5ac0baf1820098cb66..465d352be0b67df9f5597d231ac40a77e6930ae0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-251.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-251.js
@@ -39,4 +39,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-252.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-252.js
index 04a333efe5956f6ba52efba42a88044a0c6f26cf..e6f324608731d6414746d09a03ac0526ec444784 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-252.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-252.js
@@ -39,4 +39,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-253.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-253.js
index d3d4309aee8f589d23977311c13089f88aef1036..bdb8e54c6a364b65a5c720d621f36b4b0c5cf089 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-253.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-253.js
@@ -41,4 +41,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-254.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-254.js
index 4224c35279db740e0eb8782e6bb413424bf3638b..9a8095107002e6441f5086f2d1621d7fbe35d454 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-254.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-254.js
@@ -46,4 +46,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arr, "0", get_fun, undefined, undefined, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-255.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-255.js
index 77665e6a54bf14814e637290d1e9efa99cf6d448..a99771694c0970e827d9cb31caa21dec8e3f7461 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-255.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-255.js
@@ -42,4 +42,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arr, "0", undefined, undefined, undefined, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-256.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-256.js
index 0c0a8c11f830820d3a200401de52af9ba9df894a..26d59e60f2f812564a7faa81cee3e3b2865286a2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-256.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-256.js
@@ -44,4 +44,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arr, "0", get_fun, undefined, undefined, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-257.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-257.js
index 76ea2ef773e35b4c7451c9e6544580d3426d6302..118c7c95d45ba10eb601584c83b3d02595586ff5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-257.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-257.js
@@ -48,4 +48,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-258.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-258.js
index 1591e34c6fd900648e0d9d8586e7ba3e0124aa25..43922f2817aeb0e0665c45c1f85612948f421f6e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-258.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-258.js
@@ -40,4 +40,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arr, "0", undefined, undefined, undefined, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-259.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-259.js
index b66b7580b3da45bebec55c62759a72ebe8a8e878..858ad79694ccf76021d9187a8ef57184f47388eb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-259.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-259.js
@@ -47,4 +47,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-26.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-26.js
index 4cb2079ccb34edf9fabf2ac47966ec2f85c84ce0..c8969ff60834661cc2eb5865f861239a5b181cf2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-26.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-26.js
@@ -41,4 +41,4 @@ function testcase() {
             desc.hasOwnProperty("enumerable") && desc.enumerable === true &&
             !desc.hasOwnProperty("get") && !desc.hasOwnProperty("set");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-260.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-260.js
index b71c6a6594505599e706fdd43720b3796c0212bb..14dba6bcbd51dcc6cee097237481b65ebb5d1e14 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-260.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-260.js
@@ -48,4 +48,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-261.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-261.js
index 3d4b23fc58256db51da2328be1f3c5f451979ad0..ece885d0e2c505cc858f56aaa2d78a21549af3dd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-261.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-261.js
@@ -47,4 +47,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-262.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-262.js
index b4d9ab0992a27aa30280130beb673c2a66a319b2..b0fe6a5c2cde7bea05906f764b389a5c05d11702 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-262.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-262.js
@@ -56,4 +56,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-263.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-263.js
index d8295a6169db3df00d4d57bbe041252202dc4bee..ead6d4948fcd5e76bdcb4b393913f176ff246af2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-263.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-263.js
@@ -37,4 +37,4 @@ function testcase() {
         });
         return arr.length === 3 && arr[1] === 26;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-264.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-264.js
index 95648be3ce06df4ee72b52078e956957228d5e1d..1f48bb2112daa426905f52e010cef556692b3c06 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-264.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-264.js
@@ -37,4 +37,4 @@ function testcase() {
         });
         return arr.length === 4 && arr[3] === 26;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-265.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-265.js
index af51173e8fe68129f9be45ef1c6b99ddd04b96a4..05fe80095a587e97af2625d228a0634411116b45 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-265.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-265.js
@@ -35,4 +35,4 @@ function testcase() {
         });
         return arr.length === 6 && arr[5] === 26;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-266.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-266.js
index c953be0ec2ee920ddb1de58542aceca8181848e6..b2d845168e077292b51a7d958f99e3008f20a73a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-266.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-266.js
@@ -38,4 +38,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(arr, "property", 12, true, true, true) && arr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-267.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-267.js
index b03914d012570e56d1100405338de308cea85255..49380bbb6b2b9f779be9c80e226362b1a3a995eb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-267.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-267.js
@@ -46,4 +46,4 @@ function testcase() {
         return accessorPropertyAttributesAreCorrect(arr, "property", get_fun, set_fun, "setVerifyHelpProp", true, true) &&
             arr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-268.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-268.js
index a113813f4d945f293e23a6f13600a42cf9b9300b..c0916c026f8be5835b3b531dbe48cec3ef6996af 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-268.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-268.js
@@ -49,4 +49,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(arr, "property", get_fun, set_fun, "verifySetFun", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-269.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-269.js
index 08acf748f3d6cbfa78e1e79185874db5866ad9a8..2c8a3b94ca1cc6812eea9258b3d3c14c29664dab 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-269.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-269.js
@@ -38,4 +38,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(arr, "property", 12, false, false, false) && arr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-27.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-27.js
index a67e6abe287f17bb6b350b84265d408b06549da9..4de0e7dcfb833b889ccf388e20d0315466dee507 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-27.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-27.js
@@ -40,4 +40,4 @@ function testcase() {
             desc.hasOwnProperty("configurable") && desc.configurable === false &&
             desc.hasOwnProperty("enumerable") && desc.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-270.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-270.js
index 19a61780b170ff063df05ce7a7e79a58df8a9c9d..ef0936905e08be619d4cdae49f2607bc1bb4cf9a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-270.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-270.js
@@ -43,4 +43,4 @@ function testcase() {
             return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "property", 12, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-271.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-271.js
index 7ac8b22ce71cbc3729b5edf7c1db73f0f2e16bbe..6fdb7887a0d03391ba2b4bb97ef70f8583064adf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-271.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-271.js
@@ -43,4 +43,4 @@ function testcase() {
             return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "property", undefined, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-272.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-272.js
index e3ae7ec6e071d373ca95dc1f52f5284f15efd6d0..3fb921e7313482516d3e301f33be63047d5ae915 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-272.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-272.js
@@ -44,4 +44,4 @@ function testcase() {
             return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "property", 12, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-273.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-273.js
index 44942172033117d4fb4d20b0bf38c25adcba5450..8f6810f4ae2ca44a010350d5e7ba768e19450b32 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-273.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-273.js
@@ -43,4 +43,4 @@ function testcase() {
             return (ex instanceof TypeError) && dataPropertyAttributesAreCorrect(arr, "property", 12, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-274.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-274.js
index 91d22cc88c6a1b0c814f03edefc3e40f62d2e6cb..d05b9691be4672892cde5b4669e498c2e16aa096 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-274.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-274.js
@@ -52,4 +52,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(arr, "property", get_fun, set_fun, "verifySetFun", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-275.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-275.js
index b844330369aa955277bccff7582469842ba21af9..c67711b9fb0110ec78f942d744bc023453b52054 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-275.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-275.js
@@ -46,4 +46,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "property", undefined, set_fun, "setVerifyHelpProp", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-276.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-276.js
index 31e2a244f3b50d7f091c3baecd957526fb28f4f5..feccfbda9568da352f2e5d195e7da3cea0acbf6f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-276.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-276.js
@@ -47,4 +47,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "property", undefined, set_fun, "setVerifyHelpProp", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-277.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-277.js
index c4cd48f7eb8a50be3f4e5f51f7b861afcaf80d27..1ef0ab822333a2e5f6309c29bd3ca14f42243609 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-277.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-277.js
@@ -47,4 +47,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessorPropertyAttributesAreCorrect(arr, "property", undefined, set_fun, "setVerifyHelpProp", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-278.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-278.js
index 58193aa5aa2853caec1711c460ddce15ca523571..893dd4e2864a9080fafbd2b66933038dc3bca33a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-278.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-278.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arg, "0", 10, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-279.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-279.js
index 42bbdb154bbef8ed6ead52b2e3c588e351b2046e..1a201ccd9d5b3db85758ee473e76c273839aeb2c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-279.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-279.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arg, "0", get_func, set_func, "setVerifyHelpProp", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-28.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-28.js
index 58a0daa03d85b75e2a9d503cae88e9f6bc7885fd..a617e582bf8868802ff311a0ea4a8e94b3dd02b9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-28.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-28.js
@@ -35,4 +35,4 @@ function testcase() {
         obj.prop = 1002;
         return obj.hasOwnProperty("prop") && obj.prop === 1001;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-280.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-280.js
index 0684f9897246963515381c36095018b662cc7d41..0e70b12eeddb1591556db38e1c0102b20b54f459 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-280.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-280.js
@@ -58,4 +58,4 @@ function testcase() {
         return desc.get === get_func2 && typeof desc.set === "undefined" &&
             desc.configurable === false && desc.enumerable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-281.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-281.js
index a1e3b04d1b0b365c888ea6e31df884bb14d8e21a..a0dc0ea69052a5d3b9196d33cce29eb44d3a5d42 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-281.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-281.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arg, "0", 20, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-282.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-282.js
index caf2613d1a480cd758df1d91004825da6b9a3c49..8f86a03335863bb0b7aa070782525d38d1248458 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-282.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-282.js
@@ -50,4 +50,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, true, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-283.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-283.js
index 3c9c09185ce603414bdd1aa7c1c02b0f74db3fbc..a1081e92fb8a4c38b5f96fe709b5cc553933b8c8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-283.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-283.js
@@ -51,4 +51,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-284.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-284.js
index 65e4048120729509c2ee29512444582f25bf6333..f904080fbe73e91384fc55c97d5d58a85780ebcf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-284.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-284.js
@@ -51,4 +51,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, true, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-285.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-285.js
index bd7833834a427b3c25c956c496e60bb2c8a4f159..cf4b8ce51ab5f3aa2d08b4cac4693dc7ccf9b670 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-285.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-285.js
@@ -51,4 +51,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-286.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-286.js
index c1da7757ac9b02b84460aa7843b78072ed958038..83b7d95e6b9946c999c2409ee8a4b65b8faf268a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-286.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-286.js
@@ -59,4 +59,4 @@ function testcase() {
                 desc.enumerable === false && desc.configurable === false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-287.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-287.js
index b99457304bd9f5e0bea6dc068c32498ea4c8e0b2..1c7e6e0b4b857475a4ee665d60a76536c8d60406 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-287.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-287.js
@@ -60,4 +60,4 @@ function testcase() {
                 desc.enumerable === false && desc.configurable === false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-288.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-288.js
index f0551edf052c9891fdf9962237a8ee1bf4d1ff27..db61b7075e78deadfa1ac7ef4c2ae3b3ecbf67d4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-288.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-288.js
@@ -54,4 +54,4 @@ function testcase() {
             return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(arg, "0", get_func, undefined, undefined, true, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-289.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-289.js
index 338ccb35edccacc6d9a73fe7406361e9203eafaa..08305a8e18f6766fef3f22cdf36f617b112f2f2a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-289.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-289.js
@@ -54,4 +54,4 @@ function testcase() {
             return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(arg, "0", get_func, undefined, undefined, true, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-29.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-29.js
index 4a925a56b34260e0acacbdcc4db4276ba9beaac9..c8dca5d9e186659406fc28b490bb04a78ade4d38 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-29.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-29.js
@@ -40,4 +40,4 @@ function testcase() {
         }
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-290.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-290.js
index 2a5c64633059ca786c4ad52e7062e99115b543a6..d6b4719ba8643cbcfe3bb8d7091c7588551f7357 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-290.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-290.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arg, "0", 10, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-291.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-291.js
index 3cc3ba47ca5f006560e371228405d564bab960bc..f67ed0d0c9e2e3f4214e805475640cdb6d00c0fc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-291.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-291.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arg, "0", get_func, set_func, "setVerifyHelpProp", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-292.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-292.js
index 611d4f9f01e2ea759a673b7bd1cadd3addb9f004..683912e3a7caba2e230278ac4c4cbf63c73e88e0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-292.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-292.js
@@ -56,4 +56,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arg, "0", get_func2, undefined, undefined, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-293.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-293.js
index 54ba11a9fb02ce2b446add24585f5c703d948a39..ce90e5a22bb4fccbd82068baf421cb4a020c2ad3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-293.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-293.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arg, "0", 20, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-294.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-294.js
index c55c72f50c559040392e5b7d654820d67893a4b0..b7518930074ead22a9f7d7d2f81d67a7ab1add2f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-294.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-294.js
@@ -50,4 +50,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-295.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-295.js
index ca423e25a6d9f40ddb16eadc4deb2038a2dc577e..9d069f9edb87bf831e0e6640a9ca50a26fe7dee4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-295.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-295.js
@@ -51,4 +51,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-296.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-296.js
index df5b077b04ab01ad10b509db262d653e412c546b..6fad26d2dde827029048729d1c9bce520155ec8b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-296.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-296.js
@@ -51,4 +51,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, true, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-297.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-297.js
index 6cf251bf928dced2d3615df1bbd29ed9135ccaa6..749377c30a35d6cdf3e0889508bde6a4710ab854 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-297.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-297.js
@@ -51,4 +51,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(arg, "0", 0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-298.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-298.js
index 246a13946065299f955b6fb5e32ef0dd43840e8a..9a21ca2af3c3488572f161290e262245bed048a6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-298.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-298.js
@@ -56,4 +56,4 @@ function testcase() {
             return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(arg, "0", get_func1, undefined, undefined, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-299.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-299.js
index 392328c97e581d29d45d7d1627ce7dbe5f61aa16..c8ec6a818ebd89ea05e5c8a3d341ca25deb1d562 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-299.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-299.js
@@ -57,4 +57,4 @@ function testcase() {
             return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(arg, "0", get_func, undefined, undefined, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-3.js
index 86070a7b66303d418e7f5f10d059f7b248e42ca3..03ee9ed6a270a51eb34e387024eba61960840c0e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-3.js
@@ -51,4 +51,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-30.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-30.js
index 9ccd8b69d19644240d1e26a0e0335e40717b1ea6..193fbfe58d76129b067b0298263d2c36636876a1 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-30.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-30.js
@@ -34,4 +34,4 @@ function testcase() {
         delete obj.prop;
         return obj.hasOwnProperty("prop") && obj.prop === 1001;        
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-300.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-300.js
index 2e0d205e0c5c007894434aecebc31d578a366a0e..263cc5dfb35a8cdbd06ad6a2113d78b867c5b32e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-300.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-300.js
@@ -53,4 +53,4 @@ function testcase() {
             return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(arg, "0", get_func, undefined, undefined, true, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-301.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-301.js
index 68fa5c876ac2a9862d97d022391322195023c5dd..3c30388f980af8694f1ab00f8949cf5c887d0833 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-301.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-301.js
@@ -53,4 +53,4 @@ function testcase() {
             return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(arg, "0", get_func, undefined, undefined, true, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-302.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-302.js
index dfb59087f7568fd45cfdc2fd9f18e93824acb757..304aae89edcf33d9927a6ea25319196f11ea004e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-302.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-302.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arg, "genericProperty", 1001, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-303.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-303.js
index 3895178ba25ef4deebfeba80db54fd3e7da59836..7552e08160e29c66aa1093e9ea650c0dc7081953 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-303.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-303.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arg, "genericProperty", getFun, setFun, "testGetFunction", true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-304.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-304.js
index 808a2b8d95ac4e1046790bcaf361e024dcf1e2a3..62dabb646dbdfc2757249147c6b9325e4df8aeb3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-304.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-304.js
@@ -57,4 +57,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(arg, "genericProperty", getFun, setFun, "testGetFunction", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-305.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-305.js
index a73d952b30ea3460614efd5aa8ad30136cdebbce..c1a15b9e9114fa5a60d5ba7f90465d428a41f5bd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-305.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-305.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return dataPropertyAttributesAreCorrect(arg, "genericProperty", 1002, true, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-306.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-306.js
index 3c862885d0cc5f7f9764cd430451958fdbf6d130..db91324de68514017ed5d325c82ddbbc132d2027 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-306.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-306.js
@@ -48,4 +48,4 @@ function testcase() {
                 dataPropertyAttributesAreCorrect(arg, "genericProperty", 1001, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-307.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-307.js
index 39afabe10193a621976de4ebc1510fa56351d9ff..ce9b381239b1d640e07baf8376235d31c21cf458 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-307.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-307.js
@@ -47,4 +47,4 @@ function testcase() {
                 dataPropertyAttributesAreCorrect(arg, "genericProperty", undefined, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-308.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-308.js
index 8868ea3871c44a98c9ba356fe2b56112fa71a424..d14a32b8feb5ff84554ea92247b4e9f993a4cd6f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-308.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-308.js
@@ -47,4 +47,4 @@ function testcase() {
                 dataPropertyAttributesAreCorrect(arg, "genericProperty", undefined, false, true, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-309.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-309.js
index 83505d7cc14f9f13159cffadea4d1679203ef8d4..2683b6279ba34436961ca881f577f6e8ec4b28fa 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-309.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-309.js
@@ -46,4 +46,4 @@ function testcase() {
                 dataPropertyAttributesAreCorrect(arg, "genericProperty", undefined, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-31.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-31.js
index 9d7cf1e8e14a19156f710c8eff17e49c52728541..7eda02af61c51b0c1304bb606791ebcb78df8823 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-31.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-31.js
@@ -38,4 +38,4 @@ function testcase() {
         return dataPropertyAttributesAreCorrect(obj, "prop", 1002, false, false, false);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-310.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-310.js
index 7ba47daf88f10e4eb47351757738883d5481105e..9ec26b197f1b8c9e53732252987728eddc207e3d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-310.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-310.js
@@ -56,4 +56,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(arg, "genericProperty", getFun, setFun, "verifySetFun", false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-311.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-311.js
index acf620c1ec645fd2d8cb740c22dc2118a25f6f18..989bd701bad991a15750bd8bccee9d2dd6415a5a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-311.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-311.js
@@ -52,4 +52,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(arg, "genericProperty", undefined, setFun, "genericPropertyString", false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-312.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-312.js
index f621f0c784bf5b49a344be0361937bcefacfc511..481d42328e7fea5f95df019619ea3a26febce598 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-312.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-312.js
@@ -51,4 +51,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(arg, "genericProperty", undefined, setFun, "genericPropertyString", true, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-313.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-313.js
index 1a4d01430c3f9ff41d4dd64af63ebe6e6e68159b..2989781aa35320b89ae3221521573c6f177ccf5d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-313.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-313.js
@@ -50,4 +50,4 @@ function testcase() {
                 accessorPropertyAttributesAreCorrect(arg, "genericProperty", undefined, setFun, "genericPropertyString", false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-314.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-314.js
index 456eb61231db6e2d99a7bd5435f5df8428e02ebe..81df3ad744b1e48446ddbe6c8b5028c87a895bce 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-314.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-314.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return arg[0] === 12 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-32.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-32.js
index df6cdea084f39b487e8e15d7de72a0f46fdae531..7e9c6ca54f2521df512ff2d72baa33f6a626a37b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-32.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-32.js
@@ -37,4 +37,4 @@ function testcase() {
             desc.hasOwnProperty("enumerable") && desc.enumerable === false &&
             !desc.hasOwnProperty("get") && !desc.hasOwnProperty("set");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-33.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-33.js
index 100ef5462090b72e9be7d5693afbf8f90feb92d5..cc8bc13f5d6330c50ec6ea381501991cca10397c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-33.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-33.js
@@ -40,4 +40,4 @@ function testcase() {
         return accessorPropertyAttributesAreCorrect(obj, "prop", undefined, setFun, "setVerifyHelpProp", true, true);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-34.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-34.js
index e942d6c05b6b0749bc450e5a86c94e68b14a2521..6182fc038f5e10385bbbbbbf0f9f4057df22be72 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-34.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-34.js
@@ -42,4 +42,4 @@ function testcase() {
         return obj.hasOwnProperty("prop") && typeof (desc.set) === "undefined";
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-35.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-35.js
index 3fda0a1b3d45280edb7693722148043ba64a373f..2e44567f62d664a9d7d40cf75d60095bd5160736 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-35.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-35.js
@@ -43,4 +43,4 @@ function testcase() {
         return accessorPropertyAttributesAreCorrect(obj, "prop", getFun, setFun, "setVerifyHelpProp", false, true);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-36.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-36.js
index 090b9791d747419e827df4721ad975262e8169e2..eb4122b6c299929c17e3428809a3ddccfe51dd88 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-36.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-36.js
@@ -43,4 +43,4 @@ function testcase() {
         return accessorPropertyAttributesAreCorrect(obj, "prop", getFun, setFun, "setVerifyHelpProp", true, false);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-37.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-37.js
index 158d7bf2e47bf0c5f80e7092735ca32d7b172b34..11af871ec2e8d9134ce7676b086d738fc67bd6f8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-37.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-37.js
@@ -44,4 +44,4 @@ function testcase() {
         return accessorPropertyAttributesAreCorrect(obj, "prop", getFun, setFun, "setVerifyHelpProp", false, false);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38-1.js
index 036789ade07027157dcad16c9a1154a32b7fda80..82561fecffc8042e3eaa85478bff501875cec3f3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38-1.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, undefined, undefined, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38.js
index 998ff274fda7a01d7fca9a7628197eff4e7b7c7f..640dcd0ea4b46ab4e559f4f32b48e5aff46606ac 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38.js
@@ -32,4 +32,4 @@ function testcase() {
         Object.defineProperties(obj, { foo: {} });
         return dataPropertyAttributesAreCorrect(obj, "foo", 100, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-39.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-39.js
index 84b760c0c4abbdf4691f2453f96e16c13d8ce199..e437e0cb35b23e969bde54fec8fdb6ee7cfcef07 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-39.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-39.js
@@ -41,4 +41,4 @@ function testcase() {
         return dataPropertyAttributesAreCorrect(obj, "foo", 101, true, true, true);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-4.js
index 37f79da55af73670afd840f1d4a196a6c955cde0..e28b93beda992caed749c28f5eff341ddb3d6f34 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-4.js
@@ -53,4 +53,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-40.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-40.js
index e3986aec7a7085fd5aae451b33dd97c3aa1e2e73..0e806e96065a763e7c5cc33a880a7346c08101ae 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-40.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-40.js
@@ -54,4 +54,4 @@ function testcase() {
         return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "setVerifyHelpProp", true, true);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-41.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-41.js
index 59f51b2b9b1144801c59c218497e6bdad06e4b5a..0a42e63d27f61aa2a3420552872bf9db6bd043fd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-41.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-41.js
@@ -38,4 +38,4 @@ function testcase() {
         return dataPropertyAttributesAreCorrect(obj, "foo", "102", true, true, true);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-42.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-42.js
index d2799c588de1f1c46772193efe711e554cedcfd3..cf086803484ae9a7d4b7a318d56fba34c3527ba8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-42.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-42.js
@@ -39,4 +39,4 @@ function testcase() {
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-43.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-43.js
index 36be862bcb404d34df2442144805eff32df77ba8..3a038d685425d3eb39ccebb0530adf05aa85236d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-43.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-43.js
@@ -39,4 +39,4 @@ function testcase() {
         return dataPropertyAttributesAreCorrect(obj, "foo", null, false, false, false);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-44.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-44.js
index bd5dbd9217951bc7071f7d70deedfa7160214ea6..5d14517ac4ffa68efa5a230a0d2765ecfde584d2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-44.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-44.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return verifyConfigurable && !verifyEnumerable && verifyValue;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-45.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-45.js
index 69f8fa4badd9735c09e21a40f7fefb66038825ca..74b8bf82b0381ad76f4efb010457da06a4a64561 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-45.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-45.js
@@ -42,4 +42,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", -0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-46.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-46.js
index a63edb86b557841179e6133087519b780d6a7d66..77ea5c7fecca94ba1d8ef1fae7aecddfd0c04f6f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-46.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-46.js
@@ -42,4 +42,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", +0, false, false, false); 
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-47.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-47.js
index 095794b4b2db8a30f5eeb433b06360f7f9280547..f4960349c0827f9a428eb899e17dc215ab8cdf44 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-47.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-47.js
@@ -38,4 +38,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", 101, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-48.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-48.js
index 32732697fed9bd23512ccb6ca35a029278e0ee70..6ab576ce4f526df64be3aaba105569258f3b28de 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-48.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-48.js
@@ -37,4 +37,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", 102, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-49.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-49.js
index d203874a6ada609ba8408463ce58f5920d678997..7eff5497895459f0b260f3c3851d5af1b76e7cbc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-49.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-49.js
@@ -38,4 +38,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", "abcd", false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-5.js
index feb3261c18fdf39a5f73de7216fe20783456a796..d2a968e511684479a17295e41a3475c227832fdf 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-5.js
@@ -47,4 +47,4 @@ function testcase() {
             return e instanceof TypeError && accessorPropertyAttributesAreCorrect(obj, "prop", getFunc, undefined, undefined, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-50.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-50.js
index 5e722f7916dd731d3d22b1bd32711aaf1f0292a5..7e798f08b122ef8e6ddc41561f3ebb00ffb835c0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-50.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-50.js
@@ -37,4 +37,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", "fghj", true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-51.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-51.js
index 983a0bccb75ba0fc7d2ceb730917670219986952..63bf2966edd9b6e5313a13c70e715fa9ccc35bdc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-51.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-51.js
@@ -38,4 +38,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", true, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-52.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-52.js
index d2a4c694e0331f5f648468895cf2481a8835393b..d79017c9666e2d2539632ae6e051c1d3786b8ef7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-52.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-52.js
@@ -37,4 +37,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", false, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-53.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-53.js
index 06a995dcf8b30e39912f7d188ddf784ef6a48c13..0078748dd40600a6a9b462b9ce8565b715102ff2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-53.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-53.js
@@ -39,4 +39,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", obj1, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-54.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-54.js
index 9519882c5b522364e581c0ae4d943d0f597a25ba..28d995f333a5494ca28ec1baa00521f2b361611c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-54.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-54.js
@@ -40,4 +40,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", obj2, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-55.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-55.js
index 6ae02b0ce2fb411e68d66124d13bb95d2270e519..aa6cce2e4879e5ea6faddc0858bd463f106df00c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-55.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-55.js
@@ -38,4 +38,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-56.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-56.js
index 348f482bdf7de4d94ee999559834101db8ebbfb7..ba7c41e3ea214f5ca04624d0b436304e7176b3e6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-56.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-56.js
@@ -39,4 +39,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, true, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-57.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-57.js
index 951810327d6bad56bc1d0c05ce000284b06135e8..7a3118163115ac8cde36801e12ac1c3764a63545 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-57.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-57.js
@@ -59,4 +59,4 @@ function testcase() {
         var desc = Object.getOwnPropertyDescriptor(obj, "foo");
         return verifyConfigurable && !verifyEnumerable && verifyValue && typeof (desc.set) === "undefined" && desc.get === get_Func;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-58.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-58.js
index c3da711501cd6e1624b9f576ba0ff87a3eda740b..ea1d6d3310d9d071b1616fd83f7f01633b5856ca 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-58.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-58.js
@@ -65,4 +65,4 @@ function testcase() {
 
         return !verifyConfigurable && !verifyEnumerable && verifyValue && typeof (desc.set) === "undefined" && desc.get === get_Func2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-59.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-59.js
index 2fa254acca82594b9d91b5a99825d823d3b36c99..3ac88c561ed29f2c3f087efc4e27089f83a0c8bb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-59.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-59.js
@@ -43,4 +43,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, set_func, "setVerifyHelpProp", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-6.js
index fa1044b79db3a5d1aa5a78137b14082b596ed760..08270b9da2c3b60315fdfd5e99112e883f237b01 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-6.js
@@ -47,4 +47,4 @@ function testcase() {
         });
         return obj.hasOwnProperty("prop") && obj.prop === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-60.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-60.js
index 49069e3921e70218867c33b998a2d7bbd98cd79d..be55bbf8d49a69ed7531845f2743a7edba3a521c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-60.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-60.js
@@ -46,4 +46,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, set_func2, "setVerifyHelpProp", false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-61.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-61.js
index 0aa94df0a34515c5a8af66532fa7cbb4618e3d96..2e821b77ac4f900d332c2c16ac5025e34d6db680 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-61.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-61.js
@@ -40,4 +40,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-62.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-62.js
index 33d7a6e5fe92025282ba6bee53904f3db0e01a8f..0c49d153da214fcbfe189fb99b536a8cbf14bd46 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-62.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-62.js
@@ -41,4 +41,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", 10, false, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-63.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-63.js
index 6afc0233e6b24a32859372c22c863a54556bb274..b77184ace6f9305c2166a332b4cbe05cf76d5020 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-63.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-63.js
@@ -40,4 +40,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-64.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-64.js
index dd5d44007f07db7afd4e791b9a3bcf12ba30634d..44d6c9965a3e8a58ebab628da0438875572974d4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-64.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-64.js
@@ -40,4 +40,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-65.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-65.js
index bab6e2c403040e9ad724f948799803bc87a58713..3769f4fde143754d848d97a418ad44ce51c187c7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-65.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-65.js
@@ -44,4 +44,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66-1.js
index c7a80b7ca239298cea4e384f3a84ef20150f9032..ae749c288a14df73aee4d2f117ab9cd7b15c2ddb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66-1.js
@@ -45,4 +45,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66.js
index 468c07745ba1b1f1db7bb1471edfab95f00453c2..fc50d0487fd2a5289a8923b502b03f7e7ffa8cfc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66.js
@@ -45,4 +45,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, true, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-67.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-67.js
index 6e816ecc26181d8b1d84cb68d63ae9489ad6bc8d..1a7290bb1efb785002db214b42bf873737647204 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-67.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-67.js
@@ -65,4 +65,4 @@ function testcase() {
                 verifyValue && typeof (desc.set) === "undefined" && desc.get === get_Func;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-68.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-68.js
index 4c725156ea7cfca69ec94feeb9c89eabea3295c3..5de08b43a9f2ae3f17b95666ba88fa9bbcd4566b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-68.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-68.js
@@ -48,4 +48,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-69.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-69.js
index c1dcb27a3b75ebfe3a87986f3267a46063ec320a..f5711ad5f44dc453f12b206ae9502ea072e1357c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-69.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-69.js
@@ -62,4 +62,4 @@ function testcase() {
         return !verifyConfigurable && !verifyEnumerable && verifyValue &&
             typeof desc.set === "undefined" && desc.get === get_Func;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-7.js
index acd0ac6532f99dcbe84fc2af8ea5f904f0879985..60b5520dde501f6ad6f0a0c8bc831995e2228a06 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-7.js
@@ -53,4 +53,4 @@ function testcase() {
             return (e instanceof TypeError) && obj.prop === 12;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-70.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-70.js
index 76cd77a1f48ccc1d23b62283fda1c70a0a7efd97..9df4c5e8ac02216dffea20f496cf19c59f70d42e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-70.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-70.js
@@ -44,4 +44,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", 12, false, false, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-71.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-71.js
index d93a2bd1e913e0e392362864df0abc622000e919..c88c028a317c6149e39c15c76108bd95722c9241 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-71.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-71.js
@@ -45,4 +45,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-72.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-72.js
index e1259f060c986f9f5d96dfd1897be65558ca5fea..a8d819e7bb4381973ee76369476e60ff0135091d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-72.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-72.js
@@ -45,4 +45,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-73.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-73.js
index d27e0c185d4136f60aab9003a33655ba54210b6c..50a24eb4c2e5003ca282f0d85abba926218bb57b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-73.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-73.js
@@ -41,4 +41,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-74.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-74.js
index f460ae262f5bcffcf4bababde96a8b93a2d25db6..39b16b6ff624ac9db78ac96e8d9fbc6add3b456a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-74.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-74.js
@@ -41,4 +41,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", null, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-75.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-75.js
index 100547f8e4934b725638a4d211651d7d30c1251f..523b747145e5d20da6853ecfd63c8c1d036334eb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-75.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-75.js
@@ -60,4 +60,4 @@ function testcase() {
 
         return verifyValue && !verifyEnumerable && verifyConfigurable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-76.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-76.js
index b4b6f53f2aac2192f6b80f1c8d87955b90414fd5..208058ccd5c326c92b6f22bb163fbe6bd1642814 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-76.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-76.js
@@ -45,4 +45,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", -0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-77.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-77.js
index c8a3d515b3d45a12b3ea924fceab42d904f43964..01f5948efd045caf69f1c6b887f066524ba9c07a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-77.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-77.js
@@ -45,4 +45,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", +0, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-78.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-78.js
index e63d8eab5524a0a138068a07737bfd89f6d4736b..4f7e80992dcbb815c771119bc69680e7821a9032 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-78.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-78.js
@@ -42,4 +42,4 @@ function testcase() {
         return dataPropertyAttributesAreCorrect(obj, "foo", 100, false, false, false);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-79.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-79.js
index 2dfcfbea85dcb5ddbde7a05e56d7b33f4390ed9f..971f5827aa6c0a4d54969cd9431b0a5985ac059c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-79.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-79.js
@@ -45,4 +45,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", 10, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-8.js
index a01603834b3c4894f9f95746ec19f261f6783222..c1a5036bcc49bc2770329b417fa3e4c94517c2f3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-8.js
@@ -55,4 +55,4 @@ function testcase() {
             return (e instanceof TypeError) && obj.prop === 12;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-80.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-80.js
index 6184496077545eab50e28d3323ddb998f78cca2b..04623b1256fdbc47286518ebe4f119b34340c0f0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-80.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-80.js
@@ -41,4 +41,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", "abcd", false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-81.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-81.js
index 113182220bd9fa3dd5142856e36dad5f65e6a9fb..2c411738a5f6ac9cb9c39784a5df6cfa87ac5a82 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-81.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-81.js
@@ -45,4 +45,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", "abcd", false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-82.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-82.js
index 88f4ee22cc9cbf6add9cf27ba9f3a64640e4d85c..77e0ad3209b14d3dbc5dd19017aa2e669062269d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-82.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-82.js
@@ -41,4 +41,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", false, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-83.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-83.js
index ea4bdc916121162ea377969ff4469f9a92d225ae..4703e0be637d13e020255792fb1d2ba7dd6e02bb 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-83.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-83.js
@@ -45,4 +45,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", false, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84-1.js
index 2c994d5714aa03c90eac1de7f7f815eaf2a06c09..6a076fad52905f5409d6c8bc703b9639538121af 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84-1.js
@@ -46,4 +46,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", obj1, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84.js
index 5bccf42c08d05b3706dab73481183eaae45e6dbb..1787f0c3c9c1114915f10721bb4e32da6aa1c293 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84.js
@@ -43,4 +43,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", obj1, false, false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-85.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-85.js
index d7f2604b88f91e2b667ed6a89b8f74c7242f99fe..4ae11acee5eb9a9f0603107386df39f57ab56ca9 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-85.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-85.js
@@ -49,4 +49,4 @@ function testcase() {
             return (e instanceof TypeError) && dataPropertyAttributesAreCorrect(obj, "foo", obj1, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86-1.js
index c3cef6cc83080f2ff8d3666cf661c42b72426222..8f852869e389d11e5fceb09b6a16a638a94355ef 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86-1.js
@@ -51,4 +51,4 @@ function testcase() {
             return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, set_func, "setVerifyHelpProp", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86.js
index efa3f55832111a4b745e957ff3ccb3a0a4929064..224f6c1fd758b8a4df09f85ad51fe828bd79626d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86.js
@@ -45,4 +45,4 @@ function testcase() {
         return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, set_func, "setVerifyHelpProp", false, false);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-87.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-87.js
index cae63b54cf7cda6a7bca18f9c5d073f07a5f4729..7268200dcc5f98c8d2fb57bec8198608a33c66df 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-87.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-87.js
@@ -51,4 +51,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-88.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-88.js
index 9871aefe0683afe988e6f7b449626af0b440e095..c527ffcf0a9ef91c83a42d1e185eebb87a1af3ae 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-88.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-88.js
@@ -65,4 +65,4 @@ function testcase() {
             return e instanceof TypeError && !verifyEnumerable && verifyConfigurable && typeof (desc.set) === "undefined";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-89.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-89.js
index c581693d9762ed6dfa6d7be8304e553242ad72d4..dac46bd410dcb439ea8ca2dd108c7c0651c77c8d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-89.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-89.js
@@ -60,4 +60,4 @@ function testcase() {
 
         return verifyConfigurable && !verifyEnumerable && typeof (desc.set) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-9.js
index 31ff0cfc372079eb5639b49f5e155586c41a78cd..2f20779f9d3b3e356f29e603ac2b3712cfbb1729 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-9.js
@@ -43,4 +43,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-90.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-90.js
index 39e0c1bc6f08397df86a73c53d3d9affd5496610..8cc374905bb0c4b5bdc360b3df2da31ee8526957 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-90.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-90.js
@@ -49,4 +49,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", get_func, set_func, "setVerifyHelpProp", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-91.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-91.js
index 7accf72ae366070a5c713e31190eb5dc54277c00..d84d2ac99446623ed1dbdfc1b2a887107ade2d63 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-91.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-91.js
@@ -58,4 +58,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-92.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-92.js
index f25b4157d9f7ca76839d9a8b50e6695464668593..0b9e4f11cb84423097e6211f62120819dd1c3cd8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-92.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-92.js
@@ -54,4 +54,4 @@ function testcase() {
             return (e instanceof TypeError) && accessorPropertyAttributesAreCorrect(obj, "foo", undefined, set_func, "setVerifyHelpProp", false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-1.js
index 184bc06e6ed534535afbfb4aeb92adabb06fcb18..033940165f13533674bda901924a7f96ea84ef73 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-1.js
@@ -57,4 +57,4 @@ function testcase() {
                 dataPropertyAttributesAreCorrect(obj, "property1", 1003, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-2.js
index 563e74bfaf637ab459a1a602125a4fe4cd6b5b89..b32d493998f0501d4b05e84bda80d03434e0133e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-2.js
@@ -57,4 +57,4 @@ function testcase() {
                 dataPropertyAttributesAreCorrect(obj, "1", 1003, false, false, false);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-3.js
index 4419da7a074419efe83f6f6572d322c50750775e..3127bbff7cb19c2158f4fe9f6d4d33c6c1d50420 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-3.js
@@ -57,4 +57,4 @@ function testcase() {
                 dataPropertyAttributesAreCorrect(obj, "property1", 1003, false, false, true);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-4.js
index 08cfe1319fc57a433892ebd3758da24f730e52e3..b76f88c031ad0ed5eb41aa581e43e3254b2e5505 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-4.js
@@ -57,4 +57,4 @@ function testcase() {
                 dataPropertyAttributesAreCorrect(obj, "1", 1003, false, false, true);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93.js
index 5fcff64dca24f5d90b595f5b0a7cab967ccae232..c98bf9858cd0bfdf5dec86d0d3c32194afeeca12 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93.js
@@ -46,4 +46,4 @@ function testcase() {
         });
         return accessorPropertyAttributesAreCorrect(obj, "foo", undefined, set_func, "setVerifyHelpProp", false, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-94.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-94.js
index 017708182a73760d919ef4de58db21fdff2226bc..ed7e905d336a59673906aef2f61917bc48948e6c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-94.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-94.js
@@ -37,4 +37,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", 200, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-95.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-95.js
index 92ebe855fa3a8d5582a28bf30d4f8639745aeb9a..20f094e1a573e16a9665b9f69a4fd851d42b68f8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-95.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-95.js
@@ -42,4 +42,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", undefined, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-96.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-96.js
index 8f0169027b3320c0b8bc88fa5842a939505ad572..11d6da63688ff0e17fb1eaaa2a3d88a947dc98be 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-96.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-96.js
@@ -42,4 +42,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", 200, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-97.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-97.js
index 5b4ab7dc9e495421949ded3cb88cfe178354ddf1..6345e0333896acfce1e112f09834682a8c6d1fa5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-97.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-97.js
@@ -42,4 +42,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", 100, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-98.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-98.js
index 2ee53b051d64736fe4084adb4f1753f277c37da3..0f80d9c580c582a406dbd80ce1a30973ddbadf70 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-98.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-98.js
@@ -42,4 +42,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", 200, true, true, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-99.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-99.js
index 5b1085cc4d93b8cf382e9c451b41765a19f7154e..9b71a4c0705e9773e38e6a16e68e4fd9780b198c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-99.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-99.js
@@ -42,4 +42,4 @@ function testcase() {
         });
         return dataPropertyAttributesAreCorrect(obj, "foo", 200, true, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-0-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-0-1.js
index b4dd11be4166ea95363e53ea562e491bcdb2f25f..635b2ca9ca32ec9e0fb39011287a22bd2ef76f77 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-0-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-1.js
index 1430da3c8bc4f1ea1e39ceff68082a9e032361ba..3b67241c8b52180b9e32690780ebc72ade1e031a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-1.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-2.js
index 4d4b5dfb1c248a253ad20c459122d899749f1fb7..ee6dcab279077efc549adee291ea10dad2e001cd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-3.js
index 8e348afef089853f6837954415da548062dbab73..9555ca80ec9607f69e61187575e8725b222e227b 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-3.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-4.js
index f9553b053fd86b853bca1ca3c17e6479460debbf..a5bece56c1b792221bfbc4d3da2988ab153d4d43 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-4.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1.js
index c69fa75d432109779aba8ec9a252d212f31a9180..38e27369e8cfa5d597cbd46b334258a7ff6c96dd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-1.js
@@ -34,4 +34,4 @@ function testcase() {
       }
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-1.js
index 513166583d44cde1f23273a1b458d08c1939223e..2ed008e7fccaf3309aeae9e9d8510e4f951a9d76 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-1.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return preCheck && !Object.isExtensible(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-2.js
index ea6df4c623abfebd394b2c0ca737733f3fb27b68..43a47a76723eea0ee183776e93434e585572082e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-2.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return preCheck && beforeDeleted && !afterDeleted;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-3.js
index 479930b2db2b5dce66c7c6bd3294f7e44ced1008..ba71b33b2329902da9eec8927a63ff08b41f26b5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-3.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return preCheck && beforeDeleted && !afterDeleted;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-4.js
index c5266581c775e747832ca4e27f0761d007f6e68c..61797cd731cfd2ce4f48054f655826fae224ab23 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-4.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return preCheck && beforeDeleted && afterDeleted;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-1.js
index 334f19844a87a5792bcf7f131169799512720b7d..232ecc4cce06d09711fe8e36ad39e442ad458e47 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-1.js
@@ -34,4 +34,4 @@ function testcase() {
         delete obj.foo;
         return preCheck && obj.foo === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-10.js
index a6d47e84a7d2b6f0e8feeafe0ddc599994745159..80e84fb5799be5492f3b6750ef2de63ef57b7b34 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-10.js
@@ -34,4 +34,4 @@ function testcase() {
         delete boolObj.foo;
         return preCheck && boolObj.foo === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-11.js
index 6a584d2aa6de1ae41baebe930808efe7c20d7f6a..acea71619972038950ca7e0b463a9561cbdea318 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-11.js
@@ -34,4 +34,4 @@ function testcase() {
         delete numObj.foo;
         return preCheck && numObj.foo === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-12.js
index efa139813fd88652ce4f03530682ed50a3922eae..51a4e0cbea303dddb1ac85ac2d1a58f8a4372615 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-12.js
@@ -34,4 +34,4 @@ function testcase() {
         delete dateObj.foo;
         return preCheck && dateObj.foo === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-13.js
index 7a21f29611714a4f62507caa167485fddab77ac2..2a0f43eacdc239415426eae23929fc5811e493c5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-13.js
@@ -34,4 +34,4 @@ function testcase() {
         delete regObj.foo;
         return preCheck && regObj.foo === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-14.js
index cecb203d21f523c6147cb3e258e9cdef71a6afaf..996dbd28032b31e89867604a68442efc000a4240 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-14.js
@@ -34,4 +34,4 @@ function testcase() {
         delete errObj.foo;
         return preCheck && errObj.foo === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-15.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-15.js
index b7a7f3bd9b1436436c2a08115e217e465d8da1a6..42b3a0c163063278ffa7c4ebd9617800b73ef1f8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-15.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-15.js
@@ -34,4 +34,4 @@ function testcase() {
         delete argObj.foo;
         return preCheck && argObj.foo === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-2.js
index 434692e97db31137553c09c96626fee6c49a113f..f50e9d6220b2490cc8c33fe12b14d94a7e8772fe 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-2.js
@@ -41,4 +41,4 @@ function testcase() {
         delete child.foo;
         return preCheck && child.foo === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-3.js
index bf80177dc5ff5571504902737d63a27f166d8de9..306282a5cdde2e21f50d43c03c7c5b22179f00da 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-3.js
@@ -48,4 +48,4 @@ function testcase() {
         delete child.foo;
         return preCheck && child.foo === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-4.js
index be5d912f0f6e0a8250950a2daff8bec1fa367733..73e2f5b0cc3003ae20c568db1699a6dad3230c3c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-4.js
@@ -39,4 +39,4 @@ function testcase() {
         delete obj.foo;
         return preCheck && obj.foo === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-5.js
index e62853ce2f6228f3f40f6ba43cd2ab69e667c980..128fa57953d2848d7e9b125f13d1f2aff6e6d323 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-5.js
@@ -49,4 +49,4 @@ function testcase() {
         delete child.foo;
         return preCheck && child.foo === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-6.js
index 51c677ebe0981e2cfd85b7bb94b407b6e506b02e..8af42555f7fe75d05bb03472878f0e922c799261 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-6.js
@@ -51,4 +51,4 @@ function testcase() {
         delete child.foo;
         return preCheck && child.foo === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-7.js
index 7aeee37d8aa53176e950645fb7bca5e4b2ecf56b..ef3e44b9eccfb2376c5c8f285b9d50cab0fe5de7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-7.js
@@ -34,4 +34,4 @@ function testcase() {
         delete funObj.foo;
         return preCheck && funObj.foo === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-8.js
index 33c8f4bad27dd9c470f74817e25a04109a3e1cca..f48cf6e2e6646c7f4f4faa31a6383d7b7715cd5c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-8.js
@@ -34,4 +34,4 @@ function testcase() {
         delete arrObj.foo;
         return preCheck && arrObj.foo === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-9.js
index 75173871358b6f23be093949a6aa1fdf41ebc5ae..1a5178247cdd9bc638eb028ac201b6198fa227c4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-9.js
@@ -34,4 +34,4 @@ function testcase() {
         delete strObj.foo;
         return preCheck && strObj.foo === 10;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-1.js
index f86bffbb41d28c2fb414bc391e491a11cde43286..b61f19f5c5bf048d6382badbfcbd378fff0a5c20 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-1.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return preCheck && dataPropertyAttributesAreCorrect(obj, "foo", 10, true, true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-2.js
index a8998e036bb724babeae828a3ae9882e34134889..55104181795c1ba9ecdd291da0184cf1c649b1bd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-2.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return preCheck && accessorPropertyAttributesAreCorrect(obj, "foo", getFunc, setFunc, "variableForHelpVerify", true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-3.js
index cc3f9f0afda2a7e192b89ce035e9924b1efab07b..563e6e416a17f71b8895f28429279a088a99c8d0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-3.js
@@ -53,4 +53,4 @@ function testcase() {
         return preCheck && dataPropertyAttributesAreCorrect(obj, "foo1", 10, true, true, false) &&
             accessorPropertyAttributesAreCorrect(obj, "foo2", get_func, set_func, "variableForHelpVerify", true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-4.js
index 2eeae07a9344c9d86dc2838d98496df2e7788d62..5140aee6212470cf9d48af712185fa758564c675 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-4.js
@@ -53,4 +53,4 @@ function testcase() {
         return preCheck && dataPropertyAttributesAreCorrect(obj, "foo1", 10, true, true, false) &&
             accessorPropertyAttributesAreCorrect(obj, "foo2", get_func, set_func, "variableForHelpVerify", true, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-1.js
index d5092e5d773e70c575d924ae4209ed12d999a4c0..00ab109277cb35c70894354d9a7a2f4840b134d3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-1.js
@@ -33,4 +33,4 @@ function testcase() {
         return preCheck && Object.isSealed(fun);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-2.js
index ac4a2865d14d86ed4b75862ad5099c144a2ecc3f..95683a34db2455212614a72eede154a9df721e6f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-2.js
@@ -33,4 +33,4 @@ function testcase() {
         return preCheck && Object.isSealed(arr);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-3.js
index 4c1d4a2d9f9a111a4b419b2ab561bb3d635abd26..f4a113dd5d824b471395669f54fc868e4462e111 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-3.js
@@ -33,4 +33,4 @@ function testcase() {
         return preCheck && Object.isSealed(strObj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-4.js
index 2f3dbe047f2daf9c0e95332f09383d7249cdb160..2fad03e241357269271409b3aa1119ea7a539303 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-4.js
@@ -33,4 +33,4 @@ function testcase() {
         return preCheck && Object.isSealed(boolObj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-5.js
index 91275f2f2c63d5a36c72f8c43e2fa522e2f1f32f..82347e0a42a0c41de3319027535916a4968c1f04 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-5.js
@@ -33,4 +33,4 @@ function testcase() {
         return preCheck && Object.isSealed(numObj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-6.js
index 8715a5bf6c2725c4c8e5c4daebe458ab5095540c..24ed846b9d4960509a7793af9129bf536f68d0c6 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-6.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return preCheck && Object.isSealed(dateObj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-7.js
index 2446c1a88401c282d0fbe6c0eeb0ff1245716b56..f894d9747461b45ca90ed00c0082d982252a553a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-7.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return preCheck && Object.isSealed(regObj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-8.js
index 49b5d4465e8b119da7e63806097a79c9254a45b3..26b811be83772bd5e2653b8a51fc9e78a9d0eb6e 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-8.js
@@ -33,4 +33,4 @@ function testcase() {
         return preCheck && Object.isSealed(errObj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-9.js
index 952c203cfa11475b0dd71a83214b246fdaef2744..cc1d27b61640f135da6866c8d73d85434e65ec01 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-9.js
@@ -34,4 +34,4 @@ function testcase() {
         return preCheck && Object.isSealed(argObj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-3-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-3-1.js
index 150e27736da6641c23ad2eb08649f89a89b5a742..0a16e215a9656a33539953a5aa27d16da1cb08e8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-3-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-3-1.js
@@ -32,4 +32,4 @@ function testcase() {
         return preCheck && !Object.isExtensible(obj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-1.js
index 0ff4cd4636aace31c6328a20247ca25eeac7fb95..5f5ad1e340217324918cab70f757dc661b2b6c17 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-1.js
@@ -36,4 +36,4 @@ function testcase() {
         return preCheck && Object.isSealed(obj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-2.js
index 8325f8f2cfc04f080c6ea612d304ea5adbcdbd67..7a581e5688bc79c823620db1157f30c914d119d2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-2.js
@@ -35,4 +35,4 @@ function testcase() {
         Object.seal(obj);
         return preCheck && Object.isSealed(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-3.js
index e72f69b4e343deaed1a346b47f93a21e17f3fe48..6673a6033276b8b07ff0428e6180584b1fe33265 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-3.js
@@ -34,4 +34,4 @@ function testcase() {
         Object.seal(obj);
         return preCheck && Object.isSealed(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-1.js
index 3f2448ce27a0c54650fd624e8c44d74a4812ae9a..8b5bccab46f19dd8c610a15e615c1f61a7f8bfb8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-1.js
index ee528c52e21b7b7514eb18fc6af0661c866362db..cd3e420a5aa4d130af1557544968dcfc58c93336 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-1.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-2.js
index f56b3235283b3f200079b57ec285a3baf058fbff..7898d73e13e389817a18ff43f4e7c0b0319b9b2d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-3.js
index eaabf0489f5bfceba288d585897f620c62846d37..79e2db2c96de6a73beed0c739bf96895ec3c4e68 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-3.js
@@ -41,4 +41,4 @@ function testcase() {
             return result && e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-4.js
index bde943dfa41e027278bad2c6f2c2e1498e596a8c..fafe6b09c29595fa358b6666e01be61d88ec42a8 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-4.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1.js
index 774d39fb160b6d2366cff76ada4e438ab5fbfcc5..22afd78acf2a4e44eec8c7340877c28b1177a5e7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1.js
@@ -32,4 +32,4 @@ function testcase() {
             return e instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-1.js
index 3c4698fd95a3a12fb59b26eb3659fb99d6c6dd63..ad97fb0eedd39884cedde0c0bdb885bfe394cca4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-1.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return !Object.isExtensible(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-2.js
index 3a9d9f2ffc84fc9c83cf9781d5d1ad9e0264da10..afb837b34529b1b37112823ed66179feb0370c08 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-2.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return beforeDeleted && !afterDeleted;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-3.js
index ce5b2fdefeb215820636e21b3e25f493f1694f82..b2b1225b2cdde3c8f56151f3ac3b3767f605d333 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-3.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return beforeDeleted && !afterDeleted;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-4.js
index bfdc1d25c16d9552f766432b166f72ab92183372..493de85a7ac1e15d8ccd6156dc059bf81348ee19 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-4.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return beforeDeleted && afterDeleted && desc.configurable === false && desc.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-1.js
index 16419315fba8276629276310d9747a025326e370..44eda269ed87250e41ec8ea8f2a6fed94be2151a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-1.js
@@ -36,4 +36,4 @@ function testcase() {
         delete obj.foo;
         return obj.foo === 10 && desc.configurable === false && desc.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-10.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-10.js
index 52557402f6d9a2edc429acca723aba976b507238..d7a2376a2fea253bc5fad593387c4c7ca80b3c53 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-10.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-10.js
@@ -36,4 +36,4 @@ function testcase() {
         delete arrObj.foo;
         return arrObj.foo === 10 && desc.configurable === false && desc.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-11.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-11.js
index 19444a1841048e96e0742b88d77421dd670a4f86..80f1407807275a5437b6000cdd2378ae3c361ec5 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-11.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-11.js
@@ -36,4 +36,4 @@ function testcase() {
         delete argObj[0];
         return argObj[0] === 1 && desc.configurable === false && desc.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-12.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-12.js
index 4ac2c01e34ca934cbcbe6d4b80b47d0e73188e0e..b022c2c6ed0ce11d26621c1da767c3e42c991c94 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-12.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-12.js
@@ -36,4 +36,4 @@ function testcase() {
         delete strObj[0];
         return strObj[0] === "a" && desc.configurable === false && desc.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-13.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-13.js
index c63f1a8c4a1a2eea73b1a2c6324b56ae154b9f1c..ec86b512df2ef5b1a08b8f822c1c71bf84f3a8c4 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-13.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-13.js
@@ -36,4 +36,4 @@ function testcase() {
         delete obj[0];
         return obj[0] === 0 && desc.configurable === false && desc.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-14.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-14.js
index 3d2bddc20291894c53748c8e55db625c8a711820..085571016948bbea6d8c7f115280154778c869cd 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-14.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-14.js
@@ -36,4 +36,4 @@ function testcase() {
         delete arrObj[0];
         return arrObj[0] === 0 && desc.configurable === false && desc.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-2.js
index 08036a6e328fa27abe1862de0438b1ce30f735f1..833aadf42c732ee945ede58d4ca295ac53bfc445 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-2.js
@@ -42,4 +42,4 @@ function testcase() {
         delete child.foo;
         return child.foo === 10 && desc.configurable === false && desc.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-3.js
index 327c72e7ba7fbc132cb11cabc70fef281fba6df6..a1993922f9a1cf5da1ccc3fdcfae0dc20b9b9381 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-3.js
@@ -50,4 +50,4 @@ function testcase() {
         delete child.foo;
         return child.foo === 10 && desc.configurable === false && desc.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-4.js
index 9763a0858201463b100a6ab19dc0e1b342bb1dff..4adf434bedfce92176777ca6a3be80edebf171ce 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-4.js
@@ -41,4 +41,4 @@ function testcase() {
         delete obj.foo;
         return obj.foo === 10 && desc.configurable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-5.js
index 1cafb32db1b941f73fb4c679747a7db4abb9ed58..46ff169b6e1b6068e7b5e5c4b737cee4bb7caa89 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-5.js
@@ -49,4 +49,4 @@ function testcase() {
         delete child.foo;
         return child.foo === 10 && desc.configurable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-6.js
index a127e114963d479a26523ab2e85a9e451b0942f0..16c6720c58ad6922d5f295d0834fbfacf8182b18 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-6.js
@@ -53,4 +53,4 @@ function testcase() {
         delete child.foo;
         return child.foo === 10 && desc.configurable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-7.js
index 9433a8016bbcf1be7979a7cfcee9a0dc397761b8..d304258be4fb4a4ac0b78186f0562ff01127e203 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-7.js
@@ -36,4 +36,4 @@ function testcase() {
         delete argObj.foo;
         return argObj.foo === 10 && desc.configurable === false && desc.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-8.js
index 5b2c678eaecd6ce14706b9b1febf7f7300b4ac31..9b52bf4f975d328be6e24d380d1482a5e48adc06 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-8.js
@@ -36,4 +36,4 @@ function testcase() {
         delete strObj.foo;
         return strObj.foo === 10 && desc.configurable === false && desc.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-9.js
index 81d64f8fef7a8c709fb37a754144e6c1ef205ace..a217ccd79bfcb2fdf53d16a0877b5e163cdfab41 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-9.js
@@ -36,4 +36,4 @@ function testcase() {
         delete funObj.foo;
         return funObj.foo === 10 && desc.configurable === false && desc.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-1.js
index ff31caea007bacfe3b74628a505ea1f53d437a79..9b530fbff89fb145bcc73a28f62d6686c0a81331 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-1.js
@@ -40,4 +40,4 @@ function testcase() {
         return dataPropertyAttributesAreCorrect(obj, "foo", 10, false, true, false) &&
             desc.writable === false && desc.configurable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-2.js
index 2ffe0f6636822593ad4f71c0d5dd5f04dd95724c..32365caaddbdb69c2e90c4a46b81ed73a9bb54a3 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-2.js
@@ -51,4 +51,4 @@ function testcase() {
             desc1.configurable === false && desc1.writable === false &&
             desc2.configurable === false && desc2.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-1.js
index 53f13a4450b4381e739ac9b17297a5750070fbe1..0d8dfa114b81169f5d7d88cce3199a423b3511c7 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-1.js
@@ -40,4 +40,4 @@ function testcase() {
         return dataPropertyAttributesAreCorrect(obj, "foo", 10, false, true, false) &&
             desc.configurable === false && desc.writable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-2.js
index 9a8e71bfda0098867e0aff3a88b9fadc4d1f8c59..971784db038cd2e6e2770e029bfefc5432392938 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-2.js
@@ -64,4 +64,4 @@ function testcase() {
 
         return desc.configurable === false && result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-3.js
index 736da317b66bf12c49f9cc5f8a38f0d5b29d094b..2d9f8c6937fac71992269783bda415b5d88de3f0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-3.js
@@ -77,4 +77,4 @@ function testcase() {
             desc1.configurable === false && desc1.writable === false && desc2.configurable === false;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-4.js
index 8d917bf09935288ad22562277e60380a9293ddc6..524c0c9813a2dc7fb3601a088d5661b41be3e80c 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-4.js
@@ -75,4 +75,4 @@ function testcase() {
         return dataPropertyAttributesAreCorrect(obj, "foo1", 10, false, true, false) &&
             result && desc1.configurable === false && desc1.writable === false && desc2.configurable === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-1.js
index 3ef35d8d98b140efdbb8954804d3379193758e97..16c01df9617113e0e4fc3b73019e57936721305d 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-1.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return Object.isFrozen(funObj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-2.js
index 1991a28f3ba0d40d1b8c789319751aad571a1a62..e13e6536dcaf3988ca041d1e9b4bd9fea15d3d77 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-2.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return Object.isFrozen(arrObj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-3.js
index 73111e427307d2ffa3ce4b16c63cd6c156385433..f72821d3c028753a56fa7b18ee30cbfd8613ffdc 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-3.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return Object.isFrozen(strObj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-4.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-4.js
index c779d9d8bb9f2343db650ab96913545acfc7d955..339e8f8ff02a45cff981f11b205f17e46aa816c2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-4.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-4.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return Object.isFrozen(boolObj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-5.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-5.js
index 9d28353450c6e8c558528650adcd51facb6eb3e5..e3210fc8e526a4991ec75a6f5ae8dbb6182a02d2 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-5.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-5.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return Object.isFrozen(numObj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-6.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-6.js
index 2eb1e4561983c48e69f03b9b8d26b5cb5e4c0cb7..4b908e6df1c7c0777d591e0d885e0d8650fe565f 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-6.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-6.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return Object.isFrozen(dateObj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-7.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-7.js
index ea47be25db3de8aee9b5c407dc8494e47497ea65..f59b50fd24310f29107ce9ded00d3f5eb3482245 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-7.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-7.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return Object.isFrozen(regObj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-8.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-8.js
index 02747b7fd920a4ef4a94950dc49686f2edd55f04..081d6f191541f496c15764eb2771b6ef2bbe5e07 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-8.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-8.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return Object.isFrozen(errObj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-9.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-9.js
index 1bfd1cb3bcff16da95a2b7f1920131ac4098571e..cf2273f2421323c28a9a4344fe110e76aed09008 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-9.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-9.js
@@ -32,4 +32,4 @@ function testcase() {
         return Object.isFrozen(argObj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-3-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-3-1.js
index 5c43b36ca869d2dee383ef66bd8cb2eedbc60b9a..923c7e88258a1b9adce2e195e31090ef87a11f4a 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-3-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-3-1.js
@@ -31,4 +31,4 @@ function testcase() {
         return !Object.isExtensible(obj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-1.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-1.js
index 4227027eb0e8da7e7a3d85924201d55d6990a879..64c762d26da1a77ef8b6d634909ce20a1886cea0 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-1.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-1.js
@@ -35,4 +35,4 @@ function testcase() {
         Object.freeze(obj);
         return Object.isFrozen(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-2.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-2.js
index 34763d6210b21d860428c9ea6a9944e583eff6a4..8c275a55e275be1c22856ebef240893f4b06f614 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-2.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-2.js
@@ -36,4 +36,4 @@ function testcase() {
         return Object.isFrozen(obj);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-3.js b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-3.js
index 8e9cfdccb5a13efe6c28462a7486523ad5caf2ef..2c8229b4aa2e6ab7fd0dc32eb7d558bcf38a9f50 100644
--- a/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-3.js
+++ b/test/suite/converted/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-3.js
@@ -35,4 +35,4 @@ function testcase() {
         Object.freeze(obj);
         return Object.isFrozen(obj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1-s.js b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1-s.js
index 8faec246f07b9e18eeb2138e7cf6adf56fd88fc0..1bc53de82c0edaa990b9a91553b223deded31318 100644
--- a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1-s.js
+++ b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1-s.js
@@ -35,4 +35,4 @@ function testcase() {
   }
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1.js b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1.js
index 6260566e610bd9b23f9f4b8c10e4cf63bf106626..0df07c5cae85ccb2fbf54f7ec21470f5fc8b0799 100644
--- a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1.js
@@ -29,4 +29,4 @@ function testcase()
     Function('a','a','return;');
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-2-s.js b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-2-s.js
index d10cb17d706f1cd8ccb30e5924c95f0626c56c8f..416665e0cf85725b52b386bbaf152aae02fd5579 100644
--- a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-2-s.js
+++ b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-2-s.js
@@ -35,4 +35,4 @@ function testcase()
     return false;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3-s.js b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3-s.js
index 4627ef98c57c6476890754ff3d1c8dbf74a35287..c29ee3b7d1b67fe08bc1d8995e559c40df0c348e 100644
--- a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3-s.js
+++ b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3-s.js
@@ -36,4 +36,4 @@ function testcase() {
     return (e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3.js b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3.js
index ce8976c69b0f55e3263e0b14fb4414c28116351d..67af52381bbb94b0c3ef402a18231b6128ea50c7 100644
--- a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3.js
+++ b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3.js
@@ -28,4 +28,4 @@ function testcase() {
   Function('eval', 'return;');
   return true;
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-4-s.js b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-4-s.js
index a2512c4fe90dc73473d843a7975d0b244caa00cd..1a76289a743b16c87cedcd0ee704190b1cd94318 100644
--- a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-4-s.js
+++ b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-4-s.js
@@ -35,4 +35,4 @@ function testcase() {
    }
    
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5-s.js b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5-s.js
index ccca9f8c1d75f6c565374bfbb7b2a435901f312b..f6e17cbac5386b5aac16a2018dad9ddb3b55ab1c 100644
--- a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5-s.js
+++ b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5-s.js
@@ -36,4 +36,4 @@ function testcase()
     return(e instanceof SyntaxError);
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5.js b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5.js
index 184bdd2e35a48313b906c0fa4f4cb41961b2ed74..52b4197f53cc71c492b817e6188d055148c15a4b 100644
--- a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5.js
+++ b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5.js
@@ -29,4 +29,4 @@ function testcase()
     Function('a,a','return;');
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-6-s.js b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-6-s.js
index db8de32b41a84c04a900c845df61ea9e24673acf..232bac2ed01676a8a05be8229a169b99ff1a0f5c 100644
--- a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-6-s.js
+++ b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-6-s.js
@@ -36,4 +36,4 @@ function testcase()
   }
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-7-s.js b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-7-s.js
index d8f7d54d232826e60c0de846793eca766ec86a11..0e4cada47092d578d1d69b8fc69469f05d0043c5 100644
--- a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-7-s.js
+++ b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-7-s.js
@@ -35,4 +35,4 @@ function testcase() {
      return false;
    }
   }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-8-s.js b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-8-s.js
index 6d3f066b27798b4eda12b4182b89d1b0ab1d8b33..73fe8608c0b8ed848c3575e9d8888e2cf8e78b80 100644
--- a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-8-s.js
+++ b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-8-s.js
@@ -32,4 +32,4 @@ function testcase() {
         return true;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-9-s.js b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-9-s.js
index 9be3593af1a8bd5c22105ffc79eaf4aa60ec04e9..f81da94a82aa314ef41fe171a7e62482c2cf63e4 100644
--- a/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-9-s.js
+++ b/test/suite/converted/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-9-s.js
@@ -31,4 +31,4 @@ function testcase() {
         var foo = new Function("baz", "baz", "baz", "return 0;");
         return true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.3/15.3.3.2/15.3.3.2-1.js b/test/suite/converted/chapter15/15.3/15.3.3/15.3.3.2/15.3.3.2-1.js
index ddb25f23a82d5695f82714e7a7f996159e06686e..5ab9acee30d1b3698761ef575c66523bece6710b 100644
--- a/test/suite/converted/chapter15/15.3/15.3.3/15.3.3.2/15.3.3.2-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.3/15.3.3.2/15.3.3.2-1.js
@@ -34,4 +34,4 @@ function testcase() {
     return true; 
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.3/15.3.4.3-1-s.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.3/15.3.4.3-1-s.js
index f1d5315974765c15d907097b49d803513d99bb4d..cf66bfde9c07babf21d77d76793be48e1c5dad73 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.3/15.3.4.3-1-s.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.3/15.3.4.3-1-s.js
@@ -33,4 +33,4 @@ function testcase() {
         }
         return !fun.apply("", Array);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.3/15.3.4.3-2-s.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.3/15.3.4.3-2-s.js
index 7053d2e765c5c5ddccc2236a86062016a014cae2..f48c181b05890e2cfb2da5ff88eb6b9749925d21 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.3/15.3.4.3-2-s.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.3/15.3.4.3-2-s.js
@@ -32,4 +32,4 @@ function testcase() {
         }
         return !fun.apply(-12, Array);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.3/15.3.4.3-3-s.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.3/15.3.4.3-3-s.js
index 001c3ea4c9b51bb3d505a38750a82a0d471b5243..cc1c445ace3701f4d6162cb1222738d76805d9bf 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.3/15.3.4.3-3-s.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.3/15.3.4.3-3-s.js
@@ -33,4 +33,4 @@ function testcase() {
         }
         return !fun.apply(false, Array);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.4/15.3.4.4-1-s.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.4/15.3.4.4-1-s.js
index e1898f49809956da54aa7bf4644f90186e72e781..99a4c2f33a11aee22d8abcae7a5add44315f74c3 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.4/15.3.4.4-1-s.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.4/15.3.4.4-1-s.js
@@ -32,4 +32,4 @@ function testcase() {
         }
         return !fun.call("");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.4/15.3.4.4-2-s.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.4/15.3.4.4-2-s.js
index d84d75e94dd4a4ca221adb118ac45c64e08a1795..f615dc2d2991b67a9fbd5419e7435121bbc2f4df 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.4/15.3.4.4-2-s.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.4/15.3.4.4-2-s.js
@@ -32,4 +32,4 @@ function testcase() {
         }
         return !fun.call(-12);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.4/15.3.4.4-3-s.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.4/15.3.4.4-3-s.js
index eff8f21c721760511ffc27e64fd62f27c408caf2..175b894746903caa9739d462c4db66348ecbaff5 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.4/15.3.4.4-3-s.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.4/15.3.4.4-3-s.js
@@ -32,4 +32,4 @@ function testcase() {
         }
         return !fun.call(false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-1.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-1.js
index 838db8525b1d42d9a0fc660b98783ebdd6312477..8c7cfc3efe73bc31914947f424a0d5af2e36bb05 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-1.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return newFunc() === "abc";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-10.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-10.js
index 0c75a511baea326726df96aed19fe78c6d912d59..4eb618838c720911e4b70fe14bd356e0431c7955 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-10.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-10.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newFunc();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-11.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-11.js
index f3563b96f15c3cf12d27a95ba41d7b9bc80c2b30..1a843876694001e185b5ca6b8cf8ef4da66d0c11 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-11.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-11.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newFunc(1);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-12.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-12.js
index 4fe48eddf92311af862801150ae77458ffb5ffa8..3505429fefbbdb98f96790c2800d79f0f31ba190 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-12.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-12.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newFunc(1, 2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-13.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-13.js
index 48263e49a597e8734e10f1b3c54e722c29f3bbe8..3bba4bd9539e5f2d97004152a3c0a4f6602a156f 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-13.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-13.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newFunc();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-14.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-14.js
index 8094b0681cead5812df1ae30f853a169674554bf..0d06bc30f08c7fc22974e43fd3186f19f1688a89 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-14.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-14.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newFunc(2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-15.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-15.js
index ceedd78224c9900cd00457c8baa51bde3c05c9df..c30864fd0d4470956a34999b15d1276a9343c4c0 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-15.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-15.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newFunc();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-2.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-2.js
index 9cf607f446f45af2dfdc4c88c88ab240a0aa3e41..05a9cba33aab5a8cea2a646e8de51c942980138d 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-2.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-2.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newFunc() === obj;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-3.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-3.js
index 9ad113fa508a62501fae314fdfc28aee5be24fa1..949832ef7541a96098ffa46dff68c8b655409f14 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-3.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-3.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return newFunc("c") === "c";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-4.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-4.js
index 64ee44f4fcdf5dceb645ffd52e9a0a3ce66f597a..430abd3956f14eddce3fc27303510b1764195928 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-4.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-4.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return newFunc();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-5.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-5.js
index 67873afaca9297d79c78238262747d85184cf550..a537ca0a2da0b357488e86cfaa4661dec7c4baed 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-5.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-5.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return newFunc(1);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-6.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-6.js
index 0b8750fe2674a1e26324c1ba16cdfe550dcb94cc..bb3007859378c26c7caac1c8ead3306058402721 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-6.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-6.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newFunc();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-7.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-7.js
index a3aa45d73349af6af406cd73481ea8787d660cea..40997408a43db4f0456edf8b91893a4ce2836f11 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-7.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-7.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newFunc();
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-8.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-8.js
index 170b051a64a991714a72b765663d2e155be83051..0b39948e1ef12c5de3c8b13947a20b48c1c1a328 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-8.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-8.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newFunc(1);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-9.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-9.js
index 125c6f875dc861053eda26816142fe8acd18968b..7629977860a0406f2794907b77ab03ee5b4a42af 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-9.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-9.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newFunc(2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-1.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-1.js
index 7192bc8500f7582e78cad04f9bc9d7afe638d74f..22145d5414503e161301f3e8541eb936d6b30bff 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-1.js
@@ -39,4 +39,4 @@ function testcase() {
         return newInstance.hasOwnProperty("returnValue") && newInstance.returnValue === "abc" &&
             newInstance.hasOwnProperty("returnVerifyResult") && newInstance.returnVerifyResult === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-10.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-10.js
index 79b8c1bf9a134d94a123962a9dcbbec44952304d..0aecd2cb9f5598b2b66fa7ad4a2dd862332ff4db 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-10.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-10.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newInstance.valueOf() === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-11.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-11.js
index 0c8d15f21a5aabddfd251cff6e146a188b2207ac..5e1ba61b2a071ae70e15f7e7eaaba3723630b0a6 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-11.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-11.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newInstance.valueOf() === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-12.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-12.js
index ed3f84de19b40a971884203736dc28cb71f7d623..d1b221e3f70a786e5080a8ccb00e2053a99bc7bf 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-12.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-12.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newInstance.valueOf() === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-13.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-13.js
index ee37c96682f06deeef02031c95b9bb656c0e92ec..10790d910d0c5da38b7f475c918fdc235030382d 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-13.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-13.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newInstance.valueOf() === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-14.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-14.js
index 610c32e90c6645deb0aad45af09efc547bef0d80..c74040125337169ac44f2c9d43bfadcf79258ac2 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-14.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-14.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newInstance.valueOf() === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-2.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-2.js
index 2730f012e3cae273111e549566d7087a91704572..93ea7c5ab7a8d743ba8c29c21e36e07266940bb6 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-2.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-2.js
@@ -39,4 +39,4 @@ function testcase() {
         return newInstance.hasOwnProperty("returnValue") && newInstance.returnValue === "abc" &&
             newInstance.hasOwnProperty("returnVerifyResult") && newInstance.returnVerifyResult === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-3.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-3.js
index d8954a7caaf59e73d0d0b9b52e44f7f1949c6cd2..b8b6c79bbcf527143d95e0e244b24c10216a58ea 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-3.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-3.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newInstance.valueOf() === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-4.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-4.js
index b2e356e34b8479b3ade756a89c0f0159a8b93d8f..833a57d8f5475d64dcaa6bb309180b0aa21057eb 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-4.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-4.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newInstance.valueOf() === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-5.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-5.js
index 09a776c7b009e9b5043a4097e01d7350790a8e02..42ee19b7c6942fd1110e4d92c79bc7612eb694d2 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-5.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-5.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Object.prototype.verifyThis;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-6.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-6.js
index 9f7db080b618a1ddc3e72b64a9a8dcd6faad8f05..bccc9c8f0a9d400af2f6bd6a013be383899834eb 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-6.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-6.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newInstance.valueOf() === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-7.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-7.js
index 215233e0683ab4cea006b1d2287e1e02d7192f75..cd3e3ea082e0f4bc2e591639d0bd65abd0f16243 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-7.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-7.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newInstance.valueOf() === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-8.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-8.js
index 17f98c17594e145a024118af9d868678741b9251..cc80daa49d4129e6d557b5781129b7297074389c 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-8.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-8.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newInstance.valueOf() === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-9.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-9.js
index b9502f17a6c52e2847d969e34eb9e4522c03d24b..4a1c6628f787352fa777bcbadc252e0359636d0e 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-9.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-9.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newInstance.valueOf() === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-1.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-1.js
index 92d631e5d235f7f73be9212456d3622b1799902c..93a58cdba48923b65e37dd2f9cb5fd699574a3cb 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-1.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-10-1.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-10-1.js
index 6f27c4a877e4e2de54e5e27e195d711336b1a59a..402d83aed5b02a6b224d265e821f63aa37229626 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-10-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-10-1.js
@@ -31,4 +31,4 @@ function testcase() {
         var obj = foo.bind({});
         return Object.prototype.toString.call(obj) === "[object Function]";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-11-1.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-11-1.js
index ea738206a981525be89fa44368203c2eaabc8874..86bb83015ef165285769e390c55b30dd56db2071 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-11-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-11-1.js
@@ -36,4 +36,4 @@ function testcase() {
             delete Function.prototype.property;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-1.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-1.js
index 868b3e29ab019bc3acb992d6bf08d01c157d0289..8a8c40879c7d2b266319f6e3cf945cf6081b13ad 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-1.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-2.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-2.js
index e7a7f8b8abc43829a0f502ee5c19ed71fb510164..ed191caa38bdfc99a4d3cd83572bfac31ee21fe4 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-2.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-2.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-3.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-3.js
index b33da58f1850e986510eb898d641358f4535f140..b074aef3260642d21c63e066940b73c0fa624ab8 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-3.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-3.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-4.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-4.js
index f114883e27423c65170ed161cdf0c6277c955a53..b84dffab7aa88c2f63adae20df8da3e1846ea738 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-4.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-4.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-5.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-5.js
index 3670ca6f50328e7831de8d38b00b738f24363541..3c1ac77097a7f84107af62f65bfa5cb90a3fd488 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-5.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-5.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-6.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-6.js
index d6b840a1cffbb07c234ceefa67c794c380723c32..1f57da76d9799e167c4a705de92bbdb64c411dd0 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-6.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-6.js
@@ -33,4 +33,4 @@ function testcase() {
         return true;
     }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-1.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-1.js
index f0b573e5a69db75e4986e1e78e81997f422ac97e..c2dc6e0f2f6c2a7c39bee2ed0379210c732183c1 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-1.js
@@ -36,4 +36,4 @@ function testcase() {
     return true;
   }    
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-2.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-2.js
index d292abc9c22b884f283459f11ada242a52469e0c..0a1ad18e086cd92da712b3477a550022f9198bb8 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-2.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-2.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-3.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-3.js
index a422557d0da697460ed8b94d5d75ef7d73419ea5..d633e272fdf8a6b2fb9534ba49faa42761165a50 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-3.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-3.js
@@ -35,4 +35,4 @@ function testcase() {
         canWritable = (obj.length === 100);
         return hasProperty && !canWritable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-4.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-4.js
index 08724ea40f2d235cdc96c8f86ef1eea341076f11..2838d7ffb2e6868183309d9bf40752c4f5fa183f 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-4.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-4.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return hasProperty && !canEnumerable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-5.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-5.js
index cced5dc518024487643bd009de6214de5c8e590f..200150bb5f11cd24b1a08e81ec5d6167a50c57e3 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-5.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-5.js
@@ -35,4 +35,4 @@ function testcase() {
         canConfigurable = !obj.hasOwnProperty("length");
         return hasProperty && !canConfigurable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-1.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-1.js
index 23c2b40d39a03e2db9d3457ecade5b64760ab14d..3bcc74ca6669d883d0c47143fd9d40c3ee2fe62c 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-1.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-2.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-2.js
index 5b8524133d8546a24c479b97580a5b238894cceb..a741772f6b91ee4d33962b5d3795b7b95bc4c85a 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-2.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-2.js
@@ -31,4 +31,4 @@ function testcase() {
         obj.property = 12;
         return obj.hasOwnProperty("property");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-1.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-1.js
index 53745b88c0e4bec91636068bbc18cbbf63381c67..d6110148993f29011a9f9a9eea1a76edfb8ef773 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-1.js
@@ -41,4 +41,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-10.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-10.js
index 6baaa4d306959924efac52d29abf178095fc2201..d28dc67124baeb64ade1762699decd14c03f02d3 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-10.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-10.js
@@ -29,4 +29,4 @@ function testcase() {
             return (e instanceof TypeError);
         } 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-11.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-11.js
index a7a46365fb7a7994c66d39f4165b51a409031a47..ac06512ee7d6700088712f1ebea25c3c0f734fcd 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-11.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-11.js
@@ -29,4 +29,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-12.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-12.js
index 8c3a1d974b847ace57b6bd9c52054613020cfed1..062eb85a98f4afbd2c7ec8f16f73237cb8203755 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-12.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-12.js
@@ -29,4 +29,4 @@ function testcase() {
             return (e instanceof TypeError);
         } 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-13.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-13.js
index 4de5104cefdad63d9f9de53c6132f5417883a823..f94ee9ae2647ab5d945d13a0506ad8f119b32e5d 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-13.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-13.js
@@ -29,4 +29,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-14.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-14.js
index 1e3b3045129aeec240d3635838757445d0cb8288..beb8b079aa5ce4d62c8d82b2b40befbf0c524662 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-14.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-14.js
@@ -29,4 +29,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-15.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-15.js
index 3b9b446a1475068f4c36b98e4dd8f1f39da576ae..e520101d230af79bbc59f6b1a92629fe915e6574 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-15.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-15.js
@@ -29,4 +29,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-16.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-16.js
index 47760ae8f569047c661bee2d4ea7917461cfdacd..3a0fd3ba83cc4a2058cb96a0195866b06091c945 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-16.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-16.js
@@ -30,4 +30,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-2.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-2.js
index bdf0854aa4aed103aad7ecaf0ec7329bbf5a5d83..baf0fd3cf986aba82dfa5356136e4400c29cdde2 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-2.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-2.js
@@ -41,4 +41,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-3.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-3.js
index 1fab87ee07877e506f2f185d39ebd0d1ab3032ea..25b2ba466bef9cc4e05fe1a291c728d0c4dc9d72 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-3.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-3.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-4.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-4.js
index 351b12feb2b9cbb7dd8acca442044bb2424f23be..750f7e79f8789752543804e45b4d1a6c0e5baadd 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-4.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-4.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-5.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-5.js
index 081a0d55212b3ff95b0eba1bcdca95396cb47f3e..f313f78c9f5caeeab8bd61e61b6bec9b6df87c60 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-5.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-5.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-6.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-6.js
index bfec9191dbd005b21e0554a1b799caffe4d4bbb8..6e1cb7f2ce79f115de3f59ed25ed4418682168c1 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-6.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-6.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-7.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-7.js
index 778b9912c182d76c03afcd3f18f07571b27d1a38..cd290b094130c6bd63b2ddd008e4192f8c204b70 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-7.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-7.js
@@ -36,4 +36,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-8.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-8.js
index f70cddcddaf1c2c2431430c6d8ff81f86ef40ec4..5b3e712d7b1450824fd1c825675f572d9dc20e99 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-8.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-8.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return a.prop === "verifyPropertyExist" && a[41] === 41 && a.length === 42;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-9.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-9.js
index faddd099f717d7a3776671b382e35954b0dbebf0..a12ce006a0bce1bea3c01afeba38b7fd4179ddc9 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-9.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-9.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-1.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-1.js
index 632c9878744a5a8ccb6ea214f6cfab504a403815..41cf5d1dd9cff9b713a36b7b230adb051dd751eb 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-1.js
@@ -30,4 +30,4 @@ function testcase() {
         var obj = foo.bind({});
         return obj.hasOwnProperty("caller");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-2.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-2.js
index 6d1529f492b95dba6773ae1ce19413ca93aee5c6..ec2144541d5112dd1c6c32d57ff2df849dc6dbb1 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-2.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-2.js
@@ -34,4 +34,4 @@ function testcase() {
             return (ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-3.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-3.js
index 69326559fa6de0fe76441380f7770cb84faa2ac4..fe70c47d792e6030a61607a11f7eea923fde508a 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-3.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-3.js
@@ -35,4 +35,4 @@ function testcase() {
             return (ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-4.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-4.js
index 25152e7af0e5cbd2143f6ab0c59a67b88a91da81..faaf6d99d2e23293b5cb6978a042bb0aeaf08e47 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-4.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-4.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return hasProperty && !canEnumerable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-5.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-5.js
index 3db2b7192589cf7f46f0ea736f9df15bda6c88f6..5e482de42e8219ae3efaba671434ad2d3e2835b6 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-5.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-5.js
@@ -35,4 +35,4 @@ function testcase() {
         canConfigurable = obj.hasOwnProperty("caller");
         return hasProperty && canConfigurable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-1.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-1.js
index 7697f1f236d12030fe232714d86485c62552a6e2..de9883b443d288c452642e2f980e4afe4d6e5762 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-1.js
@@ -30,4 +30,4 @@ function testcase() {
         var obj = foo.bind({});
         return obj.hasOwnProperty("arguments");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-2.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-2.js
index 092149712df5137a0faf5026771ae9435ceccd30..953fd5db57f9d8ad618814a6ec47dd187cb8bada 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-2.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-2.js
@@ -34,4 +34,4 @@ function testcase() {
             return (ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-3.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-3.js
index 3fea25c7f34fb4d632164da7fccf972368396037..5cab7bf262e6a317372b41e16ab44ed059381e32 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-3.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-3.js
@@ -35,4 +35,4 @@ function testcase() {
             return (ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-4.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-4.js
index 142f154a583ce3c457804cfe79bd552ca3f63684..c26fee2e1a3837528d61c9d21ee8ecbf2d5f0859 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-4.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-4.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return hasProperty && !canEnumerable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-5.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-5.js
index 79b3a2f93b5c8c9b93439d2607d7b841bd87e631..ce32886808c6c2d4d17ee0a58d7c107387bdbf4c 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-5.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-5.js
@@ -35,4 +35,4 @@ function testcase() {
         canConfigurable = !obj.hasOwnProperty("arguments");
         return hasProperty && !canConfigurable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-3-1.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-3-1.js
index 8670e0637769b6e0f9d0649fe72604ab5560d364..14bfe048b03c74b4e737398a56f4e0fcd458c6f8 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-3-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-3-1.js
@@ -34,4 +34,4 @@ function testcase() {
         var obj = foo.bind({}, "a", "b");
         return obj()==true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-1.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-1.js
index 26e3d103703e9133e84c397105d07a3f9fc67e3b..f221e15cf1925bc4fdaf121f1d0b7a2fb510eb39 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-1.js
@@ -32,4 +32,4 @@ function testcase() {
         obj.property = 12;
         return obj.property === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-10.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-10.js
index def0288395b497ffb3ebce12a1ef0a2f043f4f8e..de8ac924de311ed42e2e3ce2fd43032cbb2f2385 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-10.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-10.js
@@ -45,4 +45,4 @@ function testcase() {
             delete Function.prototype.property;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-11.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-11.js
index 08c28ebd0bb8725e7fb158e6f3e462ac30707e60..2cc7f976dba9354d55678791d0c965bd38d856b3 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-11.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-11.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Function.prototype.property;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-12.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-12.js
index 570b315757c87fd097f41565d6889519ea7faac3..9cefad0ea787218bd6b61915a2618fe68e1bc25f 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-12.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-12.js
@@ -31,4 +31,4 @@ function testcase() {
         var obj = foo.bind({});
         return typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-2.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-2.js
index f33595dc464eaa01bae9b5352f2a4949f34cf5a6..44623d6654a8cf71e0129cea6240e17004ce1288 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-2.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-2.js
@@ -36,4 +36,4 @@ function testcase() {
             delete Function.prototype.property;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-3.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-3.js
index db4f989755198e9758e14df2aeda68703216df91..0f74aa19c1c8fe7d984b19b1733c44816a423fbc 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-3.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-3.js
@@ -38,4 +38,4 @@ function testcase() {
             delete Function.prototype.property;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-4.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-4.js
index c0f25f5e1795d08dca6f03c66060547ba3d9cd2a..eb288bebe85dce835c04b1b3b07dbba54741507a 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-4.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-4.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Function.prototype.property;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-5.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-5.js
index 0aabc60d64d6b7ef0fcde2f8a3756cdc4f6e3963..00343805462cafafccdaa9e814ff6ac348cb3daf 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-5.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-5.js
@@ -36,4 +36,4 @@ function testcase() {
         });
         return obj.property === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-6.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-6.js
index 73e26915e6b84f7a604f40c46af733575c8ccd38..fb9b9ab2db062e3518060ac1b14b7f8f89df9f44 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-6.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-6.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Function.prototype.property;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-7.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-7.js
index 869c09689aa328224b1ad4212113ead8ad0a3afb..5dddf102855e8334babaf19772901278a9c50cfb 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-7.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-7.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Function.prototype.property;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-8.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-8.js
index de46dfcbb092b9cacfca75e723f4752d10964906..2cc9ce6bdd722714eec9b922ac2ca0f00aac87c6 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-8.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-8.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Function.prototype.property;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-9.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-9.js
index 745aee9b1826e2467d0eff67aabb180ad0a90c40..d614125ce1c3eaded5f2e29983c9744ec95dcda2 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-9.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-9.js
@@ -34,4 +34,4 @@ function testcase() {
         });
         return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-1.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-1.js
index 188cd540883c35a52e729cdaa61097f7073d76cd..48e6d568f69e5601cab541fe94760bf085dddb3b 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-1.js
@@ -33,4 +33,4 @@ function testcase() {
     return  true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-2.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-2.js
index 3427312b74d90dff5c5bb22c9b0d06bee4a40986..d0e40899671c89194e8338f34af8232967aae47d 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-2.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-2.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-1.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-1.js
index 9005f0d71756fcb2ba7106d3c3c99b9bf522762c..b77ffebc271047ba0e22c44cb6715db90e275e98 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-1.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-1.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-2.js b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-2.js
index a9b1273e70eff98aed9ef674144792759a4c5fb2..51d0d790c31c7b9059549c7ce897a4ebe683f521 100644
--- a/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-2.js
+++ b/test/suite/converted/chapter15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-2.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-1.js b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-1.js
index 189b2db7262dd0cf74760932cf0aaa5e382e54cf..abb39fe084a911ebda17b83ba08af1aa052a58cb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-3.js b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-3.js
index f7fb5837568f820c4a3d0b2a560fe536c24aa8b8..eccc7e303b77d28df5dc362140d53172b1521166 100644
--- a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-3.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-4.js b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-4.js
index 661d639192276cbb66152ccfd6babba951dde230..e7f1fa6560e2d53a88c0d353b217f03a54ddd420 100644
--- a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-4.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-5.js b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-5.js
index 9d036c63616af053d9cd6f247a85c55ae9d9a2a8..8b863b0ed3bd04bd652504af1118344f9141e184 100644
--- a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-5.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-6.js b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-6.js
index e435c57a01eaa525225fee6fcfedf0d6d7d6280f..60bd5b8c3f1d9d0c418f6b2dd47f63d16d32713e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-6.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-7.js b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-7.js
index 95c02d20a0e2cda41bf57702b12899662b49ed17..525c2a688ecd29866935922e30cee6654997c9ea 100644
--- a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-7.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-13.js b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-13.js
index 4bac7e6cb374731cfd1fe470312e2b4ebf1abf5d..c7d950fe3279e191a451b25b0df400005a127654 100644
--- a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-13.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return !Array.isArray(arg);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-1.js b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-1.js
index cf76d555deb7142d5d98e0a2570a21cdbace2073..ce79687b1588ef5e21522abb1341be0ed73e780e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-1.js
@@ -33,4 +33,4 @@ function testcase() {
         var child = new Con();
         return !Array.isArray(child);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-2.js b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-2.js
index 16d3bbffaaf2ef1f62d7d50b36c4ba1aaaee6dec..ce5ae19ee9bb04db02540f3a35ba52a8e57a30d8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-2.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return !Array.isArray(child);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.10/15.4.4.10-10-c-ii-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.10/15.4.4.10-10-c-ii-1.js
index 23a54aedb7e3088d9d8acf8756cacec77f850109..2cb500cd5d9d92ffe7fdf9a9366178f4154abe27 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.10/15.4.4.10-10-c-ii-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.10/15.4.4.10-10-c-ii-1.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.12/15.4.4.12-9-a-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.12/15.4.4.12-9-a-1.js
index b45f797d61ff5921bf01368afd4fc50e41f778b7..3c0be7da9345ae95e888b976803e0bcad7c53c70 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.12/15.4.4.12-9-a-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.12/15.4.4.12-9-a-1.js
@@ -29,4 +29,4 @@ function testcase() {
         var newArrObj = arrObj.splice(-2, 1);
         return newArrObj.length === 1 && newArrObj[0] === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.12/15.4.4.12-9-c-ii-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.12/15.4.4.12-9-c-ii-1.js
index 4f121258e37f413fc8a90f790a1bcde4b7052b6d..26ad84e307e3bd4e5c167d8bfc7ee5a1778b6b36 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.12/15.4.4.12-9-c-ii-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.12/15.4.4.12-9-c-ii-1.js
@@ -54,4 +54,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-1.js
index 206123423b8c4f302e99235aa2ddf10812147236..00b390bd9a14cd2ac1740c8e18c3ae0322076e71 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-1.js
index a5ad4ed82b171baaf57e3961c8985e01c4c648f1..1933534f15ad052f7d8fb0088e189f38379e6573 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-1.js
@@ -33,4 +33,4 @@ function testcase() {
      return e instanceof TypeError;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-10.js
index c329fd1a27d76140de5a82a36b91ef688ddb2c76..3508311d76834b2ef2f17a0ec7ef25ccd7b6a6c6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-10.js
@@ -34,4 +34,4 @@ function testcase() {
             delete Math.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-11.js
index c1da1fa963c57ad9b40e6b9b46eddd607d34c6ab..65e52ace2627a6b12f93a01ef0bef33881aa9ed3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-11.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-12.js
index e9e670f7e06d38b66789dd68ac0ff965f4f64531..0e803d17dac77ef74a45ebfb733aed16efdd5c2b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-12.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-13.js
index 53126bd39a09ace62f8bdba4c008b92ca5ea8170..1f8e92de68fb7c2cd0b1cc4a2153e6a74f4c952d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-13.js
@@ -35,4 +35,4 @@ function testcase() {
             delete JSON.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-14.js
index df34f0f620bc5c4fde540b53bdabd1305979ae9e..865bf35fd8e59dadd3390b68487da29d7b359240 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-14.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-15.js
index f4be43b55f836351e2458697f2832d7802d242b1..8212b3823bb013415aef8e6a9082dd1199600d10 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-15.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-17.js
index c63921066de4a1abfe494b5c855a573de7925e03..61e278c734eb55b831b17f3ab954eb282b1cbc43 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-17.js
@@ -35,4 +35,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-2.js
index 4b36b748348271866462408b8bad56054cee49d4..a14e2c4f560e07163ba5286817e01c4bdb750826 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-2.js
@@ -33,4 +33,4 @@ function testcase() {
      return e instanceof TypeError;
      }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-3.js
index 92245011fae2bcebd6ab44809853befb40f0f628..684323c9ea7ee0626cf2d7f527c4b7696ba66f0c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-3.js
@@ -36,4 +36,4 @@ function testcase() {
             delete Boolean.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-4.js
index 063987ec56cd2d267cdac3c68192a25cdfc2086f..ccfed8ac034a888862d936f2be475187036b89fa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-4.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-5.js
index 335f16c8e9f279dcbff135f3601abefbc80491f7..4613f45f8c526f65ccddef8a32f79fdf74410fb2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-5.js
@@ -36,4 +36,4 @@ function testcase() {
             delete Number.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-6.js
index 8ff575289d8d22e720132e8d602b3b8d21ff6d24..25e809a6c383aa74670e51626488d87f7d881b97 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-6.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-8.js
index 682f1ffd982894f9a956084c0bc97f042ad8b891..8e4e29104d06ddafa7b697fc803c88c905163ecb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-8.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, 'l') === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-9.js
index 096242e5fadcb9c6458c1ac3734a9eb9cd0fc9b0..17bb82245308e1f1afdea0a6898b1d5884f76cad 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-9.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-1.js
index e468df34798ebdbde6c09d9f8b66d4cbe343d11f..9923e75aa4c7dc2e68be34ba0ef57a9d7bf8dd93 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-1.js
@@ -49,4 +49,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-2.js
index 88dd11f133d70cc12c63761d19b3f85e0437dcd8..24e68e8587c5bfe362db048addd7c3d9a56db7a6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-2.js
@@ -36,4 +36,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-1.js
index 3f1d712aeb458f711d467ccaa966c6d4ee4863f1..d68a26d567b39e1d022c48f17542abbd9b439d98 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-1.js
@@ -30,4 +30,4 @@ function testcase() {
         return Array.prototype.indexOf.call(objOne, true) === 1 &&
             Array.prototype.indexOf.call(objTwo, true) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-10.js
index ade75c0104aac6127631d53ce054600d17c25b0f..848da479a1d5d32e99729adaa7c6b1cab5e5ba46 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-10.js
@@ -45,4 +45,4 @@ function testcase() {
         return Array.prototype.indexOf.call(childOne, true) === 1 &&
             Array.prototype.indexOf.call(childTwo, true) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-11.js
index 7d0ce3c07b0c284e7b61bd46c37427da5e4f1a44..c153d933f9a5c5f94604f5073ece02ac04a44849 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-11.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-12.js
index 0114d79e1b515c9e9f14b9d658576304654b7db5..c9a1415385745a0e4cc16bb73359ba6fcc0783b4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-12.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Object.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-13.js
index b2fe34440453d40253616408a8484e848588c512..1cce0b84fb3f63007289154aeae2bd9238b8cec3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-13.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(child, true) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-14.js
index 56f47ea8589f9432f01b12981469eb408b664912..85885252da71e455ec91a4f04282be6b299d906e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-14.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-15.js
index 421d963c20c521f0645166c260102d320523d954..77865240fe5a80d522c8b44dc37360e81d196814 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-15.js
@@ -45,4 +45,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-17.js
index 15e56d04c922cee3f8caecf2a8b15858a31f7af7..5dd502389ed382d4748e6c61686766513ce7cc0e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-17.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return func(0, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-18.js
index 75fa9004a10020d2db8a4c35624077845f87e3d6..6874ba39e8e4465c26fa47f992503d236b1d8436 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-18.js
@@ -34,4 +34,4 @@ function testcase() {
             delete String.prototype[3];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-19.js
index e80af16029b92375faad988b1967116cfc7e4649..e842da9a15925254299a846a47333f0604ef9c5e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-19.js
@@ -35,4 +35,4 @@ function testcase() {
         return Array.prototype.indexOf.call(obj, obj[1]) === 1 &&
             Array.prototype.indexOf.call(obj, obj[2]) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-2.js
index 8d3e7fb40a1a51f00dfa107375f4b21bf75f91bf..256c94ba305b7ffaeca3498cc37fc968ad8f43ca 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-2.js
@@ -36,4 +36,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-3.js
index 8f9d8751c3d4a9c4a47d2b633af4bb8166b4f3d1..92ebd3f64a9f02443bc506a2b81711632311b502 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-3.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(child, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-4.js
index f7e6e627969233f0e0d6f709b5387dd9648033fd..2f48b0ad0479e16d322e0dc2e58434c3d6e92ddd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-4.js
@@ -40,4 +40,4 @@ function testcase() {
             Array.prototype.length = arrProtoLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-5.js
index 3a8ddc423606c756910fe668edfb48de42e88fb6..54afb0664e4f3eb8f9c4383a1c2e8e82b3170c56 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-5.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(child, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-6.js
index 32d779a1633f267200785a3aa7cb6af152a4f29e..c2b9ee70c4a12dae0298196a1f5e077d79da6d53 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-6.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.indexOf.call(childOne, true) === 1 &&
             Array.prototype.indexOf.call(childTwo, true) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-7.js
index 1607eb3e21146991d7de67d8a8bfca95616e751d..5dc18f6448422c4264b6afa7efd509462211e4c0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-7.js
@@ -43,4 +43,4 @@ function testcase() {
         return Array.prototype.indexOf.call(objOne, true) === 1 &&
             Array.prototype.indexOf.call(objTwo, true) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-8.js
index f279172c4bb6c6405132c0afc891f5c2bb92309c..a9663bf34ca5328703ec69e49fc6edc32154d62e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-8.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(child, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-9.js
index b8bd985591d612661e300f1d0f751670efbc9019..119ce469f504fd57cac8b285ad40072511721093 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-9.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(child, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-1.js
index dc4a9ec0e399d838d946f7b2d6ac4c6e7259bfb3..f1c1ad128fba2c456ce2823caf26f8c3a00ba104 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-1.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, 1) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-10.js
index c05dedb89e48ef2b6447e3750fa050a7135a7ad5..d7f2dc56a6f132c05c4330f8756bd2b407495e02 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-10.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, 0) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-11.js
index c40ce97fd25acf3e7219f4fb9abba3b201c8e006..8de22493229690bf38eff3ab70aa99ceca5e165d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-11.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.indexOf.call(obj, 1) === 1 &&
         Array.prototype.indexOf.call(obj, 2) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-12.js
index 482cb1135004e167a8ee93b8a4e25d4f39a92824..da402662facb0bdcd63f8e8810e7d6cc453ad6da 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-12.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.indexOf.call(obj, "true") === 1 &&
         Array.prototype.indexOf.call(obj, "2") === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-13.js
index 65638454f4c38936ce96b77fddc164c9ac5e63cf..063aa2a1c0f9e27e2c7bdaf2adc1e15186675172 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-13.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.indexOf.call(obj, true) === 199 &&
             Array.prototype.indexOf.call(obj, "200.59") === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-14.js
index a012caa50dc9775a297bdf4824e7b0805a04b02f..d5232714a6a5de4539fda870a34e12b5b08ce1cd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-14.js
@@ -34,4 +34,4 @@ function testcase() {
             Array.prototype.indexOf.call(objTwo, true) === -1 &&
             Array.prototype.indexOf.call(objThree, true) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-15.js
index 9b5f4a47771437723f8e69da7e8748f51dbf7edd..72d33e7162aa03758de630e0bbc4fba29ed78773 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-15.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.indexOf.call(obj, true) === 1 &&
         Array.prototype.indexOf.call(obj, "2E0") === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-16.js
index 13fe30ebed8514ceb08557866cb7748dd5cb6f9a..9175a9c0d31495dcf236c23ff34f4d82022e3f40 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-16.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.indexOf.call(obj, true) === 10 &&
             Array.prototype.indexOf.call(obj, "0x00B") === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-17.js
index 50905cfa3034c5b4f8130764d04a57b974a2c81b..a702d6feb14b644fdf6011cef40604274fced5f0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-17.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.indexOf.call(obj, true) === 1 &&
             Array.prototype.indexOf.call(obj, "0002.0") === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-18.js
index 102975501a42f3f2da1ab9898944c27d983a3038..ff5ce13f744acfbb9e098d2d80f0c37c3de7659b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-18.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-19.js
index 9a904373f0091ab6f2221f3a2597ed56b63d4bac..4cb6340c1e036ec2ef9975c70a92b5e78a7d45de 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-19.js
@@ -46,4 +46,4 @@ function testcase() {
         return Array.prototype.indexOf.call(obj, true) === 1 &&
             Array.prototype.indexOf.call(obj, 2) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-2.js
index b73689ecd9bd434a68ce4fff7b5494ba98ae9f52..fbc6a174ce50cbde87ce2a56c8b91a29a45f2534 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-2.js
@@ -29,4 +29,4 @@ function testcase() {
         return Array.prototype.indexOf.call(obj, 0) === 0 &&
             Array.prototype.indexOf.call(obj, 1) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-20.js
index 5cc541e8a16826df98ae56dc27395a0ba4766ebb..e23b930a96249c91913f8eda3136e342eaa11260 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-20.js
@@ -40,4 +40,4 @@ function testcase() {
         return Array.prototype.indexOf.call(obj, true) === 1 &&
             Array.prototype.indexOf.call(obj, 2) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-21.js
index e7e439543a0ae99c0ccc3dd0e99d3a85522000f1..fc08bf643eac875a0df24f3a074bcd1cdda9bdb0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-21.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === 1 && toStringAccessed && valueOfAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-22.js
index 59518fe99f43b931aa10d6934e07608c8880ca25..409281a53cbe15218b1d9411473d4232d37bfff6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-22.js
@@ -50,4 +50,4 @@ function testcase() {
             return toStringAccessed && valueOfAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-23.js
index efe347e3eb0d25fef37248072a9a9e0ecffa4a33..b98027a457651e6f3b028f19d9c6e7d3552a6b71 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-23.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === 1 && valueOfAccessed && !toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-24.js
index d35fce86cf65940b33467dc4df4bf896dbc26c6f..f94a9b8b6aca61b1c2da9832e8fa1b4f976ad7f8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-24.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.indexOf.call(obj, true) === 122 &&
         Array.prototype.indexOf.call(obj, false) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-25.js
index 7d81305d03e478440839211e85d4b2ccf374dccb..0b32e8cec5eca759bcba6fd9dbce143fd8f44f8f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-25.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.indexOf.call(obj, true) === 1 &&
         Array.prototype.indexOf.call(obj, false) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-28.js
index ba3947323ef2b8d7459cd6557bddeaf421fe73d3..cf89d9ce4534d5164aefb27e4bc1356163599b9a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-28.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, targetObj) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-29.js
index ac762d23548db4fa186d56a0e25d2394c70cef5c..50cb1bc8b89fbd3d7bff258881dca796214a4340 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-29.js
@@ -35,4 +35,4 @@ function testcase() {
         return Array.prototype.indexOf.call(obj, targetObj) === 0 &&
             Array.prototype.indexOf.call(obj, 4294967297) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-3.js
index 5620d1b316e15bfe603d394570c0ca57a3711e70..7d0609c13c9978048988e0bd9b6f61176b9ebfc2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-3.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-4.js
index 6cbe35c424bd8007d15ce06af3f47a1c45075120..2e8b1ed23a5ffae0998c379632355d9b92dcd281 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-4.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-5.js
index d8bfa020a2f53ee5827c61c0b7d35ba08ab785ab..bd8f5f2a25d3d43b6f6b7922d2dbf83944f1a377 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-5.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-6.js
index 852921feef9faf3df70ba76fe6245fafb483a6fa..f7e15bbfa0562c1fc7f98bd5e9910e285f64970d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-6.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.indexOf.call(obj, true) === 3 &&
             Array.prototype.indexOf.call(obj, false) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-7.js
index 9931bb93bb3717dcbfec50433f756b7eea1540ae..8be6f09e8dffc02e81863e3ad70d74bab2be3a03 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-7.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.indexOf.call(obj, true) === 4 &&
             Array.prototype.indexOf.call(obj, false) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-8.js
index e23e266ff693da8c4c32f806ef4a0ae7205ab03f..4aecfc63375d7b97327b31012f1979b38fd7fd86 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-8.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, 0) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-9.js
index bdf2714cfcc4831a16e08754317a4f572317a2a5..d51a4f84f263b5d390eecaca1c851df8f90c2e62 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-9.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, 0) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-1.js
index 9de60042a2541f786172ef980400ddb9ba387c8b..52fdccfd9b398ee47009421f5d7caaee7cc15bfa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-10.js
index a312ff7e4b24af30345c8455d56eb4dbe8a760ea..a5c0647f48010bfeab97488558873d6b5e537837 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-10.js
@@ -29,4 +29,4 @@ function testcase() {
         var obj = { 0: targetObj, 100: targetObj, length: -6e-1 };
         return Array.prototype.indexOf.call(obj, targetObj) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-11.js
index fc981b2cf6a3e75ce0ae8a1f6852bc48ce3bd0a9..27e78ac9f49eaa5f2e0e58853ba172cf49027b17 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-11.js
@@ -29,4 +29,4 @@ function testcase() {
         var obj = { 0: targetObj, 100: targetObj, length: "" };
         return Array.prototype.indexOf.call(obj, targetObj) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-2.js
index a67a201397f7c820eda339809cdd38071c0cec7b..68cf77a1d1eee810233334204d28c3f0706dc2b9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-2.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-3.js
index d448fc3e9bd56ecb3ecf5bfc81bcaff3623877fd..4594fd7a80ef9e90f2e5164b825645ff6eb4d3a4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-3.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-4.js
index 2c13af67b32ac6d0b547367b0918cf2ef1209633..46905053a7ea75f84977173f2dc6d44a1d16ddd1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-4.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-5.js
index 609217f806f489496527f5932f169be9da2bf250..cc5267d3535e2996d245692994a17bd2b9df6e2d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-5.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-6.js
index 1ac54ac66a5a63fec069ab3cb10345f8143c176f..a0f971423fb24d9eaee2062bb48f1001c9e1fd14 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-6.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-7.js
index e702b63b1df6f585208272455b878accc5af9fea..191bf8d883232bd202f9f0ff2ef2fa29224f46b8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-7.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-8.js
index ccb3914719698fe4d46587563f968dc638a169cd..a1d7e992d7287ee56b90eff05bbe51981bcc18dd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-8.js
@@ -46,4 +46,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-9.js
index 152dd9e4c185c03e21e75ccfc39bc8ec6875d944..2602596f7debe861c65951dd2225a7b6d03311d0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-9.js
@@ -29,4 +29,4 @@ function testcase() {
         var obj = { 0: targetObj, 100: targetObj, length: 0.1 };
         return Array.prototype.indexOf.call(obj, targetObj) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-1.js
index 97d1765f41135198b410dd3b542dfdd45b550265..a61736bc0b177d963116c25da054b0eba1152814 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-1.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-10.js
index b4f7e896713ae377ee73965a41db126005c384d0..94a7fb74b10f212c5c4845cffc39e0845656f097 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-10.js
@@ -29,4 +29,4 @@ function testcase() {
         return [0, targetObj, 2].indexOf(targetObj, 2) === -1 &&
             [0, 1, targetObj].indexOf(targetObj, 2) === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-11.js
index 276176fd404c03358944a6797a0463d5a5f8a239..19053758e63eb8748c271153ad3363d4218992e5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-11.js
@@ -29,4 +29,4 @@ function testcase() {
         return [0, targetObj, 2].indexOf(targetObj, -1) === -1 &&
             [0, 1, targetObj].indexOf(targetObj, -1) === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-12.js
index 108fd425300039252fb4a2513b4a68a82a5c75a9..4524859a950259f07bbc704010a0576b02f9713a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-12.js
@@ -29,4 +29,4 @@ function testcase() {
         arr[Math.pow(2, 32) - 2] = true; //length is the max value of Uint type
         return arr.indexOf(true, Infinity) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-16.js
index 61c9fc091bb98ee78d92b3c28eabb5c3dbd3b31e..577c540de3ede029d09f8d5e201ac65992bd5f5f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-16.js
@@ -29,4 +29,4 @@ function testcase() {
         arr[Math.pow(2, 32) - 2] = true; //length is the max value of Uint type
         return arr.indexOf(true, "Infinity") === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-18.js
index 4815725f720c3c485eba79c35d374d1914449be5..b474b80ec2eab8012aeb6b3f0b3970b3bfe450af 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-18.js
@@ -29,4 +29,4 @@ function testcase() {
         return [0, 1, targetObj, 3, 4].indexOf(targetObj, "3E0") === -1 &&
             [0, 1, 2, targetObj, 4].indexOf(targetObj, "3E0") === 3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-19.js
index 63b067148f5757ca637538cd38a201265ad8588f..157de165af101dd27e1ba0e587993d9cfd674a0a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-19.js
@@ -29,4 +29,4 @@ function testcase() {
         return [0, 1, targetObj, 3, 4].indexOf(targetObj, "0x0003") === -1 &&
             [0, 1, 2, targetObj, 4].indexOf(targetObj, "0x0003") === 3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-2.js
index d1a63adc17a2e16eabdde860eab5415561ad2d99..45f3f8e73442c67c83f501b1570e9cb6cf982e38 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-2.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-20.js
index 50dc333962917072d9a6ccbb0948cca6499733c5..10bda1a7e17eb2819c9c13b7dd650a23b7e805ca 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-20.js
@@ -29,4 +29,4 @@ function testcase() {
         return [0, 1, targetObj, 3, 4].indexOf(targetObj, "0003.10") === -1 &&
             [0, 1, 2, targetObj, 4].indexOf(targetObj, "0003.10") === 3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-21.js
index a93c1a3a332e78fcbcefd7425cd32b4d7d38ddb1..19b466524dd68912f0bb1654db5784453dfbe5ac 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-21.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return [0, true].indexOf(true, fromIndex) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-22.js
index e50035306b737d1eaa077206a966eb89473c547d..be905dc10fe03265bf2c1525e1cd0acc02cdfe28 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-22.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [0, true].indexOf(true, fromIndex) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-23.js
index 3222f46bf72be7e21005407af0058d62511aa937..0580b06b37e93e407400b96ca1e3f2e1f532790b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-23.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return [0, true].indexOf(true, fromIndex) === 1 && toStringAccessed && valueOfAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-24.js
index 332e8f6a581709a49de2bc21ed47125867ccbce8..82e994155b09dae7123e5d37f1840bdbe14034fe 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-24.js
@@ -47,4 +47,4 @@ function testcase() {
             return toStringAccessed && valueOfAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-25.js
index 00297501c5f4265b9ed0bb932c7b7f3b1895640c..a130e4775de8de2121f34dc43582a0c5b9fec1dd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-25.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return [0, true].indexOf(true, child) === 1 && valueOfAccessed && !toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-26.js
index 10a4127a48029564eda9c9fa37f975bc5ce40af3..5b343017dd5b58b973b3c990e0f0c36ef406a2fd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-26.js
@@ -55,4 +55,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-27.js
index f0f9fe34b02f379b7a80b2a321306022a61bd907..47d7cb325ac8d8154953ef1b57f0c18c653eabe6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-27.js
@@ -59,4 +59,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-28.js
index 08aaccffbb25e959079f3b3bcd3e8cc47e7b1a80..dc4b96b9d83f9cf1498e3a0781c06e08091ddfc7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-28.js
@@ -41,4 +41,4 @@ function testcase() {
             return (e instanceof TypeError) && !stepFiveOccurs;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-29.js
index 569f771480dde08a8b845fce43eccf673a0175b0..a123019371a0f19a8fec85201c6d98d172cf80dd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-29.js
@@ -50,4 +50,4 @@ function testcase() {
             return (e instanceof RangeError) && !stepFiveOccurs;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-3.js
index eb46870aa860a9359e8f1d27d534eb6cab4f9c7b..65abdc27d08dc5607de6745124cd928692d20a20 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-3.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-30.js
index d49c1c7118baf6610fb4fffc0f39bc2d75378f19..69a617a34576f3cd73d3b13c9f81fd1b7dbdbb88 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-30.js
@@ -54,4 +54,4 @@ function testcase() {
             return (e instanceof TypeError) && !stepFiveOccurs;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-31.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-31.js
index 1255a1545f0bbcd46fb1c3381ecdca3839a8a422..13f424c053671c34eb42fb55b65e41d9bcde4fb2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-31.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-31.js
@@ -29,4 +29,4 @@ function testcase() {
         return [0, targetObj, 2].indexOf(targetObj, 2.5) === -1 &&
             [0, 1, targetObj].indexOf(targetObj, 2.5) === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-32.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-32.js
index 37cf9dbda0919d095baeb8f9c78a8b8b57fdae59..6d6c34b7766b25cce60e1474725074f15f45d848 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-32.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-32.js
@@ -29,4 +29,4 @@ function testcase() {
         return [0, targetObj, 2].indexOf(targetObj, -1.5) === -1 &&
             [0, 1, targetObj].indexOf(targetObj, -1.5) === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-4.js
index 74d6542fd3d7d99e1ba3513326d6ba3782c19ddd..b86556efe1b1c75f6fa61a7f0c22b4f47f188e98 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-4.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-5.js
index 2d3f109d17e0ce39ca3b5138d89e3fce04616200..800c2359652aa2d17acafcbf1e1acabb3880e15d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-5.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-6.js
index 18b13554779cc73daf85464282ccde8f16524951..ef24539e0c51d52f82c0c666ae044f53343d0f96 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-6.js
@@ -31,4 +31,4 @@ function testcase() {
             arr.indexOf(2) === arr.indexOf(2, 0) &&
             arr.indexOf(4) === arr.indexOf(4, 0); 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-6-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-6-1.js
index 3f5f1f13596fd4cf2310f0a54ffa85e8f9c3e96d..a02d9f8c0612b549d344b4e0c5710391520dbf2d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-6-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-6-1.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-1.js
index bf9205d7c8ddbb3aebc879786c9b910a8a053794..21e95fc3e16e9bf84ab1e898326fdf1de84bf545 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-1.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-1.js
index 8169936d1186b2883d4c3cfd4e725a80dd1b08ee..55e00eae702479f1e6fc0ec7516fd83b795bd91b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-1.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-10.js
index 6770095a6ce17700f2f6669686ff488218b3d3b3..f6a1a30130a5ef5e564aaff8a11bb834376005f1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-10.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-11.js
index 52891da3b91aef0bd93b466c0cab81b104dae8af..8babda142129063a376a1a3aadf8de69eefd09d5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-11.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return arr.indexOf(1) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-2.js
index b833788a256a12bc5750d337935a1e5387de8d34..875ccf34037d96fab9aa96ac9114d49d40563d85 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-2.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-3.js
index 1d08ee4801fb4bdcddf07e34eac5950e721c8255..a850ac7ae803b3446bdf3c11e23f78b45889c42d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-3.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-4.js
index a27c148916cdbf775042015f404de064de692ef5..345e64b3f55a0d6f756463776989dcb381ff2bd9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-4.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-5.js
index 50e54cb6b2ac184ed68cd33b69a5c1fc6f34d870..07adf941c6f7f0d186fed4aa568c48388a35f954 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-5.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-6.js
index 65d84a0646893d84f7c11ca34fe28c7556a2566c..13bc4666af7bb50d95e7c82d1e1c8977dc228630 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-6.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-7.js
index eab9857bd131abd7e396d46de5c7cdabdd323a80..6146993122721fd0908d91e521504ee9483c1fde 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-7.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-8.js
index f092f27db5c271fda2bdad3fe62b4aa43edbdfc3..2d1ea7992af478362872d4e1a3bbdeff57929fa4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-8.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-9.js
index 97a2e94ad3d0663f85e9a522e839aac5351e9e25..31b446ef67d7c4e8ff98bd8daddd50923197a5d4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-9.js
@@ -37,4 +37,4 @@ function testcase() {
       a.indexOf(4,4294967290) === -1 &&  
       a.indexOf(5,4294967290) === -1   ) ;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-1.js
index ef4169a3608964cce961efa9c9233fb7d44320f8..bcd0d1e29691ae6e48c86eaa2ca8aaa1fee2b2da 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-1.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return 2 === Array.prototype.indexOf.call(arr, "length");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-10.js
index bfff241d3917d229293cb4a8b9d1aad8a92a3f6b..76ede9259c2f2233e6c276374414825d2cbda1ae 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-10.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-11.js
index 1599c3d8de88c7c01d2d7e597c1960290d919e04..d21b445afb000eb495400aa8d18b324e08a8cf3d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-11.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return -1 === Array.prototype.indexOf.call(arr, 6.99);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-12.js
index 733e1d09206960cdda1918c1786d8a9bb6ed6bb2..997864af91bf98c09adbf463735806110653e604 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-12.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return -1 === arr.indexOf("6.99");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-13.js
index c7eddf3e8ba3ad31b48f1d5fb4c179559b3568dd..63144da81da058182ac3924b83b95c38edac522e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-13.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-14.js
index 9f03ae6cf14ed6d9d1a6b756531100e34e68f686..34a293fa839215b4fca501caa9c197bae48854ad 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-14.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-15.js
index 4fafa9046ee10037f2c2010487797a4874372ee8..3459e5c6a465b9c0c45f32d8644c3c02264ffa9c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-15.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-16.js
index 4487ec976f70e3754c29610ebb2ab91110910607..9d5b1d12318d1b811b58eb7065f1b7a16eed8193 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-16.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-17.js
index 23738effc8665aa749e07b0a9043b8df28b38ada..c742991922b583c2c3f758c6dbafcce4d1aa6e61 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-17.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return -1 === arr.indexOf("last");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-18.js
index 346abba96ab93e72b758db95320aa0a1f2661bf1..3a18cbc414d3fd494d91d498a6e040e7ec8d9e17 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-18.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-19.js
index dbc31aea85399c5feb7ad5eff7577f140cdb162a..8d251a97168566724217fe477ed9743f4afa2af2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-19.js
@@ -45,4 +45,4 @@ function testcase() {
         
         return 2 === arr.indexOf("unconfigurable");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-2.js
index c989220e39476c2c9fc4436162829ee5838a3d9e..c04782d830e2ae9c9e34ff872a5623f8fcbf3338 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-2.js
@@ -38,4 +38,4 @@ function testcase() {
         
         return 4 === Array.prototype.indexOf.call(arr, targetObj, fromIndex);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-3.js
index dbba2775bd4799ea9eb8944dcff189f9cdcf0072..6f13fa103fa682e1561f83feeaa4152b2f59363e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-3.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return 4 === arr.indexOf(targetObj, fromIndex);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-4.js
index 6619203a4236a89cd45b559e44d9896d8b72611d..3097ac649d5c99a021a82d57323e5f3d8ffa4b72 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-4.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return -1 === Array.prototype.indexOf.call(arr, 6.99);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-5.js
index 95e8bd8a66ec2de1f37422ee149a1180d28e0b80..ceb7c7b04d4f0cbedf476e1a0430172dd4de4abc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-5.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return -1 === Array.prototype.indexOf.call(arr, false, fromIndex);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-6.js
index 7a893845fc83bc499070514301ef13aa061a5b2e..737cf00454dfc9aae4206e9769eab94ec9b99225 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-6.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return -1 === arr.indexOf("10", fromIndex);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-7.js
index 434705546b470d37ff7701219fdc739e297dda50..daa83c0d368bd7c00a59db5feac939930d93b097 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-7.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(arr, 1) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-8.js
index aa8b13d5529e19547e4179b13b24e9f8d6292f1c..7e69fb88853979e70d4ba40ee3febc9781e4063f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-8.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return arr.indexOf(1) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-9.js
index 8dd9c2bafaa189b0a484ab808a677a5496ec6b74..c3fed464d5e6c34bbe7542a17d914bd2b0a43607 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-9.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-1.js
index 893ed6a3f3425fce2f4fc0b2dd85a6293f4bc52e..28f9d486e148bb35c2da94cf6bac16a490f391aa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-1.js
@@ -30,4 +30,4 @@ function testcase() {
             Array.prototype.indexOf.call(obj, 1) === 1 &&
             Array.prototype.indexOf.call(obj, 2) === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-10.js
index 35909d86ccfdd996fb6d508a62227f927f7eb5ff..686633a6e9aefaa96cf62dc1226b420b1ae37aad 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-10.js
@@ -52,4 +52,4 @@ function testcase() {
             1 === Array.prototype.indexOf.call(obj, 1) &&
             2 === Array.prototype.indexOf.call(obj, 2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-11.js
index 0acd7d62f43872bb6a1683ab18d6955146d4b044..e6c960ba9f8fdc2e9bb43bf52e8d5a7c0544ecb4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-11.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-12.js
index a475d9e23091df0fcf52e53fde7a7469bf53a480..71889474dfd0583b8f029a49911710922d024438 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-12.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Object.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-13.js
index 60337597aafbbebd3f682ee0237bc041ac2ad64b..b2b1ce629aa046fd91141f50050842657a36a527 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-13.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-14.js
index 6d23a5f037cd4d8c46a38716f17f4d2dbb5d6a35..89b9046ef118c9ce19dd533a29e49be6594e7518 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-14.js
@@ -48,4 +48,4 @@ function testcase() {
             delete Object.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-15.js
index e71496e44fe4818c4a2208b02205df7de8b15b6b..bfab88cec927cb9a65db1adc24dc07dde148b307 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-15.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-16.js
index 548dd9eeb9ce8c63c264a1400a4025cc875a4ee2..eded11af143fcad841dd9b99e67eca4de69524d9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-16.js
@@ -57,4 +57,4 @@ function testcase() {
             delete Object.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-17.js
index 28c2918b8ccd5ce87fd02816c678ef230a01245a..7747749bc6b4b2b7853f6959101bcfcdebc064aa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-17.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return arr.indexOf(undefined) === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-18.js
index 3cdb5f04b0f20e73f47a0187843f053dd3ccad87..c72ad851ec5f69c7408457487671df35bd1ddffe 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-18.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return 0 === Array.prototype.indexOf.call(obj, undefined);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-19.js
index 752c0c8a79ce86a6ec4ffb74424f698c5e8ff2dd..70ccddc8b1fcd9f774ac91c2b1a69703e65c5b10 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-19.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-20.js
index f606621be7eb9cff1da2a2000846fca7559e7e6d..0e399f4a9075913f04263232a639f8c0f6bf5e67 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-20.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(child, undefined) === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-21.js
index 81f426e4fa5886fdd69dbd55fd3d2123b243e96d..eceb98dd76cbf773643a95ada6143974d689b781 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-21.js
@@ -35,4 +35,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-22.js
index 3ac1e5087b6c8786b3875068825d96a57793f40d..5043c3e5a3cbd4cc2d98b36f71c8d30351c0a2d3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-22.js
@@ -36,4 +36,4 @@ function testcase() {
             delete Object.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-23.js
index f658db2f3d1e38bb8345fbef219f7295deb86d56..142eb80a59ea3b956cf7ebf7c659f42f5c66c355 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-23.js
@@ -43,4 +43,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-25.js
index 3b76fb0256630c1a869a4d1102b10957dc08aec9..ef41368235df033d09ae34ed4b4f99147665dd21 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-25.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return func(true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-26.js
index 8df10ae065165cb218c3db32a23b10b66e3f0aca..f8d2f37aac32c3def4f5849d26f2b04d91676c8c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-26.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return func(0, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-27.js
index 1d4cc04eecb4fb93d816cb231510e7be3c19c76c..d780e1e508df99a47d451b9fb2208f0163ad38da 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-27.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return func(0, false, 0, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-28.js
index fc53f4e2618afe1222df368a941171c2dd2313e2..08f6107a18181d4736b1e51c8548102ac9132fb1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-28.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return arr.indexOf(true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-29.js
index 61c83785ed92e67891c9645c6a785d8cbeb7db94..8ab46a41568eb371367ae5cd930e3a2ff3b3e6f5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-29.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return Array.prototype.indexOf.call(obj, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-3.js
index b8b922d9645a8d4b5c60096182b884f4bdbeb73f..e90615b77d262b1bd30f59100930e43cc1effc32 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-3.js
@@ -32,4 +32,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-30.js
index 9370005364bb430b9534d1b3aab0b7b97f3a3fc7..888d25a9753ec45b69244d4514e1afeaf05d72a2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-30.js
@@ -51,4 +51,4 @@ function testcase() {
             return (e instanceof TypeError) && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-31.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-31.js
index b7ea56c302ee083a148d0767e96c0a949473a373..602d74ded89938c34f268642bd70617b8f467a8c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-31.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-31.js
@@ -52,4 +52,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-4.js
index 24c16dfb41c1357f8d5a04ca169860398d9bae10..2cacb39ce56fc3e9e794f136efe2d1b501fca445 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-4.js
@@ -33,4 +33,4 @@ function testcase() {
             delete Object.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-5.js
index cc8b5b81ad3f4e320435477b577ad6283b7ff92c..1f45ff59d9b44a70c9656a562559172c86e8a2aa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-5.js
@@ -37,4 +37,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-6.js
index c6d68f21139db321ce0977ed6dd85131696813b0..9bca9e0cdb1a5101eeac1eb7f2fc2d1194575ee2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-6.js
@@ -38,4 +38,4 @@ function testcase() {
             delete Object.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-7.js
index 5bd109308138e18eb2dfafbbf4bcd569808f267a..8409fe13a69f3167d2b6b8d9f4490eace2cfc33f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-7.js
@@ -38,4 +38,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-8.js
index 2637e7691dfb91501c8d2dd12f29cc139aff7918..8deba5e7beb55114348004948f7333f29df4db1d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-8.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Object.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-9.js
index 34623be8ebebdab25d434461ef5100b390a4e4a5..60634a5db0f10e6edf1f912880db13d250760774 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-9.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return arr.indexOf(0) === 0 && arr.indexOf(1) === 1 && arr.indexOf(2) === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-11.js
index fb8bccb57d4b3823feb0dc8310925d732ce2c498..345bc517c7c3c878a67e3b0092a1628d115e7bba 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-11.js
@@ -31,4 +31,4 @@ function testcase() {
         var obj3 = obj2;
         return [{}, obj1, obj2].indexOf(obj3) === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-2.js
index 8ea286eecc7b657330b396a6efefe5cfb972d7c3..5fa9c91762353dabd3d376415b9460a3091ee2e7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-2.js
@@ -47,4 +47,4 @@ function testcase() {
         arr.indexOf(2);
         return !elementThirdAccessed && !elementFifthAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-1.js
index 9d7b50c9bf3f7094120f147f761a3cda5abf109c..77fbf25b8e517f7662f9f940d6fa8fb7d4f60300 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-1.js
index 019535ed5550b5c8faedf7490e8a42bee0728698..1a617ccc47e7dab8a4494249faf5b94f3c0e8d48 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-1.js
@@ -35,4 +35,4 @@ function testcase() {
             }
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-10.js
index 4c6aae106c5714e31b8bf5dba210cc8517f341ff..a4fe1739dc71126ca684860ba136cc632cbd680b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-10.js
@@ -35,4 +35,4 @@ function testcase() {
             delete Math[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-11.js
index aeced34bb2bd6f45bddfe336afc0baa58b4d7e96..764a4d569c2a615e57b2d76ad28a1c0015d1c8cd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-11.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-12.js
index c4f31e00bfdafc11b38aec57b78968f865a0443a..72531e4e6d415d79928f783f0559cb655fdce637 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-12.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, "afdasf") === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-13.js
index 3f046b3915a2c5e30840facff75a872ece7ec572..21ff6d0483f171242cb74be1dfd5f4444d8825fb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-13.js
@@ -36,4 +36,4 @@ function testcase() {
             delete JSON.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-14.js
index d52662a31dcb939bf0dc96d5737dfe8f30edbb24..d31d90114456d990d77feb63de849091cdc52d38 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-14.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, Infinity) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-15.js
index 56f02664ada0656ee77d1b308720bd6f109ef3e4..49b87e954daca24a630a42ca1ad76a7877e1a025 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-15.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, 2) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-17.js
index b2b5c157e86e7e96817d3b54732dfaf01562276a..24e524c94350203753ab55ed8c37bebafb1af1ae 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-17.js
@@ -36,4 +36,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-2.js
index 79f84164f4037f0b2bc4f9967b24f77c29076517..58c420daad79649aebfa307a3b7969e659415f93 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-2.js
@@ -35,4 +35,4 @@ function testcase() {
             }
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-3.js
index 53dbf11b51f9512614c4354c3c2b492b5ac2b540..af3b883aac0b1634af335e305e9ebb1db11d8195 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-3.js
@@ -36,4 +36,4 @@ function testcase() {
             delete Boolean.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-4.js
index ac0fa0a69cb2eb6606153696708128210fc2555e..0ef9fc707de42de485dc0df8f94b6fbcad8101e3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-4.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-5.js
index 2b5cfaf724c0a54ebfe006b146b8737dfdb5408a..5ced68a31f6950e789d1adb7846989e061b2945b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-5.js
@@ -35,4 +35,4 @@ function testcase() {
                 delete Number.prototype.length;
             }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-6.js
index 0f5c115daec3712ff444be7b0e52fdc963fbfe7d..8513876821a064f96ece36ee5d149024826dbfde 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-6.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-8.js
index 4fac6eb8ce4babde9d831a3648fdf35c4a6a4f67..b744c9c20381218588d4c494f1d7f537b2de94ca 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-8.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, "f") === 4;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-9.js
index 3f951477245e845e8b1f80ea1e3753e795ab8eae..7a7280831f63847ae8ceeca08ee82a3e59dcbdba 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-9.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-1.js
index 467d62a927eb1eeeda4a0593e6c32c90130337c0..709210e9d4acc71cca5747433f2f6329fc5344cf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-1.js
@@ -30,4 +30,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, null) === 1 &&
             Array.prototype.lastIndexOf.call(obj, undefined) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-10.js
index 088abd765dff8e90c4ff27db62c3b9b67ca15641..7bdbb9f05c4a6d59ebc5a41fcbbca04d939014a1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-10.js
@@ -44,4 +44,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(child, 1) === 1 &&
             Array.prototype.lastIndexOf.call(child, 2) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-11.js
index 58b5b84763327eb1dbe73d3d0d93bdd1623a21e1..7331cc828371e4bbc75b553ff15b886a55aeed9b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-11.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, 1) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-12.js
index 4387a4ffe2d09ba476dd86dd9d34e8a0cea22ecc..29ed3c752fb151a23c251576076f18922b04066c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-12.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Object.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-13.js
index ae4621285908ea57aac1de5c7636748efcd88fe0..1508f7f1e9c26ad1480e540a294c25cc6d0d1c23 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-13.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(child, true) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-14.js
index c4fc71d66f6ad09df2214ed78579aeebd0a9d855..47612ebf37376357c238830485eae9ede34c4aa1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-14.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, null) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-15.js
index 9f1d296a034b77ddc4705747db75b09d8a97749b..7859d17a6acd0571b9dbd79c792f998c52491543 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-15.js
@@ -45,4 +45,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-17.js
index 862f5e89dce631df93988c9a4267dc4e4facb203..96095e2eff8fac1f3cc710244d023c98ef8f77b8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-17.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return func(0, targetObj);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-18.js
index 035a0ecca672abee80f449c1a28bd39aceb75e9d..531061a7ec31eb370f9040be103587f742f6ed3a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-18.js
@@ -35,4 +35,4 @@ function testcase() {
             delete String.prototype[3];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-19.js
index 26b4a7ad335974ff9639efcde5aa9e197e132380..ea1329cda1556434fc86a0cbfbc2cf2c358d5de8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-19.js
@@ -35,4 +35,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, obj[1]) === 1 &&
             Array.prototype.lastIndexOf.call(obj, obj[2]) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-2.js
index dee8cf8344b19fcc4102cc6d41de5bd29e3b561a..6ce3050775e7b39c99a7fd065bb938a0cdce888d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-2.js
@@ -35,4 +35,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-3.js
index 7508ae8f245e0c91ab262af173565df192c95af4..8ba901c1a0e4841a9e79d7690e3eb29d49cf4b99 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-3.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(child, child) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-4.js
index 9fca795ec3223f168db1be245e418071146b6756..47a7fff60c09e664804fb538f7a0f4432b5376b7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-4.js
@@ -36,4 +36,4 @@ function testcase() {
             Array.prototype.length = arrProtoLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-5.js
index 12d21093f3646ced2d00a39a6bebc3eeb7093be4..0b0a942006d808ab1f8a5b2130d8ed0be83e3b52 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-5.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(child, null) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-6.js
index 9e62ebfc1f57423309b5ffc3d7247f3b1665c5ee..8d21a8ae57f4bfb7c6e2399e8969cccdc2feb1f7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-6.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(child, "x") === 1 &&
              Array.prototype.lastIndexOf.call(child, "y") === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-7.js
index 57d96ad158285e315c275d2060b8de3aed3f0e35..09d0e44f7d1e50df044aef86d009326c36e9df94 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-7.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, true) === 1 &&
             Array.prototype.lastIndexOf.call(obj, false) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-8.js
index 520de05658d9254c361b89bf487af09516bdca17..9e312e7c0eeaaf6003fbb42046c6aa55fd8ef161 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-8.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(child, eval) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-9.js
index 506640a019c7f99c386b718b7506a285607f2c22..0b7e5187210e2ff35e9e789f1c4ee23819283599 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-9.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(child, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-1.js
index 8cc47df6e002a36f3f5f8a054c8bfdb2cc3b740b..74e91efdb461a52e2dde1b4cbec6ef8d6ae8d70f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-1.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, 1) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-10.js
index 35bdb32c75cb6bc6d94f9eb34882a0e5d07e77c8..d27ce1a4394ce3a60b396a881f0d707b2fd8093f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-10.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, 0) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-11.js
index cfddb551b8f1c8c59d09c1a9dd6e9f0a39eb6df0..1ba064dd55ee7b91e542f50f40ffa6e63027d19b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-11.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, true) === 1 &&
             Array.prototype.lastIndexOf.call(obj, false) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-12.js
index bea788f777e8bcf9924a8abc5bc67694e343adc5..863d029c80407bb6edde14be3e501ab60609f693 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-12.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, null) === 1 &&
             Array.prototype.lastIndexOf.call(obj, undefined) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-13.js
index 7fcbd0dc893c2eb9936008ecc9604fe089ace511..6ed68d6a3d1ab11ca0cc2d2cffd795a627c9b8a2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-13.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, 4) === 4 &&
             Array.prototype.lastIndexOf.call(obj, 5) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-14.js
index ea08e45b9e5997d9f8eef859ce30a3b9d5688902..aa195fa110cc23109193ad9dec2709d6d277ae97 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-14.js
@@ -34,4 +34,4 @@ function testcase() {
             Array.prototype.lastIndexOf.call(objTwo, true) === -1 &&
             Array.prototype.lastIndexOf.call(objThree, true) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-15.js
index 7910e686b013256e9e656279357dfefe38a295e1..9ed6b60fbe8c134c37a0fa063d7917b62595d05f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-15.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, 229) === 229 &&
             Array.prototype.lastIndexOf.call(obj, 2.3E2) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-16.js
index 386c59c21dc4314efb411d0a0199f3a062ba7142..8d35fad987cfe16712740e03d8376e3de5de2e63 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-16.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, 2573) === 2573 &&
             Array.prototype.lastIndexOf.call(obj, 0x000A0E) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-17.js
index 851d5906d25af1b0b3df1eeb55c1c2f218e9a676..69d0929bba3351b0932945e210e7c0a94bd803d7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-17.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, 1) === 1 &&
             Array.prototype.lastIndexOf.call(obj, 2) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-18.js
index 0feacfa076a25331b608078f9ec9eb7b696ef36e..1bd7a2b69adff6f8fe6c0d23243920b329fc5fda 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-18.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, targetObj) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-19.js
index b3743e6847a93407a613adc0ed44d4f9ac87b008..9ddf73c9aef07dd6b2391f149473a7f872eee52f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-19.js
@@ -47,4 +47,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, targetObj) === 1 &&
             Array.prototype.lastIndexOf.call(obj, 2) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-2.js
index 3bd8bfffd2625464b0996994999d7e8701aec259..047500eda41595ae54ee596074c9638754b48d8e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-2.js
@@ -29,4 +29,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, 0) === 0 &&
             Array.prototype.lastIndexOf.call(obj, 1) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-20.js
index d2fba79c7eb48946694a5d3ce451d313e24a8725..ecfc77d65636b064e6458c84075d01d61ffaf6e8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-20.js
@@ -41,4 +41,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, true) === 1 &&
             Array.prototype.lastIndexOf.call(obj, 2) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-21.js
index fd02b238a63fecafc499f9a4b91b214b6eb2e334..021ddce46d5ea5d23f9055b1332fd46b88ba51f7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-21.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, targetObj) === 1 && toStringAccessed && valueOfAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-22.js
index 1f60ed504a3f7a6e57559f8ebab7547c28a4ec10..f4a0e91f35b57b2d7d1ba5dc9f3fddfa8915963d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-22.js
@@ -51,4 +51,4 @@ function testcase() {
             return toStringAccessed && valueOfAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-23.js
index 9e694369a03679912c80d5a29356d18975fbdd95..b1b1733a7157a4f89ac6317c0f814a59a32c414b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-23.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, child) === 1 && valueOfAccessed && !toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-24.js
index 198e4c9cc3351b4b0f7716239c7c9a109f3cd898..0a24f40133fb5083a80e399123db3db03055a8d1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-24.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, true) === 122 &&
             Array.prototype.lastIndexOf.call(obj, false) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-25.js
index de0f8f7a3e9a40f69d76e8f180c5668c43120fdf..ff185d28ca14366f5506d8ecf3757b240727b387 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-25.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, true) === 1 &&
             Array.prototype.lastIndexOf.call(obj, false) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-28.js
index 8827c3bdcdb57beadd0320f9e2ff32a372707d24..309fd0154e2d633c305ff4444f8cdfbe51d03337 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-28.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, targetObj) === -1; //verify length is 0 finally
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-29.js
index 6140bdc29edc39f04e90f620bab16334b4998f76..3286fe5b3bdb436129f9027e52e93c17fec2eccf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-29.js
@@ -36,4 +36,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, targetObj) === 0 &&
             Array.prototype.lastIndexOf.call(obj, 4294967297) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-3.js
index 3365e2ab80428ec4af6db1a85e6de5c3b13b1004..951c6e42bcd90ab56118fc4e9d00247df33bbbb1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-3.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, "undefined") === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-4.js
index 0e9b746cae1b94acb3db551c88f807798930bc02..a23482693034c5f69c4e546baa134e3612398c13 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-4.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, true) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-5.js
index 6c069fff49b21830d3300a3c9f547e3179ed077c..a1319e8a288a947e934f0a24716af041b2dae062 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-5.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, +0) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-6.js
index 0cd0d59e0c28e49f2477ba9b97385ac384f24689..4c62063591375d97a0fa053c551493e42acd6a47 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-6.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, true) === 99 &&
             Array.prototype.lastIndexOf.call(obj, 100) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-7.js
index 0f377659b1d67155d375528cca392593412f99ad..a9bf7ca1f675bfd0ba254fa2fc82590344017a21 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-7.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.prototype.lastIndexOf.call(obj, -Infinity) === 4 &&
             Array.prototype.lastIndexOf.call(obj, Infinity) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-8.js
index 1058619d807c833ff76a6e01df9bd8e72d0133f1..01bd27a5d7b45df07db4593b1aa326fe1ca7eff0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-8.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, 0) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-9.js
index 60e8ffe25ad5d3b1eb3192c081520ba9b17d7091..82e29254c0f40762c02ea07b79ad58cb81c6f5ea 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-9.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, 0) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-1.js
index 26ec68169897fd537edc4cbef30859c362e151b2..40d1e416709409954aa2bbec88bba1297086c27f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-10.js
index 31b3278d0ef264dc2d803ad4a9c6dad0e09796d9..43f3b92d0455e5fb98ebbf0b453217d52300649b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-10.js
@@ -29,4 +29,4 @@ function testcase() {
         var obj = { 0: targetObj, 100: targetObj, length: -6e-1 };
         return Array.prototype.lastIndexOf.call(obj, targetObj) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-11.js
index 70584bc5d476123b68768a77369c38f40eec360b..e62c66e1c6f512e1b5755052b6894ee1f0f52856 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-11.js
@@ -29,4 +29,4 @@ function testcase() {
         var obj = { 0: targetObj, 100: targetObj, length: "" };
         return Array.prototype.lastIndexOf.call(obj, targetObj) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-2.js
index f140499efc32dabdc8d6485f53600e7f1c14d444..d762328d8009644426022c513bb593cda4619612 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-2.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-3.js
index d4b6b1f943042480dc9d406b9fbb555175ae3bf2..5e8f748e48af00db915d763ffc61c39af281e48e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-3.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-4.js
index bb78e7a7114dd4b8dcdcba165828516ba0c8193a..abb4821e582fd0ebae020cc83c204d2a3b49d297 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-4.js
@@ -36,4 +36,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-5.js
index cba7b22b6bb69cbe525ba88ad4a221391e3616dc..682ef970ab0483580d2891f1cbc0b8f1743a1148 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-5.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-6.js
index a182882d9762ce7598084b40dd52b5cada2ec022..2bf90e7c2a79542cc141c5fcd97c0e781bd386f3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-6.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-7.js
index 54a49c1931fce57cdbb4213bad2e55c8f49f5e86..2989e151080c88a4ea9e850b151bbbf74915ac38 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-7.js
@@ -43,4 +43,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-8.js
index a83501549b794fd3c7de5d65d168310bff0d6bd8..0f36b4811b9d2f05bb3e8c8ace592930cb7b7c31 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-8.js
@@ -46,4 +46,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-9.js
index c15d24f603e862b3f6f9f667da63edfd0e60d009..d05ad0d3723d27681fcfcd6c729dbec3542f0d79 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-9.js
@@ -29,4 +29,4 @@ function testcase() {
         var obj = { 0: targetObj, 100: targetObj, length: 0.1 };
         return Array.prototype.lastIndexOf.call(obj, targetObj) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-1.js
index eb432e4daa23cf51dc1b09ca9b3f9b94c7c76e52..92149dd8cf2cecdce30dd50f04ddb013ee350f30 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-1.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-10.js
index 87e3ac628e2c409d2c72c3efd934f9ea2e7b4fb0..28fe3f5000963ab322a6953762600fc7f89336da 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-10.js
@@ -29,4 +29,4 @@ function testcase() {
         return [0, targetObj, true].lastIndexOf(targetObj, 1.5) === 1 &&
             [0, true, targetObj].lastIndexOf(targetObj, 1.5) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-11.js
index 5bc412f45961a4c7021ea6d97ad0fcf749b5c540..148cde396301c9891384c2ae8c5645510081f560 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-11.js
@@ -29,4 +29,4 @@ function testcase() {
         return [0, targetObj, true].lastIndexOf(targetObj, -2.5) === 1 &&
             [0, true, targetObj].lastIndexOf(targetObj, -2.5) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-12.js
index b91c225a7cbc3c39f887cfd6c22c0db54c447abf..82b57e7d0e64fd3d86dc8b9eaeeb5c110588f3f2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-12.js
@@ -29,4 +29,4 @@ function testcase() {
         arr[Math.pow(2, 32) - 2] = null; // length is the max value of Uint type
         return arr.lastIndexOf(null, Infinity) === (Math.pow(2, 32) - 2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-16.js
index b11012ba8af7785d3b66df1bb09b0553f4ec384f..5e1e3a431ee69940840195a83979afda81929fb0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-16.js
@@ -29,4 +29,4 @@ function testcase() {
         arr[Math.pow(2, 32) - 2] = true; // length is the max value of Uint type
         return arr.lastIndexOf(true, "Infinity") === (Math.pow(2, 32) - 2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-18.js
index 170ddf989eb0d12456186f7bb94e8da9e7a309dd..f01fd6098d6418d438c26aa8bd80517e5a6d997e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-18.js
@@ -29,4 +29,4 @@ function testcase() {
         return [0, NaN, targetObj, 3, false].lastIndexOf(targetObj, "2E0") === 2 &&
             [0, NaN, 3, targetObj, false].lastIndexOf(targetObj, "2E0") === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-19.js
index c081de4983f4273c77df20152a66387f17d22465..f650a3a26d9cf6cc396aaea36ab566f5178d870c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-19.js
@@ -29,4 +29,4 @@ function testcase() {
         return [0, true, targetObj, 3, false].lastIndexOf(targetObj, "0x0002") === 2 &&
             [0, true, 3, targetObj, false].lastIndexOf(targetObj, "0x0002") === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-2.js
index 267810a31e3135f463c23de63b5492c02ab85c72..f15a800e9ae9cd18b7434d6ae216af8b53cdd5a5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-2.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-20.js
index 2246e0d4e2bc74528983d06a681686c325a51b74..931f83dfa178887970edbfc449e0d19f158cac25 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-20.js
@@ -29,4 +29,4 @@ function testcase() {
         return [0, true, targetObj, 3, false].lastIndexOf(targetObj, "0002.10") === 2 &&
             [0, true, 3, targetObj, false].lastIndexOf(targetObj, "0002.10") === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-21.js
index 08ed98165cc296d65eb5f871e06793eb2222fae1..06ffb6e5c33f9224192c061da9b2a274e91c36eb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-21.js
@@ -41,4 +41,4 @@ function testcase() {
         return [0, true, targetObj, 3, false].lastIndexOf(targetObj, fromIndex) === 2 &&
         [0, true, 3, targetObj, false].lastIndexOf(targetObj, fromIndex) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-22.js
index 98b84660bef6364711fcd121c8f31a497756b31f..f12104d1d1fc0e48774cc43c9191bb2f3f6bbe57 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-22.js
@@ -36,4 +36,4 @@ function testcase() {
         return [0, true, targetObj, 3, false].lastIndexOf(targetObj, fromIndex) === 2 &&
         [0, true, 3, targetObj, false].lastIndexOf(targetObj, fromIndex) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-23.js
index bfedcc1160f9a540311c5627e912af030ec4107f..61961136becb61bf40170c03ee434ac77cb6925a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-23.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return [0, true].lastIndexOf(true, fromIndex) === 1 && toStringAccessed && valueOfAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-24.js
index db388645a0d5ec2f23256a500afe4fa37330f597..29eb19755046629273ed09b4bf66a21130abc663 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-24.js
@@ -48,4 +48,4 @@ function testcase() {
             return toStringAccessed && valueOfAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-25.js
index 0436ac6b65d7c3c34d6c250a91cb2213d4db4923..0303008e4b76d6d4227a5aa35b2235e1a9b895fd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-25.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return [0, true].lastIndexOf(true, child) === 1 && valueOfAccessed && !toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-26.js
index f543d0c1364ed65758f922da789d174f18e7b2b2..c2b85e99af2199b7edfc59d2136cee6d2a834283 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-26.js
@@ -55,4 +55,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-27.js
index 1a0b7147097a370648cec5766d77cf719347727d..a4c85544dac1e103d6feb181ebd3912e41475971 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-27.js
@@ -60,4 +60,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-28.js
index a7e95c0625e9845354b2eb4b0c9b47b405db7275..de47be659de0c957208c981cab2640bb289ac08d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-28.js
@@ -41,4 +41,4 @@ function testcase() {
             return (e instanceof TypeError) && !stepFiveOccurs;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-29.js
index 138adfcb9a123c5acdfa1c5fd790c88288e4bdf4..4648a51068962d516ef330e82352caf8579c72b5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-29.js
@@ -50,4 +50,4 @@ function testcase() {
             return (e instanceof RangeError) && !stepFiveOccurs;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-3.js
index 22d7b2f6cd5a0f80635e8a606ac6c16bf7bd5310..2253ae24736cf41cf9070cc4744feca591868ab7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-3.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-30.js
index 234b6451fb1c1ffe6495a7401e82b733450e5a9f..b8dba69a9e4558a5ab73c55bfb99e31fc5e5c003 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-30.js
@@ -54,4 +54,4 @@ function testcase() {
             return (e instanceof TypeError) && !stepFiveOccurs;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-31.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-31.js
index 2b245c85fd54a865107b91208d22e8ec8abed044..bb085847d215b56a53d72391ee840686c4a05c1f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-31.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-31.js
@@ -29,4 +29,4 @@ function testcase() {
         return [0, targetObj, true].lastIndexOf(targetObj, 1.5) === 1 &&
             [0, true, targetObj].lastIndexOf(targetObj, 1.5) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-32.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-32.js
index 947dab5648ae75684710131aab79991757a4d308..cae3d2b40225c79e4cd4a05e4385cd34c1735f01 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-32.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-32.js
@@ -30,4 +30,4 @@ function testcase() {
             [0, true, targetObj].lastIndexOf(targetObj, -2.5) === -1;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-4.js
index 228b24b9518b1bc9bceb6e2c302996fde2afc977..d152d2e3555ab7d15d38f6f22b93216b06cffdaf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-4.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-5.js
index 148eaff61b1819fa0a6dc5b36784bebe5adc3b36..8267c6e5f0d8e106cb2bb24d35760cea3fa8b7b7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-5.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-6.js
index d7fc7db3dc745db3ee081945ffbd7c9de977419f..c6abd545fecda760ff7adb9a91a91bb94c59cd42 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-6.js
@@ -31,4 +31,4 @@ function testcase() {
             arr.lastIndexOf(2) === arr.lastIndexOf(2, 4) &&
             arr.lastIndexOf(4) === arr.lastIndexOf(4, 4);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-7.js
index 2d8d0a6e87dc60144f36502490a881e38b5771f9..251f29e48df86041876df84ed0d80b3061ff8c95 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-7.js
@@ -29,4 +29,4 @@ function testcase() {
         return [0, 100].lastIndexOf(100, 0) === -1 && // verify fromIndex is not more than 0
             [200, 0].lastIndexOf(200, 0) === 0; // verify fromIndex is not less than 0
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-1.js
index b303b6c9c75946a2d151d495545a7f68bf7231ef..7e2647e5acdc9ea1681a2d1b8215d8b764ba270e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-1.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-1.js
index 2e2c8a9145b3c6848a4fc06211a8a749515efccb..fa87e6f4d7de1783e8af722c0c8fdb6b76e33099 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-1.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-1.js
index dcb84a219e01dcda346b46183e14491dcdec8c2f..1fb46d5e680762a642744a2575ebc5c6453c1ed7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-1.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-10.js
index 192666dbe267c3f32a3a073065acea4059eb4db0..62a859fe9c9e57f1039452460e3ca0ba2aa8bb43 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-10.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-11.js
index 08c436a14a0bb5593716fb0ea111e3a5fd4d9f73..0c768c98967fb3c3423b34117c43e80cfebb3211 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-11.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return arr.lastIndexOf(1) === -1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-2.js
index 211198fda2995c87c3b95b49de25f0fa98f8c0cc..9b07a303a144ca3c2e8318b723253836709ee427 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-2.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-3.js
index 6aa8fd344671c59c0ccbc711d2b3254853c6d446..9f40da0211d4ef759834d95a4f6dcef258250a1a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-3.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-4.js
index 790ae56ae08b9b0df962088380e43202fd3357cd..ae135f7a87c73f8686cc71cb04674be24aea05e4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-4.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-5.js
index a19268336ce13292baa7fd3d0d16ee5fe030732b..a8a140147814b7354228986e088cf3d2fa56900e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-5.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-6.js
index 35db00b709c23d4c1f7a29eaf5d0bdc0eeaad81e..1ca1538029b4c0263ab34729d9c041a6aa4dde7b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-6.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-7.js
index 1bd64a97376fc31dc07f153a2142b0a3fdb4b76f..dc9108135502b9379538f055265a24bbcc6ae493 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-7.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-8.js
index 2ec74d1dd3446431cc71a55307168447d33f7840..d1e077e3d83e28305fe62298aba8c00b4b165406 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-8.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-9.js
index 6f4e800d141e267b5b50fbffb93fc0a3301f124a..7e017b6c8559a34cb0fa508572df183baec3e19f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-9.js
@@ -41,4 +41,4 @@ function testcase() {
       a.lastIndexOf(4) === 4294967201 &&
       a.lastIndexOf(5) === 4294967202) ;
    }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-1.js
index c45c058aeee7f0b40d6de44948bd327df9ddd0c6..336ec1750f71263ac5b4247122222436d2b54e97 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-1.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return 2 === Array.prototype.lastIndexOf.call(arr, "length");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-10.js
index 52ab4f0026fcc56882558b5b421137a5ef19561e..d056141953f64d07f6b8659cb0ace94f60d8f5f7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-10.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-11.js
index d89576637de8a03ce05b7e6b668c3f48cff7efa2..e74860e99d2cbd3b4fa4e882e3e43f193c5a99d3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-11.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return -1 === Array.prototype.lastIndexOf.call(arr, 6.99);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-12.js
index 0bbaa47f5e54519ca60da780d79e621eb63791bf..43cf20b0f6f162f39d5cbf29fff04f5b7cc52fa9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-12.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return -1 === arr.lastIndexOf("6.99");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-13.js
index 10263c46176ab56100e3c8183fd424b616162d34..897d7060dbedce58917bb7dc953decc42adb916d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-13.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-14.js
index 71dd1a4880c408dcbe47d9eb6d64a280829c387f..4197584150ed64e7e8471ecae2c653cf748f7c73 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-14.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-15.js
index dc6b70740b6b36aaec51e734bafdaffb0516eb32..713b308774303aae955b13b632970e0e7338fdc2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-15.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-16.js
index a5e3d2cf028f14617261728284097fe62e29f3d7..5ae3501a8c83feba2f5dc0a14a39fed55362eccf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-16.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-17.js
index 21e533d4a33469b4c7bb68778526eb3e1403ffca..4cecb8b6ebfa59583178c311785267f9fa0d2221 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-17.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return -1 === arr.lastIndexOf("last");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-18.js
index e293c7b62f91b7249b0ee2380cd377929596a5fb..c4036ef5feaab4d2d7c6fff7e076356c5a99f098 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-18.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-19.js
index e07ee717603f1901ea624559fd2cc3ca66f8b3ac..47653a05d301911121d7ad7d2fe5fc4c230c6287 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-19.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return 2 === arr.lastIndexOf("unconfigurable");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-2.js
index 16f7a3e5c4d13141c8a175bb295aa11e406957ae..7aa21ae0d97772899b35e4f85153dc6226ce44bb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-2.js
@@ -38,4 +38,4 @@ function testcase() {
         
         return 4 === Array.prototype.lastIndexOf.call(arr, targetObj, fromIndex);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-3.js
index afa961d3deffe8217de1718c6b1a793450f4453a..421ae059c74ac425a46e0a40acd0c179f1ad8e26 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-3.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return 4 === arr.lastIndexOf(targetObj, fromIndex);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-4.js
index 80fe548c13437e29792c3c0fb0fc8a1f30810dbc..9c028cf8c6dc9e87a243b0b58d7666014cf53ebd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-4.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return -1 === Array.prototype.lastIndexOf.call(arr, 6.99);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-5.js
index 5b7f562862f7a7c80f681da1621cbf3c085012f0..c8027081ac90a9b7f925380898ddd5d42ea8c2e5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-5.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return -1 === Array.prototype.lastIndexOf.call(arr, false, fromIndex);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-6.js
index 626f400bcd1553e5e3efd3a9a8be37ee80013075..dcae9baf091a0c1874dcc79e658465f682abe25e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-6.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return -1 === arr.lastIndexOf("10", fromIndex);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-7.js
index fad37b814fa692da39939fdcc69262a03af8b21f..d37d5e3499169046142a17a303c9fe650e36df4c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-7.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(arr, 1) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-8.js
index aa6862be601451f598f06bb2569650dd4ce218e7..3c36e554e94b4fb39a0fac556a10d922976849a9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-8.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return arr.lastIndexOf(1) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-9.js
index fabffb621393ef414f02ab562172cfed8dc2924e..6efb592c54dd1e16bc8e6bfd04539301474f0e89 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-9.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-1.js
index 90d614532d421b528224255137f33667fe7ca987..2772fcca39fe6e722adca7f970d56cd23092c955 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-1.js
@@ -32,4 +32,4 @@ function testcase() {
             Array.prototype.lastIndexOf.call(obj, 1) === 1 &&
             Array.prototype.lastIndexOf.call(obj, 2) === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-10.js
index da38ecebdb5a3a95455494292fcedf4c17d9db8e..0a68b9b0923de4fd8c9abdfadcd60374bfc157e5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-10.js
@@ -52,4 +52,4 @@ function testcase() {
             1 === Array.prototype.lastIndexOf.call(obj, 1) &&
             2 === Array.prototype.lastIndexOf.call(obj, 2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-11.js
index e6ffb70d7659c6f27d7f267f87ad0390da4c2991..2adad6556094417735fa17883a90d9aff1b5a5f8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-11.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Array.prototype[0]; 
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-12.js
index 0a38221b2aca9fc7803b3e178aabe3cad07157cc..baecbad83e94c2af568225e25de56c38649ce235 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-12.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Object.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-13.js
index ac038026151a473594202aa17574230cb185f228..e4db67d8211fad81f7698f5cf9f659e37257cc1a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-13.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-14.js
index 532edda3b5dff191bd310198913b2a1f4e82855b..64130ca00da3bf164aac3622920f1e64e77b130e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-14.js
@@ -48,4 +48,4 @@ function testcase() {
             delete Object.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-15.js
index aee360e784235e0bc15072813cf4880b1dc12ac5..fa77816d0c596fe7a57410d51a456620e995ea12 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-15.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-16.js
index 459a7dcbc2d025dd8298f42a73e71b5a0bc8e5f6..0a638a42d1eb52a9f7feafbae7d73a3772a8befa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-16.js
@@ -57,4 +57,4 @@ function testcase() {
             delete Object.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-17.js
index aeec5d3ab2466bef486d00248d8dac9009722850..d705222234f978affc9e14b3b6a2f48f58fb3b5d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-17.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return arr.lastIndexOf(undefined) === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-18.js
index 9b21f828c8618f43135d644bd6fe659102229f77..5accd625664ff94a0a9eade4ea9ef8f27d824ccb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-18.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return 0 === Array.prototype.lastIndexOf.call(obj, undefined);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-19.js
index 6a0ebe6b94770beb6dfbe0c8a02979ddf082188f..492d34c7116f22fe40efa00d5bfaed6df89d7aa5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-19.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Object.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-20.js
index 752e9e106aa2e46b72f8b2d26b31e2e53059db13..8a76aa90f01d3c0ce7e0b6d8fa403ea269716fb0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-20.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-21.js
index 3d36a68ac9b2379ea2e416e0d80c0272b493b3e9..f64817fd857b46e39904bfc098eed828237dbea4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-21.js
@@ -35,4 +35,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-22.js
index c8258228c3352fbe8e12a1b4c6345544060bbf83..3292e48c3cf64c7bfb8868727d767163ed8e6dfe 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-22.js
@@ -36,4 +36,4 @@ function testcase() {
             delete Object.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-23.js
index 57e9ed144389e882f6b43927a5088009b8aee9cf..4ef9e371cbcfdccaafc391fe0807ae876ea7c21f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-23.js
@@ -43,4 +43,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-25.js
index 0ce84f12dc0fbb937d7cb175f29ecf060e791781..92f16ef947b80e935835b2206d31539ef9e28b0d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-25.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return func(true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-26.js
index 9bc74304db159dc2e82aca638650b711ee149ce8..8a75a429c19b1c7c1955e8ba77db6f0066991eeb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-26.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return func(0, true);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-27.js
index 6deb66e1a394a1e072262f3e1ed4c22e9f23c369..b4be13e266dd119e3df90a628a1983f4115b22d9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-27.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return func(0, arguments, 0, Object.prototype);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-28.js
index c83b8b2a0063ccd436de3136b3127d16f0bd95a4..142534b3564b862e6418ec1e40d37c0f0e50b08b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-28.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return arr.lastIndexOf(true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-29.js
index 7036ac77388ac8d8e5b0a293ac83e66d260b4f98..ee3bc3c672d358c032850fa22d156b28f5c778f1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-29.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return Array.prototype.lastIndexOf.call(obj, true) === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-3.js
index ec5df1536c62600c6e2fad1759488f941129e653..e594db1e8b564681de1a4d2eedc41dc4cad3b35b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-3.js
@@ -32,4 +32,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-30.js
index 3707678c8ff6f08eb96d7352f8470ff93d7c23a2..392a3d3d9f256d51d15e8aaa7bbf7053f2cf5960 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-30.js
@@ -52,4 +52,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-31.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-31.js
index 5fe9fcc14bbbe68de926b862fedebbc81e5ae67f..0600133382c31541fc33312db032f8f6a7c42dd2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-31.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-31.js
@@ -52,4 +52,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-4.js
index f8409c683b277d5e11dbdce68951902f794cab24..99bed4b45b9d33d16221805ae396917dda1a9a93 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-4.js
@@ -33,4 +33,4 @@ function testcase() {
             delete Object.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-5.js
index 4d3866961282400956d1b568cae4d800fd8eeb02..aa9501e27e364792db6e6e2c65c03ed75ac86d25 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-5.js
@@ -37,4 +37,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-6.js
index c44c982309a46e51524d460d6f786c2fd1ee7803..ee23fb3e594d81dc93a7fc10dc98adb98b3ae483 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-6.js
@@ -38,4 +38,4 @@ function testcase() {
             delete Object.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-7.js
index 47fdcd1ded2408b3ac3ae9e4170c733b688c80d9..2c643bfdc1afdf473ea91e6f5d7233d81bdeb8e1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-7.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-8.js
index 9330aa062c93286236c35f3f53d21a0c9d77d8b1..d8ddd65d18d240ef67642d9f82eefbe50a820635 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-8.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Object.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-9.js
index 283deb741bdc2bc237ef85972e13a1dca0262db4..35631ae32b931f88dcb42a88adf8ee751708f208 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-9.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return arr.lastIndexOf(0) === 0 && arr.lastIndexOf(1) === 1 && arr.lastIndexOf(2) === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-11.js
index c73feb9204d008bddcf0e61743f013a7fd0b619f..5823252e8a25de71135d9d4394c6997107194fd5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-11.js
@@ -31,4 +31,4 @@ function testcase() {
         var obj3 = obj2;
         return [obj2, obj1].lastIndexOf(obj3) === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-iii-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-iii-2.js
index ba9ac921d2e8b434a2d5c10f9a86dc2b85d997c4..65f3548faf2197de929a50a8f122c0fd8988af93 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-iii-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-iii-2.js
@@ -47,4 +47,4 @@ function testcase() {
         arr.lastIndexOf(2);
         return !elementThirdAccessed && !elementFirstAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-1.js
index 4f65c416dc840f6ecff536214aa307cd29c8dd66..3493249750e7bda117456e19436c0a0259561519 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-1.js
@@ -49,4 +49,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-2.js
index d8e000892b6931c942583b75ec4c8237ffb6b300..d2ed19d9e04a313ed9e99ad619f8a507fa072028 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-2.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-0-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-0-1.js
index 15d74e63be2097fe0285e059fdf18d752a70ca4e..002a4161f4da01ce2f8b941da056f5847814d663 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-0-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-1.js
index 37d61fe68937d715b0e694abf9beaaf9fa48048a..254b84ce2743ed5b00bb716cc506ab7b2f7f877d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-1.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-10.js
index 775c70e53a50af00fb8de6def4b29bfe0002a314..201f4f2d531712b09022ba1f3058c8b83f4fe03d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-10.js
@@ -38,4 +38,4 @@ function testcase() {
             delete Math.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-11.js
index ae9f89578bb9e54f4ad2f69c464b3d2c7e144d1d..a51234f400e78fca528eee0f0ebcd5f9524e5b7b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-11.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return !Array.prototype.every.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-12.js
index c0925e276f65c0537e4c696487c810a4acf906ae..e50191a921a3657da30b1c1a5fe38b5df29b2e84 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-12.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return !Array.prototype.every.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-13.js
index 3625c0c0e42fe4f4a55de67181af8fa8ce67bcc5..7e6015d234a6eb4b690b31ff6665d0187084ccc1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-13.js
@@ -38,4 +38,4 @@ function testcase() {
             delete JSON[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-14.js
index 9da00c8b49146381a90392b81910e8f0dd3c48ff..ac578ae94c98184969b7cdb15d6d7edaf2978128 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-14.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return !Array.prototype.every.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-15.js
index 2cef4093011e74214f5519eeea414f2970737a28..f2e81a0c1d85fce81bef4b3e7656bac8a2ac0f69 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-15.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return !Array.prototype.every.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-2.js
index 85775d6f32b0e7e62d635ac125a5035b1f0793f0..a8946b96abf67138eb0fa107497d808c86752cf6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-3.js
index 1f4f9c8db8c1153507132d653002a131d6e23063..d9d28251d9fb04837448bf62f317ea93d8062bbb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-3.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Boolean.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-4.js
index 7907a730f5b18a4beafcec281b5e65f1aa0a3fa3..74d94fb3724a4514ee58355a0bbed0536c7469a1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-4.js
@@ -37,4 +37,4 @@ function testcase() {
         obj[1] = 12;
         return Array.prototype.every.call(obj, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-5.js
index 3db60b18bc518313adf1db2da53cbbd3ab57c12e..50f8642219e4c18e5b474aedbdaf9394dfceedb7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-5.js
@@ -40,4 +40,4 @@ function testcase() {
             delete Number.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-6.js
index 4be7c3fc54b474a1724fb996ea7ff4a37e0e2efa..02da093efa8dc0d55df94cefb31e7535a01850e8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-6.js
@@ -37,4 +37,4 @@ function testcase() {
         obj[1] = 12;
         return Array.prototype.every.call(obj, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-7.js
index 80ba21f8286b0b46c2be81a6c1d4fa39ae75efee..8aafb280e02d7215bba81588cf8f76e6caa4b0b5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-7.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return !Array.prototype.every.call("hello\nworld\\!", callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-8.js
index 3ee0e5cab7bbd269f7d775ac3e8342132ae5b7eb..e757034a2326cf267c785818ca737670f683a9d4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-8.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return !Array.prototype.every.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-9.js
index 27df823c58851bbed5159b10aa539e2b4cf16bde..4a41b380ff502dddd1187d5bf1bc594928d1c731 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-9.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.every.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-1.js
index ae00f8f65bf9f8489b131ae044c089a2f7ccd2aa..9af14b85cd84111f3fe7ab20357ece4691033fb6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-1.js
@@ -43,4 +43,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-10.js
index 1517f50310dfae9ed3a2fdb485ef510b06e0528d..e1755f9571548d8cbc6e99044d1a73cfc9cf7089 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-10.js
@@ -53,4 +53,4 @@ function testcase() {
         return Array.prototype.every.call(child, callbackfn1) &&
             !Array.prototype.every.call(child, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-11.js
index efe21afde46fc25183b7384c5bd835716bb5bc23..a7b4654bd792d30db648901215d185ae5863607b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-11.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-12.js
index 780aab1053f0bc3a39de81ae65515cbb1ab3a82c..0eed89cafd106030e253e8521bcacc816ed64e5f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-12.js
@@ -52,4 +52,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-13.js
index 000215ab99bc6bc1c9b508b277ac7abd462c33e5..6bea370c58b28e27010c4952e26a868848850599 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-13.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return Array.prototype.every.call(child, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-14.js
index d683a942f897e434429f65204a145c800a5c63c0..c71ac9c190a50e9fff506920e659b583abc05ffe 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-14.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-15.js
index f01afa91a09e1bba0a51cb48a58b07ced1f97b77..0a1a7d29148fab962db4630f582248d9903a91f4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-15.js
@@ -48,4 +48,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-17.js
index 5b9a3caa9b3b469f1cf994a31007114f94a9df16..9c29a26a6e3ed0dd5b57e73761f1b0ff24e9bba8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-17.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return func(12, 11);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-18.js
index 69a4593b60c1f41e4b2da1e990e6c807b0a177b9..85173998f31657624ee255d6972d48527b243fe4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-18.js
@@ -42,4 +42,4 @@ function testcase() {
             delete String.prototype[3];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-19.js
index 9b8b85ecdcefa010c0492cc064a1d4f66cb43598..274f935330c7f707ca2557b6d919024edbc4e6ba 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-19.js
@@ -43,4 +43,4 @@ function testcase() {
         return Array.prototype.every.call(fun, callbackfn1) &&
             !Array.prototype.every.call(fun, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-2.js
index 098a2027ce6a7566a1ce2c721861e3b3b51f93f0..e7bac587c29574711839942fa81263168dcbd333 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-2.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-3.js
index e63e0c4dd45f22e2748545a88ceb0ac53734aae5..d7e9ea3c46e93240b6e380c03f96f57a1beb21bb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-3.js
@@ -47,4 +47,4 @@ function testcase() {
         return Array.prototype.every.call(child, callbackfn1) &&
             !Array.prototype.every.call(child, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-4.js
index 8d8424431ebe637a378a8a1e6b6028aa5e8f8e02..245c2f4da33e227704f97d8d7ccf6a6980bc850b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-4.js
@@ -47,4 +47,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-5.js
index 9edb0bd7f1b4295cc1e284deb33bdfa403c30068..af702ba85432a359365864a68c620c1e06b29fa2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-5.js
@@ -58,4 +58,4 @@ function testcase() {
         return Array.prototype.every.call(child, callbackfn1) &&
             !Array.prototype.every.call(child, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-6.js
index 5daf73aaff3abd3dced8d602babf27870206ea28..04be31c94f4b911c1f382c4a275c77a13ac9debd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-6.js
@@ -46,4 +46,4 @@ function testcase() {
         return Array.prototype.every.call(child, callbackfn1) &&
             !Array.prototype.every.call(child, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-7.js
index 4d0c62522728f41834bd9f62ad07c79402de4e10..8d25e4c90d6846d23d3ccba233189540d4a225cd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-7.js
@@ -49,4 +49,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-8.js
index cb7f5457a3e928bedd74905c8238ff7307fd5b5b..aee4ef1c78c44b31d1a02c1a0f389d7c8e695c31 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-8.js
@@ -54,4 +54,4 @@ function testcase() {
         return Array.prototype.every.call(child, callbackfn1) &&
             !Array.prototype.every.call(child, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-9.js
index b59d904f2d890855f088ea60bb4a4225e6d1baa5..27a5709eabfe7d8d9896e30d858f522136401a98 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-9.js
@@ -61,4 +61,4 @@ function testcase() {
         return Array.prototype.every.call(child, callbackfn1) &&
             !Array.prototype.every.call(child, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-1.js
index dbb1473f5fbffd228f20f2d15219f72769eab2e6..c02afce5cfc99a105e305c32a50a670ff388623f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-1.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-10.js
index 6541d9f32769c7bd8bc4a63d8a647831166dd02b..c1e6f4917c581fcc9ec923889601b98f009f4b60 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-10.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-11.js
index 228c8587f9cfcf8b459479261fac00734c2f3372..d3166c8e6b0bcf79c785912a2759468dc7f1ca71 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-11.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-12.js
index 300f6294914e9335eab37e8a8563427f3a25925d..dd66b264b9307613f7367a6d7a83fb576fed5f49 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-12.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-13.js
index b3aba67d8a3cde2b16ea9b4bab1c90b67b591a72..de5ee914fb7a93aca7eab0e6c50063776bc76caa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-13.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-14.js
index 99d87ff463df9e82cf12e5909d27553bc663d033..f56210f2947dc18bce2c5e129cb179628e9f334b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-14.js
@@ -41,4 +41,4 @@ function testcase() {
             Array.prototype.every.call(objTwo, callbackfn) &&
             Array.prototype.every.call(objThree, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-15.js
index 24ab451fe69176dc6c48e38f3a7f6311d62bd6ac..a4ed376c8c831d28fcf97a4b7d903c72ffbc3abf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-15.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-16.js
index 4726f9eb7988ea4079b495bf19128bb65360b27a..8d150184373b4a6d1c8effc5d0c01e13c21c5981 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-16.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-17.js
index 6f9826a84aa0a1e68e185fcf3944b1267f792851..ec7a9718d0c8760e4bd569820a55dbfd512089fd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-17.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-18.js
index 6ed2ea515cdd544ba73165f5526e57338c7ab481..e572120549b86fb72d45ddbeb3a43bf92c6a2c31 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-18.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-19.js
index ffd0c761a912638937737138927bdf9ae89bf563..86d3f571b10904282945f007d2c6d730255c19ff 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-19.js
@@ -55,4 +55,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2) && toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-2.js
index a3543b512fdd51dc064e1c35a30380d4ac7baf39..ba9ff35a66ab3034c52f53221448fc2d4ab9a41d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-2.js
@@ -39,4 +39,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-20.js
index 3a7467f50143ec408ea63cd2f6baffbc8dd0f862..111d8d8e7ffdcfc34c5d42f3a6c034d71a113744 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-20.js
@@ -50,4 +50,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2) && valueOfAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-21.js
index ddce5d0ac87a19acc2c115c3ad9832a683b48675..e1407dab5d07c0d562f302cbe777d1a72924fcba 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-21.js
@@ -57,4 +57,4 @@ function testcase() {
             valueOfAccessed && 
             toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-22.js
index 577d55cb7d8e6fd1fe26cf82a04c6bc011f71457..11651761bc829d7a297f2e38742f3794e89e939f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-22.js
@@ -58,4 +58,4 @@ function testcase() {
             return (ex instanceof TypeError) && toStringAccessed && valueOfAccessed && !callbackfnAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-23.js
index b281ddadf76f36cf92be27526bdf6786185ce3c9..fce1a4e28ea483ab9be1e98feefc2f0c3ac12294 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-23.js
@@ -65,4 +65,4 @@ function testcase() {
             !Array.prototype.every.call(obj, callbackfn2) &&
             valueOfAccessed && !toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-24.js
index 9ecb6bbb34368179621b7a047e55cb0b89773487..04c978c50da84fbb4cc9421e96655e5c34bbc411 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-24.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-25.js
index 4feef03cce55a793bb49701648837e2a3c3d7647..8794b936288e958b8910e1b87b370f7fe84b95a5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-25.js
@@ -43,4 +43,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-28.js
index 5400c869b4e7059dbc12785c22f34980594edae8..4164263b227642f78a678322c271dfe5e62f78e6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-28.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-29.js
index 3e95be56633dfe91d60e74dd916c572361220224..bce3486303d5eaaccb8745d2c6d64575550c3a1b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-29.js
@@ -42,4 +42,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-3.js
index 9dcd6e05d94fdf5b50a7fb1c100e744a68c09c02..f31380243d36f284b8829f225360c47ce2be3889 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-3.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-4.js
index 3baec463b7d0fbe9da995c6e3cffb21c50c8e661..a70d0f79a78f26dff81a03dd93b72778942a8dcc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-4.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-5.js
index 54a977f274da3f2506cefd2ad8b66e9ad6b1b946..c305e4dda5dd09bf071841810a945281c02b18e9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-5.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-6.js
index fdc67e45191e74ea25caa6d42c3330f0794ffce8..cac42d0ddeb3bf3c3fffbd0bb17edd45ddb950ac 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-6.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-7.js
index bec0a340ffed0b111593a08b7e67c85187e11952..4641bf0ce3559aa68290b47327535c15a1b352bb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-7.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.every.call(obj, callbackfn1) &&
             !Array.prototype.every.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-8.js
index a26cb717d5031f501d9536e66fe90e8545ea290c..7eb48462c224bf67e988b156e198f6e4e2d088b5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-8.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-9.js
index f7c5295837ec4e449ee5fe8999362be615ca8083..1a57490e8900a64d1fbb38339c1ccbcb973309f1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-9.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-1.js
index e493774ade073c6e6746c346a4c1ba2dd7c6621f..fb59f103eac99a522e0ec55ff7c38b11ea9432a8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-1.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-10.js
index 177a4e6c000f4e969315766da0043508ef8c1ead..0ea3a931af80bd397a930be9623004a1ceddb0a1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-10.js
@@ -42,4 +42,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-11.js
index e59868e81f32d2e3ab1c2fb8ee258e00916c4902..85877a13014df6127ef4520ead578839a6d5478b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-11.js
@@ -46,4 +46,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-12.js
index fe13454d3a9ac30ea403436a05e06da007dce01f..51f3696dfdfc6e41d0876d1e42af5970aaa1b386 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-12.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return ![11, 9].every(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-15.js
index 77174c1a0b8efd12e37e413cd2e71c6f30d040cf..7bda9e3ed94429ea7e974a108e5e78a83fbecefd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-15.js
@@ -52,4 +52,4 @@ function testcase() {
             return (ex instanceof TypeError) && lengthAccessed && !loopAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-3.js
index 3cc20e0a998fa69fa8786b76ec343c56c09d44f1..15320c66562ccbd7098b11a85840a94cc221f6bc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-3.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-4.js
index 5b20ba58877905ad0cfd1f720408dfaca54e9a53..99d0efb9890d39c108aff8c06fae6a97680c0d5f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-4.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-5.js
index f20e40ec8ac2506e54e9921b53c7007addf68620..7a43d36f8b4f3ee4c6dd1638fc050285479ca5a8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-5.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-6.js
index d1d34663ee9aa239fbc03f364b8a91acf64a888a..ad7975d5207f4d98bd769c641aa0a317c189fe83 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-6.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-7.js
index 0cee47a7393be5559fbb9a353c26ee22eb00a6d6..c53aef9b662a762f181eefca252ceae7e769d105 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-7.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-8.js
index 10a8139d258b3ff6cc64efaf0578681d79e7e0cf..306f031682cad0e77fd6051e605e52e67bc05af1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-8.js
@@ -45,4 +45,4 @@ function testcase() {
             return ex instanceof TypeError && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-9.js
index 087f0d6cbb2b500335f3c3149847787a1b2cfe40..993f8eeae50ec6f471ff041a4138e6f5d0a4a47e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-9.js
@@ -49,4 +49,4 @@ function testcase() {
             return ex instanceof TypeError && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-1-s.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-1-s.js
index 3d22ab3f202070307de83e7bfa499d505f6474c8..19bac18293ad77cc6f5c6ca2025f284de114df6c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-1-s.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-1-s.js
@@ -37,4 +37,4 @@ function testcase() {
   [1].every(callbackfn);
   return innerThisCorrect;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-1.js
index 76f4ea9195ddb520eb8e11b2f818c061f83be82c..00aad33319be9ba6dcdf99105d98ea160caa4c89 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-1.js
@@ -35,4 +35,4 @@ function testcase() {
   if(arr.every(callbackfn) === true)
     return true;    
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-10.js
index 62d9c39c3c025e34070dd86310c0aa3254a9bf0e..9607a52582220a4a2f5959ab1750a55725a9c619 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-10.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return [11].every(callbackfn, objArray) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-11.js
index f6e4ec0cd3580fa8613d8bf89b0ba085fb30060e..7689c0c7ddb9d625629b7d73635c40a9e7cfc006 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-11.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return [11].every(callbackfn, objString) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-12.js
index ffe3786d3c88aa384a755c2c0e6d985561f26bc2..bd5ae8dd931eb3c22f10978e9cc41e982a551e90 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-12.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return [11].every(callbackfn, objBoolean) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-13.js
index d7d44f66d191ba45ad23826fdc59da1b2091c708..d68a90a15bd803c12ad202af06bee96edc78738f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-13.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return [11].every(callbackfn, objNumber) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-14.js
index e6a4c25581b4c5040e8222e52a4102af4b20c46a..50fa7f3c09e844a16ebacbd7fdd36ae979f86cc5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-14.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn, Math) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-15.js
index 51edfd050dfd79f9a094dcf7181ee887ba95575c..d7860eebee4efc2536fa97743bb394e759eba8c8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-15.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return [11].every(callbackfn, objDate) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-16.js
index 3ca59be5b907060f983de36d7f5bcb09c246d519..c689c8673324ec0f7f4af988c580bd9a599b1c33 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-16.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return [11].every(callbackfn, objRegExp) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-17.js
index f05567ce94de676a99ed63c8dfbc5e2ecd9d6627..7f796c689759781a6d61728a8d1416d800bd3066 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-17.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return [11].every(callbackfn, JSON) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-18.js
index 010fd7c6518a85badf6b5923f6bf068f77649448..1f724c94a26fb7cad72a704c0dedb4c02d0f062e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-18.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return [11].every(callbackfn, objError) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-19.js
index f071258b131011f2948587b230673f22574a02d5..5dd33947664d487f27ae8a232ee270f9574580ff 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-19.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return [11].every(callbackfn, arg) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-2.js
index 37268ef2ecdd00af70de3edf0b81921f123a7398..a38f0456466e8ed3367f0c1f449e5a8db7ed389a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-2.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-21.js
index 5227d633b2c3b026badf0a70a1243c777f7be5c5..3c6a94786d80f85deb509dc6963510523f366866 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-21.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn, fnGlobalObject()) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-22.js
index 5418d88ea85b4916a1e909b2d91fee67493dc352..129ec99607b082be1b02ec4f4ea47af33e19ad2b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-22.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn, false) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-23.js
index b82f935c0a9c2fe27df426396f0c46d96343bf6d..0bf237fd099cfab28c662963681ccb3078677d02 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-23.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn, 101) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-24.js
index 5fdf6724b43a8cd9f9330cef7efbc4c22ae28196..b34eb7499ac2c7d3d1d258fc90e66989c99e8910 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-24.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn, "abc") && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-3.js
index 50a4f24d9acc501d12d681aeeaeaed51228c1ff6..7a81e7c12edbf364803d5c24bc2678a9eba380ec 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-3.js
@@ -39,4 +39,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-4.js
index 8a4b4f80b003ccac26eb06576193d3f440eebb4a..31c5778d08672988fb4cfc3ca92511926461e375 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-4.js
@@ -40,4 +40,4 @@ function testcase() {
       return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-5.js
index 4984471995646ed33812ed5e57cdf48a2a3ca56d..00e24b16cd21cbaa8d20af34bcb2c335b1beae64 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-5.js
@@ -40,4 +40,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-6.js
index a6686bf7b5df4da44bc8f2cac58077f9ecacd256..8f287048fbea88861215e3ead602fa5ebd87462f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-6.js
@@ -39,4 +39,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-7.js
index 2d7a93279d89615cfa22c3403c298352d5420ac4..f0af3d19f6e24f087ef58a17612c4f087b3c4dc6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-7.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn, eval) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-9.js
index f8fa8f259c51c81d5f80da0216581fde532f513a..99336395b3d455a7e33461b5a923ff55153b9100 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-9.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return [11].every(callbackfn, objFunction) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-1.js
index 9e0f894efc3a6aca0489830dd1f761396912ea00..3c832f7d209a35d44f13b8726a87597bdd51f205 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-1.js
@@ -42,4 +42,4 @@ function testcase() {
 
   return calledForThree; 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-2.js
index 2eeea4bc36c82756a29fee4a774a34e1362f6770..90dca67250313b85832dcf52a49820597d4ea1d3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-2.js
@@ -41,4 +41,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-3.js
index 383ab0546a73f96ee782cd9d5e16c20fb7035f6d..d7c88ea0962cc3879a7773e94a6c014ffc4c19e5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-3.js
@@ -41,4 +41,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-4.js
index ce68bb3bf2ba195a8ec282aeabca7e549304cce0..5e42d77745efc4bbe644e715623b0141d6f688cb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-4.js
@@ -41,4 +41,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-5.js
index 9de0e0b6af7c5c62b0b968ff20e2d91ffb3254ff..713ca850b467fcdb5b1d984139b9576448c779d0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-5.js
@@ -43,4 +43,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-6.js
index 96f2e54da8904d0f0a95f65bfac6e78563bf1dae..243c034d3514b7883fc7cc75a98ec252ed34f43c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-6.js
@@ -45,4 +45,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-7.js
index 56102a1da2c3fd436d363939c7f010d023867c47..93a31174dd3c6f3a9a2a02473bc1a9121d8f0af0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-7.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return o.arr.every(callbackfn) && !o.hasOwnProperty("arr");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-8.js
index 053888a7f5465489e1571c37a787a1a637c998bc..4614d3bc39299647bf342e175cd521c698fc28b8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-8.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-9.js
index d750d49980e69f955987456226d3ca225be39301..ac7af035c80927d75a1d37df13b19c9734cc5ba5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-9.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && 2 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-1.js
index fc91512075739f44ddb849f0e7d6e44c784addef..e710c07dc0aa8345cf3a495d631dbad2d587d736 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-1.js
@@ -39,4 +39,4 @@ function testcase() {
   if( callCnt === 1)    
       return true;  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-10.js
index 85f0e3548b684846b4de82a2f39591c0ee426990..915a846e004b02ff134179c16bb25baa4b08199f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-10.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-11.js
index feb7643ca8d0fc693563391772c642efccd8e11f..e2a52e87015412ecd1cc805eef9d916a61e5e4da 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-11.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-12.js
index dffd3c2d1a02a36c7eaba0cb78a7b9474e9687cc..f21e5b02a826e2f97c53fd3c8aaaa264afbdc7a5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-12.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-13.js
index 3bcc1b880f9c50c80a3d26e7cda80d0f0d2c20d2..455d1eeecf7ed87c25d4c3cd4d69e6badb35f225 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-13.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-14.js
index e0d921f18f72bf2f2815bc0622a2537f399a7d7f..d71cad46564d1cf09490ec7835b993d5aa4ea744 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-14.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return arr.every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-15.js
index dda392f70bb274872fb1a0045b81434e8669d99b..c0a97a7941f087d6ebbf719ce9960b10b02eaec0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-15.js
@@ -55,4 +55,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-16.js
index 3ea51a61eea72eb94e177e05d82aa8143c9cd293..5c9bd3e1726e8d215d5ea19a9eee0d0ec5650445 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-16.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return !arr.every(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-2.js
index 3a51aeeb93c2bd0f3a6f7b3dca8765dff7142b94..71f3efe692de6f9cc9d3728be975ae8cabd409a8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-2.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return !Array.prototype.every.call(arr, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-3.js
index 60cafead2c13a6aa723287098dbe9b8819618029..cd93a7141f383ff50be42fa6105735db54fd7156 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-3.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return Array.prototype.every.call(arr, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-4.js
index f4c62fda698b962fa4cccf517bdd4843185d6bff..3beb35b21cd62c10e277cba7ef8b2e7f5b5e926d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-4.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return !Array.prototype.every.call(arr, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-5.js
index 17597f99da9a8ac9950db97b1964fbef7bac710f..272ba1785554476579c6e1d1dbe5f379d261a9e6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-5.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return !arr.every(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-6.js
index 5b68fb527ba5053632f100864e27bf8b6a9006e9..3027ca7bae7d2684693c05b1d1bd66ae08ae5729 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-6.js
@@ -53,4 +53,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-7.js
index 157c456e6263597e574e9e816a93ff1acccc497b..c4122f3976bb865e1b56c39ab0a331982336a3f9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-7.js
@@ -53,4 +53,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-8.js
index 1a193c31a8d23ccee6f98f0ea53ebb0f08e4643a..9b1072cc6d30bc563f30b03293331cfc7aee7b67 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-8.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-9.js
index 1d27a27556d82e89ab958812d4420059f46a3d74..1a95edf0ae570b0d3d82ee1db9d855c9da26e604 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-9.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return arr.every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-1.js
index 178b19ea60c667a3b193f384d4381024649cdf16..498c99f3f294d8752b2a231bc82bf6bbc3edb8c0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-1.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return !Array.prototype.every.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-10.js
index f5f3d68bc9e54363f9d6b63b69b2baf1864233fd..f0d9ffd31849ad5229f4fe840002cbadfabd2f52 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-10.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return !arr.every(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-11.js
index ef5c96935b46afaa33f8e7808fb5f8a3e673a365..7f2324ad03106634b791dcccb0145532174b3075 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-11.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return !Array.prototype.every.call(child, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-12.js
index b5a6d4cb00c2d5ba7ae0608e44bdcccdf8a02c0e..f95d936b096300f7aca242d74623c32eb7dd65c9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-12.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-13.js
index 0878ae7104bec6e4e14cf86629fcc072d722698f..80e3eb078e1e939f1e760850a12de8934b909eaf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-13.js
@@ -58,4 +58,4 @@ function testcase() {
 
         return !Array.prototype.every.call(child, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-14.js
index 6c4fc7295e4dc5f5889280ae99fb9288afb65841..cab1597a7bcc35a87290663db0a741348d4a4860 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-14.js
@@ -55,4 +55,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-15.js
index 454e62f940331087291204351415ba941c052ef0..0862ecd56e608276fe48a95ee45a25792c9fd4b9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-15.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return !Array.prototype.every.call(child, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-16.js
index 15615d6eecc859496961e8e4e4becb47cd23da98..ae4c2ea923342068f262fb6060363977b0cd1fe9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-16.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-17.js
index 5803816450b780eeaa0a68e3a8737d7f2d8b4831..a7bef8fe20e371b37e4f12c0536292a5c1fce9a5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-17.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-18.js
index b203cc9db055d6fd034566c70d8623d303aed102..58c40af900437e2282f2d8a12a6b63aa748bde32 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-18.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return arr.every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-19.js
index 502e7de3c0491543a75323d4d38997050166813e..5816024ab6ef07be640b5bf3fe9e3f73afb6ca5f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-19.js
@@ -45,4 +45,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-2.js
index 8fd538bb762569f289a02bbe75421ff8ee31c55f..dae6303c181b8d66eb5b8b2d61b3270c2aa040bf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-2.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && 1 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-20.js
index e9a74ea49b1a2a8aadb683d9fdbe845039ca8f4b..e62e8017c9532af3b9a98c42bee7d76f62ea20ec 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-20.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-21.js
index e7d3d9012080f8661b4bcf906302ac60577b1373..7d91ebbccbb9c9ccc9ed330730c19001db857129 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-21.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return Array.prototype.every.call(child, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-22.js
index 90ebd9604c5c1fc7613796ecac562fe777ce7710..5d16e6c8938cae164914de18f34fabf6c8344de8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-22.js
@@ -45,4 +45,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-23.js
index 5d9e0f1d5a2771b0c979fe2d844ea2dc0f1159db..54cc0d13b757ccc6efa1fc1c64154734965a8636 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-23.js
@@ -44,4 +44,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-25.js
index 00b7f6cb99c6128df1f750879c68a2ef9c2f2153..f3da9abdff55d8b2853c8aa11029cbd9c7d73631 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-25.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return func(11) && called === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-26.js
index 811ca58f3e1499695bcd618b9a4211368cb6cf98..b2d89fe404e37266304e268d93685cce9df42322 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-26.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return func(11, 9) && called === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-27.js
index 1388be23cbae317aac9890d22a3693f3c03e5d14..09cf2b1ad5bb212093af650b5f3842756ebe7b08 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-27.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return func(11, 12, 9) && called === 3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-28.js
index 3777b2dc06ed5999327257f5135a8d4dedac4369..249a393aa8b4fb748a4165edad0d97068ee741f4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-28.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return !arr.every(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-29.js
index 077f25b2c703730911ffc4485c538c62493df254..b512fe5ebd3a079679d3dafc0f71a20ca7a028b4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-29.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return !Array.prototype.every.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-3.js
index 040b56fc20ea42147058a6b51e4b27410391f089..79fa88631385eb10277de8244a9b33f699a8867c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-3.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return !Array.prototype.every.call(child, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-30.js
index d96761ffac6077f991d3501a048e3ac927f23422..4ebf210ff5f170241deabca6e4a83bcda721b7ae 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-30.js
@@ -49,4 +49,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-31.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-31.js
index 057486f721e4e925252fe14b01a510fcea64f444..b7b25fcf07f20b1a6b0efbc2fe1f4872673c44b4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-31.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-31.js
@@ -52,4 +52,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-4.js
index e1f3ee074839a8516a9018145f4810cd2a97382f..9f1d347142cde388dd31953147afd51a7bcb115a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-4.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-5.js
index f8684eb836d6c64d009bbf720fe9aaff901a5098..2c603d4a936a4b77e0ae5c523075bf2b0148e698 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-5.js
@@ -56,4 +56,4 @@ function testcase() {
 
         return !Array.prototype.every.call(child, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-6.js
index 371640a087da78668dde98c0902d6c394715babc..ca5018dd85a36089b8863365c87ffaa47af403dd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-6.js
@@ -45,4 +45,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-7.js
index 7145e3057114eb6904d137bfd37cce9d65253f92..f876be5a84e6b6b98fe927cddbe69357f78b5fd4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-7.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return !Array.prototype.every.call(child, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-8.js
index 8b3cf8ea34c59e157c5b8f411008d8f453a4076c..0183c3d9a4998ceba7cf7a1b1cfb5898ee7809aa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-8.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-9.js
index 3820dbf54bb1f3cf1405180cf9f811419e20ee60..2a516fd009b9b9e1542878296150b292af26564a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-9.js
@@ -45,4 +45,4 @@ function testcase() {
         
         return !Array.prototype.every.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-1.js
index f6c2fb10236530ef52a23ea86f15dc37f5432890..3f97ab25c9e29c18c5c9fe9996158ce2f26aec55 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-1.js
@@ -37,4 +37,4 @@ function testcase() {
   if(arr.every(callbackfn) === true)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-10.js
index 6289475f042bdfe3ddd162029bf5581ae43f7986..f0f5aa44c0f4f4041ede7c168bdcf40bfc09d94d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-10.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11, 12].every(callbackfn) && 2 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-11.js
index dc261796cafd694e9b081b1d3204744cab9d952c..64ca0c3ad354c6b468d773c244dab9056ccb06c8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-11.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11, 12].every(callbackfn) && 2 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-12.js
index 4a7041ad4b708c0c4353f186067b67d8fc223a50..c6a6b7a13dc7313fd49216d9b3ce845b439f216f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-12.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11, 12, 13].every(callbackfn) && 3 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-13.js
index 9b41f663731c9fac4628339f4cd2d84d4f86ba2f..3a79bf809bcc6d5cad7ee741b165ddbd09320235 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-13.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11, 12].every(callbackfn) && 2 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-16.js
index ef40d33de57f483fe687f094acd5bd9421a4c308..cad5082601b573d727a9dc856a05a73cbff496c5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-16.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.every.call(obj, callbackfn, false) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-17.js
index 1f3201cf359dbe202cfe653c676f05660b00c9d4..0cbaea7cca02f4289853a2861d2b207d2e802da1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-17.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn, 5) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-18.js
index aa7bcbd62952437cdaf91800a714f3082457513e..b4736003c6b822100c8303dd411e560c00d95230 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-18.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn, "hello") && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-19.js
index 33d47229f9eb1337516edd252e9c66d1f08243c2..c2e8710219786b28608da62835f51dab2fdecafc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-19.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && 2 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-2.js
index 30578e72c66ba6c90cd084cc8753148eff7aad3f..16cb124d0dd54ad86e2e107e65863f8f35fddda3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-2.js
@@ -38,4 +38,4 @@ function testcase() {
   if(arr.every(callbackfn) === true)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-20.js
index 2a2563dee82efdcd1c5ada42e95b4fc4e36b6316..de0a8ddd39e489f6dee021c903830cd6a6f186d0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-20.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn, thisArg);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-21.js
index 4489c3b61e570f4189c4fc3c0024d4f11b4b191b..e0287113438d9895047f53aa689d31c10e2d9b84 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-21.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-22.js
index 6e14927e59f77de27acc854d49c620c32f2d34ec..bccc43f992dabceca7f42faa971a10baf3b5bf04 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-22.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-23.js
index 7428de150e4851882b449d60ef340daa19b06d78..aaf1cf4ad164ba0122df80c5ae38a790c4a232d7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-23.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && 2 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-3.js
index f1e122e38cef12048d9f17e4472bf4ab5595a569..936231b86edd8723ebe999ea1ff111b6d72ab69e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-3.js
@@ -43,4 +43,4 @@ function testcase() {
 
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-4.js
index 9a1f0b2a57cef8e752968d81e32905618318e582..f7f3e0839500dfc42b6c532990f492d68b3b96c5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-4.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return arr.every(callbackfn) &&  arr.length === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-5.js
index 9ad1e4441e17a82e126ecf1adb410db6bbad4f08..26690d496b6bc819b155503bc45faacede0a1876 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-5.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return [11, 12, 13, 14].every(callbackfn, undefined) && 4 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-6.js
index 6605fcad50f172b449a3101e44eb6faf985ca7c7..1b584e374860f61310cdb9c00361064079a32a52 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-6.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn, thisArg) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-7.js
index de08ca9e55ce127d824dc80e9a14eaa73ce17ebe..5eb1f17f82148a88ddb41b9d10854c4c567bb988 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-7.js
@@ -45,4 +45,4 @@ function testcase() {
             return 1 === called;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-8.js
index 383ba84cc8e02d8214255f0eac9e41ca0e3f75ba..6e27a77a539a47e50158614ee1422439dadc9723 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-8.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return !Array.prototype.every.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-9.js
index 10e14c0ce8dd33888bababdb01a89d7729de8546..0bce21d15bef22d5de4b0eae435f9f4e78b4d39e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-9.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11, 12].every(callbackfn) && 2 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-1.js
index aba8ea24d8758542f27c15b4b407d1c548e6271f..88904cce5a46341b7ebfcde561b672024304aeda 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-1.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return !Array.prototype.every.call(obj, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-10.js
index 8d3c81819763cdeb78e83f34e356b87d846f4616..00076f23d134c192bb9df7f7607e875836fe2b20 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-10.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-11.js
index 11a1e1ee85ec26cfee7502d182a019b128964801..51ec9adc0b7a7e817657f97e52d77bd96d836761 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-11.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-12.js
index 40e2cc8504d3c5f371865feae59cd5a81e3cec58..6414ab838703ba788513314f3f1ab64ba57d1aa3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-12.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return ![11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-13.js
index 81e6a71d6ab3d3a9698edc7a9733eb0386244a56..f01d0cb46afbb8b59a60d08a675bee7bf2d60173 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-13.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return ![11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-14.js
index 3ce314c9cdc87177662663acd34ac7f22948cf73..45835fec205a3a09f937a5d7eb3831af291c4af3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-14.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-15.js
index 6df0b73ed6c890678863902611a2bb6c55ba6e87..3ad2b97120311c6abd64c56fa7f81be8e1ac4de3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-15.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-16.js
index ae203db0f7503944c25278230ddead3acb420367..5bd03f0a19bccc78ceb9141210ab89eb3d7b3618 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-16.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-17.js
index f4881fcc36d1a21623891ab373a1f75f38929e03..70967f208d374563887f41ee8e9b0ef1d16e88ec 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-17.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-18.js
index 799c84a0403a506f0421534e1c82e932052db444..49bd53e2ca1519450dc6e5b79eda59f65086fcab 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-18.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-19.js
index 3072472d0d76a77a969d833d20994c6d3a659699..c6440b3a8103e339168ca58ddaeef871bd95e17c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-19.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-2.js
index 26c986145d965d36d1c595e2961a0b7b9c0ccc6f..9b1df6ba83fecda1398e4c4ce61db25d78e19708 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-2.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return !Array.prototype.every.call(obj, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-20.js
index f91873f0809c348c2533ec629fbd8f3c95080442..0b40d5b9457d035441334e6db1b87470b9a8901b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-20.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-21.js
index 46a0eb0ab2f6eb497cb2a793ce962fa6c1b90485..9af18add14d49835d6b952d011171d093e8bc6f4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-21.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-22.js
index 4975caf3cd1afe28f77fe6b496b6eaa7d7008674..c518855b5ffeb8ab779f5d108446a75dbdd6110a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-22.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-23.js
index 8ddd517ab9aa87459849d6968ba48bbc69dca71e..c842e60d5088be65770cda40bd8ae06c552f302a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-23.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-24.js
index 8587a3181c8c9936ef6e3b66b5b54cd1b8b7ef7f..a7532d6e5337601a7c4849808db32a00e6c4f21c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-24.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-25.js
index e0834ad3c7e1e4e03578edbb2d6331ac9b9cda2e..c8b814985294e9775fbce217bcac258bb2836adb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-25.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-27.js
index dc2a1f372db275eed11387cc8e4461472d920b0d..ff59beb039fc835a5304bb0a9700201daafac341 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-27.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-28.js
index 9049a57675ba8fee287bff700b1fff5cfd8fd31e..82cea99bcf29b3278e5e8d144d53c32d73e0c23f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-28.js
@@ -60,4 +60,4 @@ function testcase() {
 
         return !Array.prototype.every.call(obj, callbackfn) && !result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-29.js
index d1c26e133367553076a8e8dd5aa057813fd2e050..767081522a4f43a3edb425ff2ec39917b9601a02 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-29.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-3.js
index 8798db4fd06396e28d8ba687acee2ea21d4606bb..177f534bc7b2d9c06580323e0e6cf21c138acff6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-3.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return !Array.prototype.every.call(obj, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-4.js
index 177d88be538f995910b147a08a6252dc1650274c..b4ac92972aa217a3e2b3b7b5041f9dffecbfeb29 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-4.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.every.call(obj, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-5.js
index f7bef021fa20081bec3ee1d75ba50874ed107fa5..9f930541cb7015e6721a81c83278e491581cc404 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-5.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return ![11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-6.js
index 92c1a126471c6d47c1e82affb6da0cd70afe0d97..d322a4b5f321d0ba5561889b740ee5cdce108625 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-6.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return ![11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-7.js
index cf9fb8d60bdda52c91f0cde4e842413c30ff7b60..ac1a891fcd9ce13c62f58f8b25ef39e9bb4e6b97 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-7.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return ![11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-8.js
index 5236eb67d021cee2cec976667a16dd7347d4e4fa..558f0c72fb1ca0b864b9c56f72f84ac47dfcfb9c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-8.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-9.js
index ef376fbae02017289adb1417b9358496b85ef6bc..6f9c5b301d87eb02d8db1de2e42b6ad2dcaaedf8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-9.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11].every(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-1.js
index dc4ac0e18208fa168d2ca8e0ab0cbbda562f667d..8bd2c4f1e4cdcd5743f6e89a04103c1e723b093b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-1.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-10.js
index 3caa55df57b1d0342c28c8f9da97f0937135a7d3..f71bbef38ec08e8fc018c75bdc9e0a8750bbb1a6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-10.js
@@ -43,4 +43,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-11.js
index d73a48c9967dc62602b81c29a75f0c9b73119d8a..40fdec50e892b3a5c0577da27c65fc57984df765 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-11.js
@@ -38,4 +38,4 @@ function testcase() {
   if(arr.every(callbackfn) === true && callCnt === 10) 
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-12.js
index c922f50670660f8389edb2a3460e34533d5f42eb..a5755d56736d9118159759df50493953a6c92ca9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-12.js
@@ -42,4 +42,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-13.js
index b70065c7d8fdad9a4ca31db9aea663a122dd14d2..59e63c039a1473a18c32d22ce40174c7e3e42e98 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-13.js
@@ -40,4 +40,4 @@ function testcase() {
   if(arr.every(callbackfn) === true && callCnt === 10) 
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-2.js
index 48338037bd5211893b3c96a84cdc2631c56acb21..f48bf35ec63f368893bc73cd2c3b0ce4d131bae9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-2.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-3.js
index 9ba35a79a54622dd36cca6644ae2cad5bde8f66d..49b437e1792bb84e26e97bdc163914e21d40d422 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-3.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-4.js
index c0533b5d2480748b81abd45459be6e2a99f42d2f..292e0c4f7c13ae8985e5ed77f74ccf23f2460539 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-4.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-5.js
index 0af2d9c9072723bd4e8e2f7cbdd6ff345502f835..ea481b4a7e02cc6751be76d77fed37a3de0cf21d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-5.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-6.js
index 5b076444e13a09fc8c88dff2299c0b648394ee6a..eefe068bfe8f48561119d2c3c2b5d5547b2f1c9b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-6.js
@@ -39,4 +39,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-7.js
index b7152638b50fa67fb8690e97b46ad5b4c1360b5e..cb30392c45c5ca93d367ac91281340702e1206ca 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-7.js
@@ -44,4 +44,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-8.js
index 7163385b912d5a01444035b3d1bf99fe53a75ec5..b30d4be7d7d1900dc2d6567feb743fbffdbcf612 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-8.js
@@ -52,4 +52,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-1.js
index 8973ae2be7a4ae17a98745f785a2d4b3f54c3605..c880369cb31938067ea3924d342374ae94b39c37 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-1.js
index fbbecab800af4bdc0713a5b30da35790994ae5d3..a76094e3b74c4ba4bbe513903b7a5d21ed9490cc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-1.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-10.js
index effdc9d3da241160751d5eabd3a991644957919c..c713ee72404f499761469a914afa137fa736a417 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-10.js
@@ -38,4 +38,4 @@ function testcase() {
             delete Math.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-11.js
index 26614df9d5b8edf6aab0d8a2bd66c892dffcedfa..dcb45a4a022eb1b1c765073b57f1d24b6b670579 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-11.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-12.js
index 1a87c759fe9ce42de8e67c7abd918a300a21e8fe..77a3ae56ad4cc21a48491e66b51b176066c6a382 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-12.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-13.js
index 38ead7909c63c852a6a7449374fc46d6e725e908..67f32a56350c3a920db444bed39124bacc11b103 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-13.js
@@ -38,4 +38,4 @@ function testcase() {
             delete JSON[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-14.js
index 7916917063a94be8739dca2b7ae03ea641c4dbb8..1dc44a57606917dcf3359e762c9a499f17c78471 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-14.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-15.js
index f7ec9ca0643f5484299e5e1a682161f7b42e68ef..c77fe1dd9d9aa365837f5d589db03a2a103805d3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-15.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-2.js
index 2e731f7346762cffb8504ac10c35fca676a7d661..5d42bb65551b45eef2ad9595626addbbb624b53b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-3.js
index 893aa01e84fde6a2065486ae1b3d2028ef06c16a..e05474f35e5b70318ace31b5760257cfa1a0a4a8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-3.js
@@ -38,4 +38,4 @@ function testcase() {
             delete Boolean.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-4.js
index 9dc72eac00330aff69b9fa8bb8a1ba02c7567891..1a3ba72ee9579674126c2e6e3e3689170539f821 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-4.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-5.js
index a87d68ed84aadf8fb53f49cc3a4a68baed2b4c8e..9942d61d540aed4e6e86d06a9ee4c135322cfea8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-5.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Number.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-6.js
index 5387b4229bfe8aa13dc7d3355be8ce8511df825f..42df0cf74507712cf6239f39b3a90b926939badf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-6.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-7.js
index 3e1362a06491c1604a5414695e29a09eed6120ab..20426044f42a736f3a49ad03ba4194d2a2bd8522 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-7.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return Array.prototype.some.call("hello\nw_orld\\!", callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-8.js
index 91de5b1927480107d3102407cada8e4f7eb999aa..93d2a69cc91690e3136944e1b1968e168bc2f0f9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-8.js
@@ -32,4 +32,4 @@ function testcase() {
         var obj = new String("hello\nw_orld\\!");
         return Array.prototype.some.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-9.js
index 817cbdc64ac1817c6cf8cce7c8af005234dfda4a..e48371e64663e08b2a0c82656f7416041685c556 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-9.js
@@ -36,4 +36,4 @@ function testcase() {
         obj[1] = 9;
         return Array.prototype.some.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-1.js
index ca087641475892dc2e6867494b0c4a5ae09556c0..52a9c0654f1c73c8993669fba4e7f8ba30eb0478 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-1.js
@@ -44,4 +44,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-10.js
index add13c13090772a283e4be3b127d97b4d19f3e1d..0eed38d2119d0bcd3d0234d78e68795a268bfea2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-10.js
@@ -53,4 +53,4 @@ function testcase() {
         return Array.prototype.some.call(child, callbackfn1) &&
             !Array.prototype.some.call(child, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-11.js
index a7f0b3eca672fb953aa8bca1cac3f2e4f356df92..433fab5a2b5008b7a385bd098f4f255924391eaa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-11.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-12.js
index 8a9b81c509db69345d1e386ff8c663c414bd3e41..84a74ab44351001f65f417fde6717e6183e4ac0c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-12.js
@@ -52,4 +52,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-13.js
index c950a01ae174dfac541365e0a172a254f1aa4b0a..0ca4adb93aeaefa0bcf9ff8b5990db6a74077eed 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-13.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return !Array.prototype.some.call(child, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-14.js
index 1effe07a9619cceeb87d837381f77bb143aaf268..58cff3f820cfd4d406d650ef18666408562da311 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-14.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-15.js
index 03021e1b9d64910c98850df8d5300a1fc9d9ff8f..9a73036bbb3c325eea27b9ddb4878d39dfe39bb9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-15.js
@@ -48,4 +48,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-17.js
index f4e2ed58faadbb74eb2ffd8f06e3515158ae1250..aad06738ebce595651b86197a0f03a36169901c7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-17.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return func(9, 11);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-18.js
index a68d26f4542bd0f86d210bf9a4d5dfc98bbd633b..cc7f39f7ca8060b7e9842a8007ab458d44493fa7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-18.js
@@ -42,4 +42,4 @@ function testcase() {
             delete String.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-19.js
index 15324c57cb6b727cbbd4a814ebf3efd43730f520..9085baa4829c4d53662595c99450e0200e41239f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-19.js
@@ -43,4 +43,4 @@ function testcase() {
         return Array.prototype.some.call(fun, callbackfn1) &&
             !Array.prototype.some.call(fun, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-2.js
index ab32afd5a7682805bb7d480b2980f1e73b3f6268..48c46af83a89862919648c59ec9e5839f6f4bbaa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-2.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-3.js
index cc734496c472833f6fc06ec3484a66d5c3893a09..bf07b4b8e1c2846a397c531ea29e47ff4de3a72d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-3.js
@@ -47,4 +47,4 @@ function testcase() {
         return Array.prototype.some.call(child, callbackfn1) &&
             !Array.prototype.some.call(child, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-4.js
index 6650f1221c21135792fcefe616116eac3e3f944d..11abcf03c6d88eff1ed44aa87ee299f7bfb4edcd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-4.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-5.js
index e4ed0a3a4f2bfe8e2d2977e66f41c875a8149275..8c91540e3b1dfc7a5532de6ee8b50bc1d8fb2978 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-5.js
@@ -58,4 +58,4 @@ function testcase() {
         return Array.prototype.some.call(child, callbackfn1) &&
             !Array.prototype.some.call(child, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-6.js
index bbfa05a7170e000d64409e1bbf11da19eb737cdb..89806d7d14ab8f3afa20b4b0558e5da0cb6ec020 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-6.js
@@ -46,4 +46,4 @@ function testcase() {
         return Array.prototype.some.call(child, callbackfn1) &&
             !Array.prototype.some.call(child, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-7.js
index 6c0a0e6d3d4c33da96a5c4c85d160a9ed7b56649..8e0c8962b346f0e0d672b4f37c40eec214b6b8b9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-7.js
@@ -49,4 +49,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-8.js
index d78932184b6221906a56e40c4dca7249767ce382..a38ab11302fdbab46bc0c39565691fb3fc09a755 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-8.js
@@ -54,4 +54,4 @@ function testcase() {
         return Array.prototype.some.call(child, callbackfn1) &&
             !Array.prototype.some.call(child, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-9.js
index 29c84f043d4117e27b1023614712b9c70753000a..17cd2720042cc1c3945ab669fa140363d757ccf5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-9.js
@@ -61,4 +61,4 @@ function testcase() {
         return Array.prototype.some.call(child, callbackfn1) &&
             !Array.prototype.some.call(child, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-1.js
index 859aaa348fd521f81970f2c063af4ae9a1761b98..5bc64eb7229be3d565bfaf1527bb5fdee1435307 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-1.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-10.js
index 5ae35a05e459c1677db946d1bf9e79dc661f0a4f..838001f2f2a8b8e7aee9b12492ccca31febb1d5b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-10.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-11.js
index 6a05d73beb340c798c2bf1ca2a6c9c516700a03c..d18a3801d3a01feae0ac5ed26f6545923525e730 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-11.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-12.js
index 71e1d61a339e9387a1287d5aa24877748139d9bd..158a60fcc8161e65ef0d263c237c4ac967729743 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-12.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-13.js
index 21732b9fc97e452fb276c11f794f190605eaed57..f22c53c63b78b180a5b9370e1b42970cf17228bd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-13.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-14.js
index 1815175f50dbea436173024237a4170079f89d2d..3c4e648738962bf8e0b439fed970430831994d16 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-14.js
@@ -41,4 +41,4 @@ function testcase() {
             !Array.prototype.some.call(objTwo, callbackfn) &&
             !Array.prototype.some.call(objThree, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-15.js
index 71996ac4df4c62801d4502a8659a3965b93b1e4d..01c1d9048c61a96f2bf374f41be7c0c0cb82eb4c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-15.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-16.js
index 403b7352bf9de9e5e9d3a420a1bea1e925dfce43..96988933d048e1381641fe4d0aad8622896252ff 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-16.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-17.js
index 39506006624d8a420521780ebfc77483b1f6fcb7..44009777f3a82d223b1e09c4f48c5f78e7c86c41 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-17.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-18.js
index dbe6fc240d2c979aaed14c7532bcf1786fea27cd..045ff5d10405df5573b44b01ef60a6b7e1f1db63 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-18.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-19.js
index fea151b7ec921f59e51b483f565d3af8b54afab0..40094403b38143f3f64bb6b396a0dea7787b74f2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-19.js
@@ -50,4 +50,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2) && toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-2.js
index 34ce302db80c437afeea6cb78f13c715b0de4dbb..aad18897ad065efe33d16b67512883bce57d0a68 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-2.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-20.js
index 2e70ff9206484345033539c974ec9388f78710a6..e68885cf569d0bb03c0d8984425d1eddae7b7676 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-20.js
@@ -50,4 +50,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2) && valueOfAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-21.js
index 31390ddb40094f529361bc9df89c2706406bc721..3bd63ce27aeebb944ed57807f4cf472cb5e23028 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-21.js
@@ -56,4 +56,4 @@ function testcase() {
             !Array.prototype.some.call(obj, callbackfn2) &&
             valueOfAccessed && toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-22.js
index 0bcf8f1a9df9b81a3bbd4d0ff0f6f7ff07f339e2..f6ed389b9caa1aa909035fb8e789c7ca4cd34c7a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-22.js
@@ -58,4 +58,4 @@ function testcase() {
             return (ex instanceof TypeError) && toStringAccessed && valueOfAccessed && !callbackfnAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-23.js
index 33b5c17c20ac36b717f86fa0c0310b6d96dcc47a..dca3370a305e1c3d570c04b845ff7e326d2388f6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-23.js
@@ -64,4 +64,4 @@ function testcase() {
             !Array.prototype.some.call(obj, callbackfn2) &&
             valueOfAccessed && !toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-24.js
index 7e7f8cbb5640f3e8aaae4ceb086229649e48dbd9..5b340f6db360d8175d333e421a5a02a6d67e9772 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-24.js
@@ -43,4 +43,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-25.js
index 1394fcbe5b49b5a41a12e9332c3471bbc2590ee9..ca5e6857b9b5dcd20c991ac2e4bff9177d3660f5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-25.js
@@ -43,4 +43,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-28.js
index 53531afc4aa437ebf46125c3b4a0393c8b140202..77b345ea0d5ef81805c08616196922abde220c57 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-28.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-29.js
index 47665a47ec89db768da64334972787c3155e5863..be4928467e7b6b7916f530bc4422e2cc2b311813 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-29.js
@@ -42,4 +42,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-3.js
index 39cb6924d96966bad5530be5d43c80d2f5e0db59..716c8082b1c3d0d0e2c6daf945674ceeeca35d04 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-3.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-4.js
index d1dd720532635e771345a292fb7ad82f40bd88a6..e3e71b59961e9925f33a004afce4bda33c6cd548 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-4.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-5.js
index 40a755888237110e60e0ca0212695a6335082468..8642e6542ab8652ced905e2f8f6d7f89b4d3be3a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-5.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-6.js
index 1f0e43ce3d61f9b1a8fcf861ef841f85621cfb68..13b52c5bbe2acc4158f354de2397742b10f0c475 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-6.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-7.js
index 2ff15232cae007629c2049a537f020837a1c2c03..ed93da00dee194d1a6f4dbdbe6923bfa95375330 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-7.js
@@ -38,4 +38,4 @@ function testcase() {
         return Array.prototype.some.call(obj, callbackfn1) &&
             !Array.prototype.some.call(obj, callbackfn2);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-8.js
index e73ae5d34dd9f26bd669cc5e4cbd943ebe5a3de7..6cdff68aebe08b9eaea3e583950e80e203fe6bb2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-8.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-9.js
index 7dd1c160ade10e303c308b41b15f74938a1daa30..671785543ee5fb60615918a4f0ac170f9ec75792 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-9.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-1.js
index b6ac147e943b9327d8ed104208e8445007f9b72b..9feea43c34f91b5aec8e3f824bdc514be86c5f0a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-1.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-10.js
index 4da590b0cca496610a76f3eda5c7317321893d0a..6019ea430ca3a9e4b5f0c276ca91d4cccea737bd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-10.js
@@ -42,4 +42,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-11.js
index 539ef59e5643518ed87a4e3a3ad6398553177f10..da758207f93d8bd1fc315d4ba541d2b800a52087 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-11.js
@@ -46,4 +46,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-12.js
index e70dc3622d28aedb376adf83a17f093f86485f55..0c2abc99e20ca7703b5db38b344f0a2f302894df 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-12.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [9, 11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-15.js
index 0c01aa3b41da87d128e724a41c7093914ec293a0..55d52f79e94352e79a5dabffcbd556457c11777b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-15.js
@@ -51,4 +51,4 @@ function testcase() {
             return (ex instanceof TypeError) && lengthAccessed && !loopAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-2.js
index 8237adfe57edb13ba2a76186b502d0e00d9f2703..096e35b4cb3965c37ceffb06414aacded2a1e2a9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-2.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-3.js
index 249c4e81ce10e3ab76afce5385e2e6883b38a773..766691d383516d1642bb1a9c17422dd1546b9300 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-3.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-4.js
index 9879faf9ce62a81554d6c4f6b61f86c83df091af..a04cc38fdba61894ef4057a71cb25834585b8ca8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-4.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-5.js
index f6e4def654fe3b4c90fbedef0faca5785e91a8a6..b3f12749550f8bdffc11032a96d87157138b3548 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-5.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-6.js
index 516683de8f427aaef3b442cdfc2d7558efc18a5a..2b11a780aefa74214a852e0f8d9681b44ca0a87a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-6.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-7.js
index 0b9f82ff21ca9fb3163a7e75d0e3aaa390dfc475..ab6c0d10ed9d741a5a2f7dd7a3f0a8804a47734a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-7.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-8.js
index acedf8d027d6623e515cc161dddef9e7b1c0d175..4c044a49b52ab4260787cecfe22b2fae376b1e1c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-8.js
@@ -45,4 +45,4 @@ function testcase() {
             return ex instanceof TypeError && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-9.js
index cd94161ad8e0d056275c1751602a5060de25b32c..0d7a0b975c32c1186d390993174ca261a697fc39 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-9.js
@@ -49,4 +49,4 @@ function testcase() {
             return ex instanceof TypeError && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1-s.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1-s.js
index dd46f170d285c265733dc53fee80948edfa62400..b6a201efc393776685dee7e717a993b3fd11cbfd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1-s.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1-s.js
@@ -37,4 +37,4 @@ function testcase() {
   [1].some(callbackfn);
   return innerThisCorrect;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1.js
index 06e58caf9dd1cbd4f1eabcfcbea09f65dd287458..f52fef96e994aa2913dc9e5aa60b766e1dadca8f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1.js
@@ -34,4 +34,4 @@ function testcase() {
         var arr = [1];
         return !arr.some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-10.js
index d498a14f8d6f7e20d6ce452cd4015189a5e3bfa5..5c2b6c392e49e7c4def2eec29698b1163c1b2975 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-10.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return [11].some(callbackfn, objArray);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-11.js
index 6cd414e4892523ce43a3839b02d99aefe9706f15..236e1f64b0ae8a6b0a4d3fedcff60f922e30f63d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-11.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return [11].some(callbackfn, objString);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-12.js
index ae6b9b627ab64625cd402194c859638407683fdf..9def27ec83cde4c9291debf61dda5609f774ccd2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-12.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return [11].some(callbackfn, objBoolean);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-13.js
index 8b4153903643a207366d147400b0bc7321e8f055..46493798fd16a8ed8a1879fb6b319aa51e765ea4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-13.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return [11].some(callbackfn, objNumber);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-14.js
index c751a59d17570fb283cda23ecdc7dda1d03ac3bf..8689354c194e9a42e3ab92ec30c18f8d6907a8e9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-14.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn, Math);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-15.js
index aa023f5567ae34ffbb5c6cbf685afe78846e41d3..5d7f31fca83b3a5ddca6783136c72d3109028e91 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-15.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return [11].some(callbackfn, objDate);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-16.js
index 579ee581ab1bff617ed0c64b1a9053f9877f1359..924840bb0658edeabe22326a736b76c592e451c6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-16.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return [11].some(callbackfn, objRegExp);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-17.js
index dc4dc60ea9176f6267ebdcd098162c54e0d5ce72..b8519708b083a14c065ac72169b48be780ec57ca 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-17.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn, JSON);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-18.js
index b2ec7c34f4493a6e4f2cb121fcdac58ee711d585..df8f92eaa7a2ce127fa01caf354b7b8b910d2528 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-18.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return [11].some(callbackfn, objError);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-19.js
index 2648aa940da6f7df44ee66323cfa292801b2685a..3467882cc6177807f5e28cf0078493e59ef089e4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-19.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return [11].some(callbackfn, arg);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-2.js
index f07435516bcc8a82afc7cffd75457717accb6eb6..fc815444e85df9eb391b14b00e4dab79a67c48df 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-2.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-21.js
index a9a61f3d136f5fc04408e532f60ab4331d787e86..725db737166255c9d792a38b48aa3bea56095c36 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-21.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return [11].some(callbackfn, fnGlobalObject());
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-22.js
index 75f190544bf48ab8124322e0ba21659617feba63..d8d4a41c4b93398b3ccb73ef980d55b9a444edda 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-22.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-23.js
index b0aa43d1f0a37204826a3c5fd0536fb909beaa14..649997dae7fc0016ca06fc44051f75c15b2a75d4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-23.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn, 101);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-24.js
index 6ccdd4f8c3b74f60fb1eaeab872de815ea6273a4..dbcf683ad6969542d86343d3ab7faacd90f36429 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-24.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn, "abc");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-25.js
index fd992c6937b9558640bdfa92022a77d2bc4399b3..ddea7bdc527852118883aec9f7ecf7bb7f6a5474 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-25.js
@@ -37,4 +37,4 @@ function testcase() {
         }
         return new innerObj().retVal;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-3.js
index dce2e2a1409c2e24e07e736095c6693c8e950ded..a7cc01521f41323d6e96d59fc8c6c31a9e5ab40d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-3.js
@@ -39,4 +39,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-4.js
index a93d8996908e96e73d5f05f51ff2625e691f6dcd..b7487148db9c2ee2ab5c311585420e3e9255eacf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-4.js
@@ -40,4 +40,4 @@ function testcase() {
       return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-5.js
index e7b870f748da87862adaaf7839b59bd88f7a07dd..05c5869de707a4aaae4e6726364510934d2202fb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-5.js
@@ -40,4 +40,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-6.js
index a39ef8630efb1475553016319cfacb6e9748efc1..da34a7ccc998a3e5548ec6a1b0d1c19fedbafc99 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-6.js
@@ -39,4 +39,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-7.js
index 922588a7365859f7598f3915be422bc43331dd7f..5a2d6ee245a3152dbc57ac7f9d59a5223db7fa45 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-7.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn, eval);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-9.js
index 82390e6f7da20a57b0a87e4595ebf3a1cd9929a6..5f81444b409bf261542d965c33ae7bea663baecc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-9.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return [11].some(callbackfn, objFunction);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-1.js
index 7a5db07d1e95d34d378b29bf5240c08957373e4c..f465b1e927eaaa940d486e7dc837860ad3135ace 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-1.js
@@ -41,4 +41,4 @@ function testcase() {
   var val = arr.some(callbackfn);
   return calledForThree;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-2.js
index b4a3b7f6419397fc83150ca552f04d92863780be..e3477286ec7b497c7a6937d8a9c8ce6e1299cf9a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-2.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-3.js
index 4edd26f06f0c1a33fcf5070a319e1e88936bf506..7ebedb1f1fdd3b0a384db4b9456a41b8a8c53009 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-3.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-4.js
index e1531031efd6b5c822325b343374e06d8934c932..49d20c9d77eda23882c621e7dc8c0b0e0f6ac4ad 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-4.js
@@ -40,4 +40,4 @@ function testcase() {
   if(arr.some(callbackfn) === false)    
     return true;    
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-5.js
index 8552e1b94abca537391e23226254e3ce0b0f4e3b..19b38c4287c8700f4e5fab1c3df4dbbda45ebf1c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-5.js
@@ -43,4 +43,4 @@ function testcase() {
     return true;  
  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-6.js
index 80b8fe6a829376fff0311f35f9968cd1f15da076..a6f9e4d6726b6612d347f6faaa8b1e949fb72804 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-6.js
@@ -45,4 +45,4 @@ function testcase() {
     return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-8.js
index eca4a6bcb5b5d4682315808bbfdec14d3de9984b..9e1b88ab75d4f5b3034b1249919070fa87238df0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-8.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-9.js
index b819f498aca6d93081b980819e9218ed4255f54f..3f7b264d0bbff296fc0bd23587f018cf860b99e6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-9.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn) && called === 3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-1.js
index 587b04bef82d65b21e84a611f6a59b66b8c302b7..7fe4c31613d421e8ac0b6c9603d2b7259e91a1c0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-1.js
@@ -40,4 +40,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-10.js
index 4ca5616de672cc39209d69cb1f942e2c3ec9bcba..5c6996474c2e0916aa79928d61b56182d253f63d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-10.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-11.js
index badae233aac6083c056b056a9bed23af0bc6bccb..f1f78197d500f490fc71e7a2ee764b91642255fc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-11.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-12.js
index d325820a3cb407257bc0065d6434453050b5fee6..48f3983cc9e6a19622aa585ae7b4aaa699375900 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-12.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-13.js
index fb6b27b7b297ecdf4f76e02f43553bf02fee9112..c84a6643d1ba808f967a5e2370609b307cadc76c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-13.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-14.js
index 3a8274d5dce4a94dff2c259ff41f433287ec6351..0c51ee378178a1955b24e3bffd46761361730a75 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-14.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return !arr.some(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-15.js
index c21ab11a2c68891c377e88e4b1a0b0b4e48b1523..b054bd1f7ef8dc50c0d19c89a64e70e9016c86c4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-15.js
@@ -55,4 +55,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-16.js
index 614766fc362a5f9977c662ca2b6f3011abc359a8..d6c61d22e1462c4ea69fd9862dfa486e0cc74a96 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-16.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return arr.some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-2.js
index e9d6a883e1d81ffe10855109f31fe7fb10db1ed8..d85adc9ab4aeb49e750580a102d84d6f1a4a2543 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-2.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return Array.prototype.some.call(arr, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-3.js
index 8a29bd39495cc243173553ad7e03103e50aa32c3..ebb3d3be6f0626b8f9e7cedc5e3216c51b4ac8bf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-3.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return !Array.prototype.some.call(arr, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-4.js
index 9f7ca0d4279abc7a2f185e3b3da9c7c6f0348983..d936bf3d829557de2472a65e5e42f1043110a1bf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-4.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return Array.prototype.some.call(arr, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-5.js
index f2990cb1feec2d7b222190f7d6e9c7cbbb37e26e..09e1f533ddb70fce7e456a5304025d85bac61f94 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-5.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return arr.some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-6.js
index 8a551a468ec7d99dcd2ef21c9d92e8f4f6d90eaa..369ad4a8bb5eb39c13244e2d05ae3f3ea29f73cd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-6.js
@@ -53,4 +53,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-7.js
index f7638338a11e62fc0afd91f11e781ea709dd51bd..eed770ba847d615bdb1b670033f637be83f516b4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-7.js
@@ -53,4 +53,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-8.js
index af333a2796b28e898ddddee7b74afb7f2a73e4b8..184ecc9cfb91c2b43b71cdf7562fe75ebaa195f2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-8.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return !Array.prototype.some.call(arr, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-9.js
index 439763aaef79ebed066df353619e7dc8d1150d59..ba2ae13e9771286090710f0b6309e98e5b7a060f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-9.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return !arr.some(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-1.js
index 42263c8268286ab14742f85fc93789e2bf590928..ba436b021954b86abfdc2d8e33088815f6756177 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-1.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-10.js
index a4557c9a82f35897a2dcd0e95767965225492479..2efaba78311bc224b9d6fe269adb3c2ef4e45e8c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-10.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return arr.some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-11.js
index ef7eb19379459249007b28baf1a328b3cd854e31..11d553b0a0a5ce2ce25fe1c2a081e6c803e65286 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-11.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return Array.prototype.some.call(child, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-12.js
index 01c72abdeabb113cbfed949ac8ff8b85f2d00827..223c11d23466bc3e825f428eb2cbe37148c4f339 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-12.js
@@ -50,4 +50,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-13.js
index b615e5c7852df7b47b6375edf33e52eac338a84d..f76473c76b28bf41d7d96b179d47bca3b1bd2c02 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-13.js
@@ -60,4 +60,4 @@ function testcase() {
 
         return Array.prototype.some.call(child, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-14.js
index 41184209a6ed303ffb89e03def5e0032ebc88a70..37b55d8f5fe2847058054c962abdcc913542e33b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-14.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-15.js
index 269e98643aeba3c01515c0b481dd53d74f2564ff..e45c8bd232f796c55b6465d60ab7af9852373cbd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-15.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return Array.prototype.some.call(child, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-16.js
index 4584cdfee17a373082e1ae29c6467e399c68d2ac..4150d39454a12caee4761a7dd2c6904efab8f1cf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-16.js
@@ -48,4 +48,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-17.js
index 3333102d473231ab3536a7d059c2093208c0d910..a12ae25f49a7af485bb6e469c77050b9369466ac 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-17.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-18.js
index 8355d52c3a2aa40322e6dfaecc9c5d72cd5b7ca8..da38b8ffeff5f35b13f70cc010690ddf7dbb56a2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-18.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return arr.some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-19.js
index 2e6a1fe5333cf9a616a801688d9adab09b5d50dd..90ca3d88ac0a2c6dff31474abae379278dbb236c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-19.js
@@ -45,4 +45,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-2.js
index bd9dd2e046b77edc709290e6b9a4a3b5ca85ea33..b5acedb64993a59764a4ec809f7e13c9c8c75597 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-2.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return [kValue].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-20.js
index 59c053fd37b4b09d1152bd071040472a3940f167..9fdd1c2f06d5037e8f14ac0ffa946b333f24f599 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-20.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-21.js
index 372ae9e2dd2401459240f30f1ca26fbfacf57604..6e0972faadacdf01af98bf38f1dc89c0f6d2b4b7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-21.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return Array.prototype.some.call(child, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-22.js
index d26b5b0f790712a85a48c19d6822d61672147cba..ad9bdc0069bfb6fc6b22cd85d08cf5c879d641ee 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-22.js
@@ -45,4 +45,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-23.js
index 1fcf7f9cc5ec01024587d58351ccbeffb60c28ed..3e5cbd3107bbc3043136be5a2b9d2190df74deff 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-23.js
@@ -43,4 +43,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-25.js
index 37c77b5df1a2b65512fa51b4e289514cf65be103..a624ac1d58a84675b9428dddfe9752db2a73ec72 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-25.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return func(11);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-26.js
index fa290571c01239ec754f2480c01fea9520029acc..79ee4b67569ce1804acb38f6e9a96cba2cf00af3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-26.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return !func(11, 9) && firstResult && secondResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-27.js
index d28ab97b67bd512e1d0002c9eae6111498416dc8..74281ec9f7eba18b1d9f4b49971b4d287e7c14b1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-27.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return !func(11, 12, 9) && firstResult && secondResult && thirdResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-28.js
index a85c2891bc2c314719ebf2f610a323b062ef1681..6c4db3c05d1e4815223baa8e311910eec74fa2a3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-28.js
@@ -56,4 +56,4 @@ function testcase() {
 
         return arr.some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-29.js
index 7758a858175bf8c52d8deb4e4902b40c013d9407..fbba1b707933f5c90e8fe7af0dcad18ea5fc3531 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-29.js
@@ -56,4 +56,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-3.js
index 058e46a3abce7a7a25c22766b7d925da883c51b2..a28150cffcb278914e4591af765fca8922303535 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-3.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return Array.prototype.some.call(child, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-30.js
index ac448da591e634f22a9d64c8f6cd5203bf9b951e..8ba4474765eec7b7ee2ee9df1139f5e1bf8859f0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-30.js
@@ -49,4 +49,4 @@ function testcase() {
             return ex instanceof RangeError && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-31.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-31.js
index 8f0274d2d1792bfd232812937ce7c364aeeb40a3..fc15f0af0404db903196051bd05c7af210e7cc3b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-31.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-31.js
@@ -50,4 +50,4 @@ function testcase() {
             return ex instanceof RangeError && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-4.js
index 07285835a103e61f2d3c550babc3d7dc7ef7a54f..7920921973ae7c1cbe7411d8cd97ce6243c319ae 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-4.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-5.js
index bf90e4e89793f17560beb9821a4d334cbe3c8e36..15c1dbd8abe989339fe0d1fcf864dbd6fdcf1615 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-5.js
@@ -56,4 +56,4 @@ function testcase() {
 
         return Array.prototype.some.call(child, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-6.js
index 73f27df2aca53415341a6d1a0cf450436378a87d..a90306ae5d5ddb40521a1922aac971302a799499 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-6.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-7.js
index 0c5035ed7c9575fa3fd1d40b7464ed7bf2ac0605..4292d2032ccf621f8d5b775c7104b7392054847c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-7.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return Array.prototype.some.call(child, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-8.js
index 00edb855192688daf5cabe56b8c1013b562038ab..23885bfffd43b2ce3bbfcb51de784513d961d164 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-8.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-9.js
index 884668d12b06f517babbe11d766c5fe7fcb00912..550bc6330268faaaa7cac6d33ed7bd9c637ab7ff 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-9.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-1.js
index 47d2c1c47699afc5c6b1fbec9583b687e201e560..b553fb477759a8066f0bcd2d502c3a078ab20ae8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-1.js
@@ -41,4 +41,4 @@ function testcase() {
 
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-10.js
index 9bcfc3a909edb6624317788878cb9495fca3c673..7978ba3455ca6e8cf89a5210ffa3e1054499f242 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-10.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11, 12].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-11.js
index e1c67f05ce9f0646c35657cce7c962571f9ca7c4..4c2213cac5faa707d73c939b3693b84648c2f2b2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-11.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return [9, 12].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-12.js
index 8e54a2217bb836a5c3faee45621ae0b65a15fe85..53fce3703138145f08ff2364e9d72b43cfec54b4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-12.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [9, 12].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-13.js
index c352d49645eb9f7c99847c5c0b7b9adf40e41f91..4a2d1b993b734126ce08988cfbbff95ec2d687c1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-13.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [9, 12].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-16.js
index e4c81357eed9f9e041e610b786de8232675c58a5..48d5600f23c33233b35eb8916644400b171aaf9c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-16.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn, false);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-17.js
index 82f45c07504498bb1e40de8b2a6ae65800d3ff9e..c140dd763735e9606800e7bd48cac90ded742ce1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-17.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn, 5);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-18.js
index fdffab06f9c7b56d615f4d3af82e3f37a83ae34d..ca119f1cb993fb7f0a202ada6c80e6fcc8b6a6ac 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-18.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn, "hello!");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-19.js
index dfdf5b05d48e39dcb093e286b8a2a7047e462970..ace238f27b602d22d5dff95155c2bd296ecc226e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-19.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && (2 === called);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-2.js
index 65462fb620dbb38a310ff37f17d6d7b6db3bd4f7..25e553970abd0d5ef17d59c46bcf5c39bb4baab8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-2.js
@@ -42,4 +42,4 @@ function testcase() {
 
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-20.js
index dab111aaaab5a804fe61ad89b1c9062c926903fa..1eb3108a9ea638bbd7fa4541f59092d3b10c76b8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-20.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn, thisArg);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-21.js
index 002b46b4a27386e90aec2cbfc54275a41b0aeec9..1b8967c899a7fc1f58f2f9b715444d16b459f80a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-21.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && firstIndex && secondIndex;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-22.js
index cdc0b3ce75019154adff17b74e7ba70fc53b9a0a..163af39ff14969fb9a8f895d404512710a123c0b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-22.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && firstIndex && secondIndex;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-23.js
index 699b19475006e6cbeb7abaf920a50b39be06aafe..caa61da86f8df093b38b25f7fcd541c4243b4d42 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-23.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-3.js
index 2cece4e60a7a51b65909bab957fa3cf494c337bf..820af163abb3cdfb374471c52e2b2e71e31cb50e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-3.js
@@ -41,4 +41,4 @@ function testcase() {
   if(arr.some(callbackfn) === true && callCnt === 7) 
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-4.js
index a323a4de18001b47f00e18c3db5642979ae3340d..af23f9228ea0fde64df39e9a65cf010492dc0ea5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-4.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return !arr.some(callbackfn) && arr.length === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-5.js
index ee534d818bfdf49cee1ebe405eec89e9360f1fdc..378541297fbbbf94340f327cd6422fcbce511a6b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-5.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return ![11, 12, 13, 14].some(callbackfn, undefined);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-6.js
index 26f0913cfd5d4851c467ddca246c51c5128eae74..be9dd308ab30c9665e8c8cbb36bd0d530189d1eb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-6.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn, thisArg);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-7.js
index 869159f21dd4995965cad0077ff391bb9a707c5d..9493276bc38eed05f8a2dcfec336bd0c1c970b57 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-7.js
@@ -47,4 +47,4 @@ function testcase() {
             return ex instanceof Error && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-8.js
index 7a2e9f29c2d067278fe0c8688de9238ebfce0c7b..e89401246918c7538d0da5ffcf187b5cd29cadcd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-8.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-9.js
index 109fad580f6ff7a2dfb08332b53be26bb14f00c5..12674ccfeb663733fd62d5009abde8328a95fade 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-9.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11, 12].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-1.js
index 8ca1a8be797a59e3e3314dcb4a5299741f200dac..fddc3657d936f947464a5047f7edcbead65a44fa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-1.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-10.js
index 3b4d0adc48741c09d21e9eb04df522582e4cae5e..f54c79a68bc734d89fd81eebc24030032c542c46 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-10.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-11.js
index 0ac4eaca3b367a8212a8ff6807d4c1aea2be6a5d..c749f0c5f3ed4fd25873b338a73d0859826acdea 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-11.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-12.js
index 8124b23f990ebfdad6f0650e39282d389883d812..f778fddcb63233988fef1028bb9e2193b587b490 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-12.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return ![11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-13.js
index d2a70bf88082c571f987ae71448aac3897dd3b2c..703b055af61d29ad0400c7245acde44079d2d9de 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-13.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return ![11].some(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-14.js
index 9a518064e3978cd1f672e6ca638d462bf1c66bbd..15850272043ac8a17d2db264ea705f7eeb26a4f0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-14.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-15.js
index b2ddcd8de1f43ddb60f61674476a795fd7e666e5..9020947353e51d2ed206c3611d907970ecfb5c80 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-15.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-16.js
index be9a183094064c5cb1906a7b82485ca27aaffd5e..301827fb46da80bf049fe8f7f10f2b8ede798d4d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-16.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-17.js
index 380b2570090e33b464fcb6fbde94f89fb44dcc00..9a7190ddff368589a8f4d986964bef441b5a1580 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-17.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-18.js
index 6ec71b5dece393d58bce3af4a11d33f606025270..8a8876daaf4d5aa9ff31d64457e39bfa9b1b3cd5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-18.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-19.js
index 0d022e203663ccfcac5ef616849b3748e992a377..fbe7dfdefffac36b6b1bd57668aca9e7e092b46e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-19.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-2.js
index e584b81b6d96316a33a398f5f2add971f8703b74..ae8d104bfa16421d557c79d3764f5a0cbe829b01 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-2.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-20.js
index 91c142bd7c89017170f3c764e8c491ba9a5b91f7..29a899e5579c9e0b91e71ad6a5dac255b60a53c7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-20.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-21.js
index c201c965e9238d91e7f641d940a58b9213fff95b..e3215cc97d188944b27f41bb4b59f22860303e2c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-21.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-22.js
index d954c106c8f4176acba333ae532e01c58bb149d0..67e0cec5cb6691860c9d2358b2aaacbe37cb29da 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-22.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-23.js
index dc10228111564768879f79e8c25006a57ece2e28..71b1800fe53bd2833857507cd936712ab0c355dc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-23.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-24.js
index 1f892bb99e104a941a7126a4b1f9362f09fcc96e..04a8eebbda36de934869525d908f1e5479b41f7a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-24.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-25.js
index 44045899e1b67eb5d02563cf7a6418f14cd7ec8e..42d9a8aeec34a56a7a22bf2a6a7db3dd2f2669be 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-25.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-26.js
index 113defc27a83e41713c93dd8e2c52042a90c3bad..2f5b650dbf4856e6e95b4890fd72941ca44896c1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-26.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-28.js
index 95dba471da290dca6d8d38dd5e1a89e9cf01f333..72765d04d2bb3d54e522d805a89515310295f783 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-28.js
@@ -59,4 +59,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn) && !result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-29.js
index 4137a853f3a8fe31429734dd0fc52e3e6647b16c..55222c22dac7c6e13ec4cbbcb65b44422a32d780 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-29.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-3.js
index fe530d2a8905090c5bbcde753ebf5905bec24cb4..64ddcd1d080900fd826df35a010823c4aebc60f6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-3.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return !Array.prototype.some.call(obj, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-4.js
index f007427398f49a728f2fdfb40422252568c5deae..5e847bfbc427824c09d21d6d133e05704a8b48b6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-4.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.some.call(obj, callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-5.js
index efcd68a51b65b768a6d8211a7495c8c3b5f334e0..2f673adc7597e3da6965e46f5271e4bb4de21cdc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-5.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return ![11].some(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-6.js
index 44877c2bdab64d0f9e994529df1c3b9d3ae62790..f880f970a792a7cede0d6d38eafc5e21cf42168f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-6.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return ![11].some(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-7.js
index 172939217ab5d0e5e89f7ec82c9ecb6cb061ff30..8a8a35e40dc7dba2c4a74c6c64d4ac4b6846b628 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-7.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return ![11].some(callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-8.js
index 4f93b3a21b43755dcfaaabf71e67092fd2a5571a..85f5cad4a57406f92edcfddb0ea0a4c3cce53c41 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-8.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-9.js
index eb9d44b37143652b684183ae970ca8233be52891..c4e61783b8ca9565f93e5e0a2d1f476fc1ab4976 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-9.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].some(callbackfn);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-1.js
index 5f706d4b5b047fd22f1fd3d1a7682abdfcf44da7..34c6e1599b360264b7d66442f319c7b307ce8727 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-1.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-10.js
index 5e02fa922751cdd0d3c97d9462ae88beb2ae37a2..7e0c68eab7f9ddbce399cac2be619457bb71ec7f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-10.js
@@ -43,4 +43,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-11.js
index 9cd4fd162d48fa24989223ac1b12ad4ac5706bb4..3ec5c7dab8fe5da1284bf64fa472d79449f70ec1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-11.js
@@ -38,4 +38,4 @@ function testcase() {
   if(arr.some(callbackfn) === false && callCnt === 10) 
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-12.js
index 121dcd87590333bfcf9711c3cc540087f4169968..3d402209daca587129b90691efd7d128f575e3a3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-12.js
@@ -42,4 +42,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-13.js
index c1e5b939410ef4338de6e8b55319caa0403bf930..0e51e732a878b68269b569ba91a78d9b64c652e4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-13.js
@@ -40,4 +40,4 @@ function testcase() {
   if(arr.some(callbackfn) === false && callCnt === 10) 
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-2.js
index aaa8e6dfea2c218d615608c38e37e577716e4ad8..09ad84f75ac0273475ded80dd19ee0935d0d7530 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-2.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-3.js
index 01884fdc988ae385334caacb7cc421a2c329297c..583893524fd0dc466de8b0f8ca239cd443d3ac8c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-3.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-4.js
index 3f092697e6f5589ba453598878f4d386de70f4ad..ff7d6d20022cd0d74312c98b58b7aebd617fcd88 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-4.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-5.js
index 4fd13312efcb9da9a70e170420bfef937f3027bb..4e9d0374cca68e3c52fabdb3d740bed4db5956b7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-5.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-6.js
index b8ba0495384ff44f618dca15082cc4746ac13315..bee0f96d5e4d084dfceffcdfe72bade97e9e6462 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-6.js
@@ -39,4 +39,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-7.js
index 58aff9065e9ac2de597286860ca3be24c93be20a..ae872bca744dd2b52fa04c5c581f8fcd7dada1e6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-7.js
@@ -45,4 +45,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-8.js
index 0c214b0d051969f641a0ce07401702f5fca1e5d6..40e7e7c2e78af9deb0bdf6bedf09d03035d59d0e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-8.js
@@ -52,4 +52,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-0-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-0-1.js
index 8edc229c45b944acca35b472fa50df46e0843ba0..54374b517abd415d355725ecb0b9bfe4624ffea7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-0-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-1.js
index 5692404bd4875dcfdea1c3e7d75e8cc79d99305e..50cc641c71a824790a0d98d8b677da5e1d390aad 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-1.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-10.js
index 9d71f789b5c4b387d70d93b9c169eadecc00ead5..ce17b3109441ecbe85f07c887b5b6945d4e66814 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-10.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Math.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-11.js
index 2cf2a5018f59173fc99c420519d010281229a645..87ab9532cc3f903dbfdcfc4d9e873df7d0f054e8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-11.js
@@ -37,4 +37,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-12.js
index 98714b7bfaa28ed254ecc3b20da3ba552b7267c5..deb4738f70cde81da63f825661262e7baf38c453 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-12.js
@@ -37,4 +37,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-13.js
index c654e750a7cf14d9e94d018996115277e6f68da8..c516f0f8348a0cf46cee444fff0aea4e637c7d84 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-13.js
@@ -40,4 +40,4 @@ function testcase() {
             delete JSON[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-14.js
index 3886da70ca9d231d84a856980613b28f1bde895b..fe991f72d699c58648469aace46fe4b41c305224 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-14.js
@@ -37,4 +37,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-15.js
index ff822e65e394cf8acb0aa7063172036be10a2dd6..114af391ec1027d26e90ec0995af3213f128a5a4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-15.js
@@ -37,4 +37,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-2.js
index c1f68a1f2803a5625a0e0385795b1397137a6119..b38a48eba426d03b5adf858ec42971f816a82d7f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-3.js
index ff8b23dda8e50ceb0ea387bb1a9be1fb81977c16..f52861e5d9fb10eb0bd13697dc9f42f91160eec1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-3.js
@@ -43,4 +43,4 @@ function testcase() {
             delete Boolean.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-4.js
index e3208b4123474a796488c09c8db93be0edc6f625..34a51456ff74050beb366fb35dadfc1f72688279 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-4.js
@@ -38,4 +38,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-5.js
index 8d079fbb30518f2e5932e3c7d2de71c3d8abfaf4..5f506101a8b193fda4226d2a9edec32470387d79 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-5.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Number.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-6.js
index ef087f33dbb43356b8b9e3046a55271ba4ff92c6..108fe09a24f40af735756c54e274d49f42e17618 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-6.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-7.js
index 1518121eb6fa236b0d6ca631b336b090132f1332..d230c9c0d210666719a1a378b49fb3434f5b7e96 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-7.js
@@ -33,4 +33,4 @@ function testcase() {
         Array.prototype.forEach.call("abc", callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-8.js
index a80fbce7a50a9c6907280e9ea2ead6229eab779a..6929986f6b6b373cd742bfd7474c89cb72abf1a8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-8.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-9.js
index 0cb06e50d6009433ed65a7729d33eba85d7bf178..35d46cec1d62b828a14de96e07e1697f8be10eca 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-9.js
@@ -39,4 +39,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-1.js
index ccc86d00513834340595f78dd5eb56349d35aaff..32cdef291040e7b194bf38ea8d24a1ed23b0a1cf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-1.js
@@ -40,4 +40,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-10.js
index 4dfb023600a20a231cbc888f5b1233dc45117017..690fab7f4f01c9d2682d160b6dfb1bbffa125003 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-10.js
@@ -50,4 +50,4 @@ function testcase() {
         Array.prototype.forEach.call(child, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-11.js
index c3dcbc85d72a126d37f4e48b083dc8c824755a78..c22df13125ba13ac9a2b29e26087817d2ca88991 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-11.js
@@ -43,4 +43,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-12.js
index 6f86d61fc8e64dc50b593c617cce0c0591169c6d..52ea7d470cc80d836dee1eabe80742d15b167766 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-12.js
@@ -51,4 +51,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-13.js
index e43901b5cb8dad91b34eb4bc043676ed83d12cbf..15af0e943d46ab09cbda3992a108678a5bd94b25 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-13.js
@@ -48,4 +48,4 @@ function testcase() {
         Array.prototype.forEach.call(child, callbackfn);
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-14.js
index 23f26ec434d901de79af73bf629261550292574c..15591cd3c5f0d10cb7ed2b282172296ff756c482 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-14.js
@@ -38,4 +38,4 @@ function testcase() {
         return !accessed;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-15.js
index c8dbf9499abe4ec2397e053f1bb17db9e2cad3d0..9a98a0b64ae746532f0fa55495b25ba85c7f1a99 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-15.js
@@ -45,4 +45,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-17.js
index 497b7d8ae3348ec946c3d7221d0945a8dfe56c98..7fa3d7170615ece831eb8aa2ae54a68b7b57ffca 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-17.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return func(12, 11);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-18.js
index 848259ce952c31b4338d7a8b17b81532b7ec3cad..7437a94524436a2a1baa3a9a9263e2e2edd39bc9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-18.js
@@ -35,4 +35,4 @@ function testcase() {
         Array.prototype.forEach.call(str, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-19.js
index 34ee81413c70ea9e551f8552cf63493cda6693e7..f9f753ea82283ca24e42ea3adad38f85c4a3fe25 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-19.js
@@ -40,4 +40,4 @@ function testcase() {
         Array.prototype.forEach.call(fun, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-2.js
index 817cdb5d992666af96de02b0865150e7177b7158..308d1f2e7c05b6b3029b4c2d8fc928c0626c8c2d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-2.js
@@ -33,4 +33,4 @@ function testcase() {
         [12, 11].forEach(callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-3.js
index 4ad1f207fdd5d6073838d5877ed6f12180111254..dce209a49a3f1affce78efcbeec0c6c31fc55a58 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-3.js
@@ -44,4 +44,4 @@ function testcase() {
         Array.prototype.forEach.call(child, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-4.js
index 45be2cea6d6ffc07365cfff87e199dcfa9cadb86..680ce29e99022dd45476492274d1cafe00bf40ff 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-4.js
@@ -41,4 +41,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-5.js
index bdeca138248cdf10b24db04388141f3d5ae8af88..957070c5fd64641b161271c197a15903de06f3cc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-5.js
@@ -54,4 +54,4 @@ function testcase() {
         Array.prototype.forEach.call(child, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-6.js
index eab24ba4a7591390ab1ac3abd8ebef17b6b6cdd6..9633c2618889223c50d61e647fa17de607247725 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-6.js
@@ -43,4 +43,4 @@ function testcase() {
         Array.prototype.forEach.call(child, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-7.js
index 3ba7b5175cf9b59eca28b0ad88a8bf622491b7f8..32080800f2473e50c3d3194fa690386199cc3055 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-7.js
@@ -46,4 +46,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-8.js
index bb7d94279602dda270045ca22274d85719987af2..e42c8670cb44c40881878849bd6eaf2dce7ffbaa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-8.js
@@ -51,4 +51,4 @@ function testcase() {
         Array.prototype.forEach.call(child, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-9.js
index 6a9adac19dde5da1dc172aa6ed222a3c8b77e75b..fd2ec2aeb4372761d129e813f1f58da2c6a53bf3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-9.js
@@ -58,4 +58,4 @@ function testcase() {
         Array.prototype.forEach.call(child, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-1.js
index a0360019a6920d32dc8a8ed5ffd2cb986ff54fac..c982a878cafc4fd50224481b74207e18143437ff 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-1.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-10.js
index 4eceb627e972eea69fd5a964449f2fe18dc54f89..6361f4cf1b84ba0873e3e583563e1c49f89dbbaa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-10.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-11.js
index 33834dbddbe440c42fb29da9d7704e2e5c513cd7..ee7da1bc2df279041974265667343c14df047779 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-11.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-12.js
index afc3bddf4211ea0ab3a456a9203852351360b65d..d4afb250dedde30d4ca19b35ece4b49d78d5f298 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-12.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-13.js
index 26653f79361573b8b1f18c57b1a1bb5dc07c224e..be412f881ec4b6ef138c7500b9f4d04ee0bf3aa5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-13.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-14.js
index 26a3c0a91d2eb1cb01920122db7489f0570aab54..6cb1c850aed503b61be5b92cdd6e7d9518859fad 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-14.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return !accessed1 && !accessed2 && !accessed3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-15.js
index 1473398c3a5978382c45c8cb623df815ac254abf..f6de62c0e714871fa9d488c564943034bd003ea3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-15.js
@@ -37,4 +37,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-16.js
index 94296f41d3cf5ef0bb86f3f0ebe5193ee6f8fc73..d5afd4f0674c0aeb8ca1e96d29873749609acb41 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-16.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-17.js
index 9a34a2222b193b29da72d0d8d53b8092af458f7c..6a27874f644719985ae6497d5643c83d888e68b7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-17.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-18.js
index daa9a31e75b81474b05dfd5f4a713df71d70ed4b..8a2e33e62fc86ea155122240965945f87348ae7b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-18.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-19.js
index fc818090413da6407f6a3a127da48144888f87bb..c071ff694c8961cbcad6c362918e1ac2227302d6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-19.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-2.js
index efb7e79439a3eba96bedc548fba1a1b743e38470..0e0c6f74cad3816fa2216e531238fc021a6b6fc4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-2.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-20.js
index cfc9c5bd72df28dea5ec6d82d9e4b3f30b2c0507..9d2bb7d3957d243e5a2f712220c708b9c02ffba6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-20.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-21.js
index 21e141e8225e7ccc43f77de2773208d93b3c86fd..b9f8eb9487bbe9e80f43ff154153c2b6d3099e8f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-21.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return testResult && firstStepOccured && secondStepOccured;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-22.js
index 6bd174b58d9c02f2c0e864f9616f81b7001c4f68..a16adebe77df21c468176418450f999ff1cc5d20 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-22.js
@@ -57,4 +57,4 @@ function testcase() {
             return ex instanceof TypeError && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-23.js
index 8a0b79e9418ba346f6c403cf5e4be83240924094..6e825442746dc619a52e624017b3e17012bcf242 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-23.js
@@ -61,4 +61,4 @@ function testcase() {
 
         return testResult && valueOfAccessed && !toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-24.js
index 12598c818fe8e98377c32c43183f9e688b043b7d..3fe59d64112bbe7115e63136d3119d6f2c39452f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-24.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-25.js
index bde2c49068a86ea4606bc10bef8b1710bcf8e2ff..2f1ddbbbe3fc2d4aa73f9a04491bf69ce890c50d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-25.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-28.js
index 5abad090c7db8968a66301a1806635c0efd3c195..042741734c01c4c034345e4780160ed11428dcef 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-28.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-29.js
index 05f46340de43c902475b7bb52849e632284039f4..4d8485cb4ccfc868bd0fb0da04d9c5429cc07ed5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-29.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-3.js
index 1999a3e66571014ff35a199f4a92b129ad030572..1d841b26c2325731387caeac002fb020ac938ad4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-3.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-4.js
index ba26630724173c039e85cd1be8ab1c575106a3c0..4c175c06e335d0d69df412c48149dbca34505c2a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-4.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-5.js
index d80c4f72c3603c88443cd259fba2525a64924351..1388ec817cdb36f7ae5403d0ec82adb9ed406609 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-5.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-6.js
index b3b7c586e746d889dd8c936de32de920d2a7bc2f..60d3ec2a1c91600228522ba3343c5c52a5b9954f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-6.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return testResult1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-7.js
index db02651912118fae10a2fc9e369c8ba242265642..4f55f1ec887fed97e5e3580ce46b4c015d353872 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-7.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return testResult1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-8.js
index eae609782e6e4c87fc96d50165bd4e3a9bae3f8f..67397b92695649d23ea3a3b644f6b2c9729fbe0b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-8.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-9.js
index 43a24a90762a0ec4598f3dc3c9a84029c3ae2284..e3f18262e94bd059c835395b45b56cac57423fb4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-9.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-1.js
index bf62ce3ce911a0d1275fe69a1777293958c4988a..a634784ee95cd42d33d3dea58b41241644dbe974 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-1.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-10.js
index 76dd5b974e18a8c8dbf8b36e42a47ddaaf317f4e..817198013556eef41b641d258d5827a33c564ee7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-10.js
@@ -42,4 +42,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-11.js
index 5b178e8b343d9d7eb972c1e8aeddcb8536434d7f..f85d077bd2f5e5ded77c666f8bd492620e5772df 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-11.js
@@ -46,4 +46,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-12.js
index c02dbcf8a1d1b03b698bede7fd88005d529bbcfe..12d63cce835cd5cf9222a39426f23fc2c8968f2e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-12.js
@@ -34,4 +34,4 @@ function testcase() {
         [11, 9].forEach(callbackfn);
         return accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-15.js
index 51387635a10d9667b888837b09044e749a20c623..9c0330ea0c122d72d30c8f12728a0383d8665abf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-15.js
@@ -53,4 +53,4 @@ function testcase() {
             return (ex instanceof TypeError) && lengthAccessed && !loopAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-2.js
index 532eba6e58454f9fbb8891c9a6e6ae490954d4cb..2b29a74615e5936b44fad1f89f09f26fd5eb5019 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-2.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-3.js
index 5e13d5fb9a0b33cd7c2d4b471674f83071a28b48..4db16127a15dd9f10757c32bc054e2b288040519 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-3.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-4.js
index 88dd285f51f3b818e7c6895cf22ab31cff3d91cd..5bba837feda3054f8e35d2e4f2fe82c78702f9d6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-4.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-5.js
index 8248d7b5bddb589ac2b28f09d017f8dee497b86f..534351c6bbe144ae48f9fbfd1800dbbd3cdc3324 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-5.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-6.js
index fd2bd078da7c231a66efb6ee100ff49ef4d63776..cbb329b7f78d9c16a313cfcef85a4b80db6685b7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-6.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-7.js
index 61654975e6580ffba21442c3067dde5e8c9e3381..20cbc140d1d1c0fc620e5b266067321b927c97f5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-7.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-8.js
index a02603860281a800c8b3b5e0bbd92001250f5ead..44a2585fcb314969245a3b2d8ee95ca578a59357 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-8.js
@@ -45,4 +45,4 @@ function testcase() {
             return ex instanceof TypeError && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-9.js
index d6463f7f4db6ec2820c7188bafacca82371e4cb3..57412f533ef99c78ee33f6b6c846c035c10a11f3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-9.js
@@ -49,4 +49,4 @@ function testcase() {
             return ex instanceof TypeError && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-1-s.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-1-s.js
index 473bf496004a63a66ca7aecd0f8b2cc4de47afcb..bb903e9fa2fce987840fe7c92b1fe168bf2c6f5b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-1-s.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-1-s.js
@@ -37,4 +37,4 @@ function testcase() {
   [1].forEach(callbackfn);
   return innerThisCorrect;    
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-1.js
index 18307e37d8ed05d9c0fbb8be37eff4620a5db9d1..c9485714a964aba4c1323cc59bd12d2f81f23880 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-1.js
@@ -35,4 +35,4 @@ function testcase() {
         arr.forEach(callbackfn)
         return !result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-10.js
index b9f7c63c497bc264fee2d6d5bfaae78806483012..139c27afc718aec7c0907648b8e5d4a2da42cb04 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-10.js
@@ -36,4 +36,4 @@ function testcase() {
         [11].forEach(callbackfn, objArray);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-11.js
index 327bdd29f1b03ddf29bbfecf0f2602c4f8e4c19f..248c87d5a2b45abb07fef67b9e07b82b7b0bd186 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-11.js
@@ -36,4 +36,4 @@ function testcase() {
         [11].forEach(callbackfn, objString);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-12.js
index 15a7cbc0e6a50ac98f50c060bd1429c206ab2fa3..cf8cdd20f545f23a06799265bc5480a3ed58f67d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-12.js
@@ -36,4 +36,4 @@ function testcase() {
         [11].forEach(callbackfn, objBoolean);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-13.js
index 7607c3b88c369f2f5aa0e5df78cbc26d52be8ea1..08dbab6ed68fc6a5e22157cb4c7e162f4adf92a3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-13.js
@@ -36,4 +36,4 @@ function testcase() {
         [11].forEach(callbackfn, objNumber);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-14.js
index 8ead51284a10793efbde1e3770c96d8bd9282298..40c7065e77007ed2e9cad0d2af7d302b9eef08a5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-14.js
@@ -34,4 +34,4 @@ function testcase() {
         [11].forEach(callbackfn, Math);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-15.js
index 11150114df2daec8f457daca2687dd34ce0fcb4f..8937d8020901598d7d900ac9e03a6b5e4e8bbcea 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-15.js
@@ -36,4 +36,4 @@ function testcase() {
         [11].forEach(callbackfn, objDate);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-16.js
index 7396cb0b57991a05392cde88f8e51bda56efedc8..4a71920ea45c5975a19d1a8d603855271f0a4f25 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-16.js
@@ -36,4 +36,4 @@ function testcase() {
         [11].forEach(callbackfn, objRegExp);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-17.js
index ba785b1ac3f82f84f88c92cda5c4a26cce9794d8..1656aa91f3d2ce47c9f0d6a221ec1581b76eaa9e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-17.js
@@ -34,4 +34,4 @@ function testcase() {
         [11].forEach(callbackfn, JSON);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-18.js
index d1726621b1bdaba138d5c84cdbc54ac177a70e1c..560ae9086f2bb04c71628e5bd61830a6ec7bb748 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-18.js
@@ -36,4 +36,4 @@ function testcase() {
         [11].forEach(callbackfn, objError);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-19.js
index 24c0c44e8a428fc4f0880fc3293ea65a4e1e322a..c7ef4338d18b8c2e777a859bf6dd3103233cbef9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-19.js
@@ -40,4 +40,4 @@ function testcase() {
         [11].forEach(callbackfn, arg);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-2.js
index 933d5671f0c902ce9f2cd4e58e84b720f0d51507..482c66b5b0395687be6817afae44ea92f28a3325 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-2.js
@@ -40,4 +40,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-21.js
index 51effea8f274c6c09c9ec294e751eddc10c77a5a..7e5871ac00af2b827780c6062aae6d9969205d57 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-21.js
@@ -34,4 +34,4 @@ function testcase() {
         [11].forEach(callbackfn, fnGlobalObject());
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-22.js
index 2291f459508286cfa8f91c8a058aac5fb6fa2f22..d9a15868051b656bd788165001f5335c09621ea9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-22.js
@@ -35,4 +35,4 @@ function testcase() {
         [11].forEach(callbackfn, false);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-23.js
index 4aaf18bd08e672359dae9f5ea73f22a7a03810b5..63439bec4b63f5711fc53b66fe7e989d2e2feada 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-23.js
@@ -34,4 +34,4 @@ function testcase() {
         [11].forEach(callbackfn, 101);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-24.js
index 7804a4c9ba0f09ba30d6427d5014b10620faffe1..6c1bae936150e74a25643f8dbb212d4e1b04d0b6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-24.js
@@ -34,4 +34,4 @@ function testcase() {
         [11].forEach(callbackfn, "abc");
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-25.js
index 1eec206a81dea77b1b01747b11fa34cb0c160205..59c33391d31eb5edb43b8325ea2aa2ad5e4f85d2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-25.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return new innerObj().retVal;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-3.js
index a4205e50ea71fb95cf012c22e0ade09555e5b5d8..a1f5d59886f558a6fa5294b6e88f1bc5355fd99c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-3.js
@@ -40,4 +40,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-4.js
index 9a70ab43635cf243cf91e8e370574faea6dfbb83..0362ed95b8dad298472c2d5bf14d337b4c9a9ef6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-4.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-5.js
index b66fad47280f2b8e99a184b69e96ecdf370b571d..553f9d2401737af013148d06c60a730febbfa2a5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-5.js
@@ -42,4 +42,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-6.js
index 3395cf17e4474aff606c260776eb615ebd51c7bc..421833e99eede33b652b717b3d193fc54a53a806 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-6.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-7.js
index dc36dae3026fdb2f378aeb497cf4117c25213327..2c7f3ae6fc10a1e28723c4e586dcd7f70c9e2be4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-7.js
@@ -35,4 +35,4 @@ function testcase() {
         [11].forEach(callbackfn, eval);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-9.js
index 9438696ef195a90d101eba6771e04285b73a5782..d8298d95506bc0a75866d0bea80ca2dfa1994ca3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-9.js
@@ -36,4 +36,4 @@ function testcase() {
         [11].forEach(callbackfn, objString);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-1.js
index 74599e11e95b6f784f44806426781da82e5b0585..cd1199bff69ae3784ce4bdfca44a3a8966ec800e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-1.js
@@ -39,4 +39,4 @@ function testcase() {
   if( callCnt === 5)    
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-2.js
index ef08f004ab8091a3793d46be724bf43ab515b1ef..9d7e472b07f127d682d0f0d713d6f3b363e18aa8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-2.js
@@ -40,4 +40,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-3.js
index 4ce38eda671121db389251f8ea84d5ca0dc99705..d0c0416fa4dcc3a60059a8bcf13b4471992259cc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-3.js
@@ -39,4 +39,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-4.js
index f3e04d2ffe66b4395ae2b24b882e7faca12d8958..4e79fab910d3df61bac6702bb17f422c474bdf6a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-4.js
@@ -41,4 +41,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-5.js
index e741156586ed673fe286d64c9fb0391f939b7052..6b720f8617e133e893e34f98d10340d8916466af 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-5.js
@@ -42,4 +42,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-7.js
index 5a45a919f65fc4064a4f04775911c9b2c67d33bb..c41da42618cf6940adf8a74b6f509500d1dad37e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-7.js
@@ -39,4 +39,4 @@ function testcase() {
         arr.forEach(callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-8.js
index 29045ec8ee6c00b92054d236184ee32500c3691e..4c495246181da70239b03caf51b8afec664eec69 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-8.js
@@ -36,4 +36,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-9.js
index 1394192ea1aae2b04c7e8fd9f0281e05dcae8160..f8b58d768fadcd070c1637bf4ca58ec56e83f297 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-9.js
@@ -44,4 +44,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return 2 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-1.js
index ee6af360670a5a53a1d71b96099fc90079e0fe90..e7af30466490f9d93bab1fc781de3e564ce4f6a0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-1.js
@@ -38,4 +38,4 @@ function testcase() {
   if( callCnt === 1)    
     return true;    
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-10.js
index c63fbfa5796f119e37d2ab19585c448ab885395d..58c5b1bb19c1a7b087dc441f912115ce951e0175 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-10.js
@@ -54,4 +54,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-11.js
index 90d81186fe5b660be8d9c5604b94720066f37c55..6e0c3ba7961ffb5b9b31fc6b01e647ab85c07834 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-11.js
@@ -54,4 +54,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-12.js
index 12593fb04b4b1adc0cd1ee1e91de8651b6b67795..83cad751ec0a6ac4cb1129cd8cc4599d2789ac5f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-12.js
@@ -52,4 +52,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-13.js
index f7759eaa158178da1f654d3084facd283422edef..1b8484435a6df625b1f1c61f8b7c86300d848f22 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-13.js
@@ -51,4 +51,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-14.js
index fe5258e33e2a6127a243c9fbdc7409bb973733c8..3c8b46e0e064bdf3a75260fd11ba03dd4c960a44 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-14.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-15.js
index 5a6fec3f56d0083d2a55df361b2210bd7661ec33..cdf60e86b0e9861352481a0f77d2f653293438d1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-15.js
@@ -58,4 +58,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-16.js
index 9b580dc92f9f324d298716e0eaa6d89bb05e5773..beba9fc0f269d59c966668d1323846e57603c33a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-16.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-2.js
index 084f1cb9a2d974522af23eea0489a4694b8950a7..3643fec63b8c55c9744801b29c7bd3271bcf8f7a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-2.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-3.js
index 22cff115ae0339596d06d9645d82a6bded381595..84c630700eb6f0bba8dd2d08448e08b8dfc0b87d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-3.js
@@ -48,4 +48,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-4.js
index 5db20e8669cd2e860e8d67350957b2ec1d609b76..2e99f773d376b2b07f05035190d043fb686ee0bb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-4.js
@@ -52,4 +52,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-5.js
index 63b63a8719ab9a67e5857d12ffbc7f1f8bd83ee5..da1599439e0919365bf74e1a5912c1da3d0e02f1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-5.js
@@ -52,4 +52,4 @@ function testcase() {
         arr.forEach(callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-6.js
index 56ce6ec392215b0d6aeeeeaffec3930a845319bc..ca0fbf79ec16b69dd693351ab56ca2f3f4e7b260 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-6.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-7.js
index f0ed9894a170416d319e47e1d6056e946dd5d707..90b204dfaffff9512defc38638181cd3ab89c19c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-7.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-8.js
index deffe4a06aadb63284cee438976c705d1684cb64..4f596ca24f3e0c00f6b1fca99a82bd7919a366b4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-8.js
@@ -56,4 +56,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-9.js
index 7b9d52849ca68fb3c8d36efadf806400d1488ac7..6f732c4a41e800a6ce70754c482acb92082e4fb5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-9.js
@@ -56,4 +56,4 @@ function testcase() {
         arr.forEach(callbackfn);
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-1.js
index 3e3580e59e5a8fbb4bb4d22c12d7727b067bece9..24bac5aa0fc64b59be489e0cfaeab6a2195f36c6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-1.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-10.js
index 3bdc4eaa0467bc178843c12c47e3579bfaa2e77f..1c26d247d08a2f5d9a252bcdeaf6db7650809c9e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-10.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-11.js
index ee0e8da5ade359da7cb684d8ec6ca589ff898091..384ad417b11ce884f15cc15e23b57bd48392fb36 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-11.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-12.js
index 905eb5e8008b0d39e42c78a33eb3a0c7d46748d9..d40efc2350eaf1b719a8360cc9a240081545b319 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-12.js
@@ -52,4 +52,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-13.js
index 557d78436c21c95c192542ee1a2d4fce1d9f34ee..3a25b7b1accf927c368bad87d798c50f87b485b2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-13.js
@@ -61,4 +61,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-14.js
index ebbfec8c32164d99525c7ff0dda70dd491c2af79..99331de652f93b98d3281ecd92efc8443c857baa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-14.js
@@ -57,4 +57,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-15.js
index 3c173b31768f792408cdbc53a8027d4d75b2af59..9ad917ff6f3c1d0b8d442b70975cc429b2fb6cd4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-15.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-16.js
index 3e2a1fd5a4b26dfc04dcbd09e6c7ee213cac992c..5b6f2b0e8d70f52947dd2ef0c1132e24368c4a4c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-16.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-17.js
index 34da658e88e17a77999d5560a3a6fd2fcc09d2f8..736d0ccb1f53e65bed8f7c8178fceaffccdd8fae 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-17.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-18.js
index bb0f68083a76fac2b0e2b2e76e97633093de73b1..cf32752e21a4f633957e8efdc414249ff573fab1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-18.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-19.js
index 163cc6cc024675155cc9d401fcb14172ccb4a454..8b49b568c158cb3b1f6ecc67ec57e96015eb7954 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-19.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-2.js
index 94da7764d477bad28c7f0883de2c7308270d5a0d..a54621d7a6c713bf06f991b1cf3c912ec0d68a36 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-2.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-20.js
index 57f4e9bcb7f09677dfb232a79abd38b9e5f1d32d..e024fe90675283227957cc29454aa3d11d5e7262 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-20.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-21.js
index a344e23384c85ea8e61c238ee71890bde256dfb5..ea3dd85902e9a82e6190519624294aef91f088f0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-21.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-22.js
index 1b37a858f6ea89e9020134cb27c354c001b60cac..3d2b64647df5170ac079b6d22860e9ced9ea87ac 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-22.js
@@ -48,4 +48,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-23.js
index 4374679741cfe849be5f6c0f7006cce98a8e2f00..8b0214e89b65f06971b8a6722db8e0d338e4f9c7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-23.js
@@ -47,4 +47,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-25.js
index 35383c239763a50d4bcd27d5328f0bed121a97bb..ec83fcddc40651feb7be3b0dd99978657431b2d7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-25.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-26.js
index b666bc1100e2084d5d84b99d6867e9ff4a9da07a..f2eef2066aabe11663050452eb93a8ca6eae1d3b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-26.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-27.js
index f20c21c2c74c6420a198fcbc1c00c1adb4294946..7e054b229164cb3ebd136237b858e90efbd76274 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-27.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-28.js
index 9c02cbfad7bc252c9dd83992db0a6baa6777adca..494a24611b3335feff5d1ae3a2d0587695bd590f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-28.js
@@ -59,4 +59,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-29.js
index 766c237b69758f298416eff54b7ccaeea0306a3a..ac4fff37a9d10740fddc2b239f9c21d191df8614 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-29.js
@@ -59,4 +59,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-3.js
index bdd6a7fee3b89c3a0b4b08b49221f71e6994dc2a..14bcf1ce083f558fd9da1b485ea19ceb71fb044f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-3.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-30.js
index 03cb18b30b0b06e07f617511ca56c0ec7a8a2a62..80b03f7a4900ddc309f42d8d9754b3d7e440e931 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-30.js
@@ -57,4 +57,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-31.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-31.js
index 84e4e56300d14b775d7ccb71ac06df86e50fb724..0be884fad5cebc905337285e5a31ce2bcfe5b983 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-31.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-31.js
@@ -60,4 +60,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-4.js
index 7949e8c82837ea7b94c37002c5425e41ac88cd50..43d35fa69593d9a2d93ffe8ae41f181cf01d6fd7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-4.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-5.js
index 174c74e4379c0f05c36be223c694c3e702017e4e..2ce3e26eedf243c0c60c6aeb97014729be9a46a3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-5.js
@@ -57,4 +57,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-6.js
index 16dba1ca8853200c1f0f98f87f2266557853c18d..303c9d7286450f73ebd51cfe0247a7b5c77d0fef 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-6.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-7.js
index 33c3eebce32874dace21fa9de13bba51175a2963..8394291bad92a22528f9dbcd4706662d6baf317f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-7.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-8.js
index 21c5c5b63fe796f516eadcfad725b89f2582b170..86a1d113a627b98df4810d0df068fa38d72a069b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-8.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-9.js
index 75ab6d748e003c290e152f3aa4f6904dd7c99d30..7fde2e00464337b20ef4c8ae007a9fd9dd2f1299 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-9.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-1.js
index e3ba5f50de949843e4a9bd0aa59ee9cf67d86a05..ea756b6b27818d0765583f687308cb744badaebb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-1.js
@@ -41,4 +41,4 @@ function testcase() {
   if(bCalled === true && bPar === true)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-10.js
index d9fde429abb2b4aec3e5ba0ca076c3e7d547280b..3abbbf913811080ccc289cecc47a6122963a3487 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-10.js
@@ -34,4 +34,4 @@ function testcase() {
         [11].forEach(callbackfn); 
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-11.js
index 9a435777c4f6901a3e18430409769f1afef72c37..12700165921192744a4cc7cbc469842d645cc663 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-11.js
@@ -34,4 +34,4 @@ function testcase() {
         [11].forEach(callbackfn); 
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-12.js
index 5b6df70c5b7cda6502680a0c959835105a64303f..10d4dd88c71817791502b6c994e6a5b513181d7c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-12.js
@@ -34,4 +34,4 @@ function testcase() {
         [11].forEach(callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-13.js
index ec3e295cf28935ed1f6a60f73aa47aa346ffa814..9fddbcb7cec40882b6d2a2ddaa190c81b57401b4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-13.js
@@ -34,4 +34,4 @@ function testcase() {
         [11].forEach(callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-16.js
index 3b192852160b97af75ca75c619c37f30ebe4e245..5b3e560a940d8fc0a29300d11197eef62b8078a5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-16.js
@@ -36,4 +36,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn, false);
         return !result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-17.js
index 8605b2acf34bdf94b1a2991efa1fba63f0842236..6dc1de12a8189b95a2e97f63be93fdc73af094f9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-17.js
@@ -36,4 +36,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn, 5);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-18.js
index 07c985f47b0ee1e41c8df77cfb87fc839c871fa7..d6bec5ea7fe97e23c5dc70d73fcc5f5251ab45c9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-18.js
@@ -36,4 +36,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn, "hello");
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-19.js
index 02df54a9eafb9f394ef4d2aa30c656e90651f0bf..8b64414c0f389fafabbe121a80646df683fa2253 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-19.js
@@ -40,4 +40,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return result && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-2.js
index 821c1f6823580e1678b611b644f1360f430e0ae8..307618701fd8ffe720378c660a2ebd1b08209ff6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-2.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-20.js
index d27eaba781cbf585475d7892040ca997f680e98b..26e9c844ea111ef4e5e24fed627f443c2974d91d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-20.js
@@ -38,4 +38,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn, thisArg);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-21.js
index fbaff00e456faceba5943698d92f0fcddc7c74a4..948d2b2c1b2722811260a217e954ea497bf1bf8f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-21.js
@@ -45,4 +45,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return resultOne && resultTwo;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-22.js
index 08b4ebfa6ac888b8a1212363a74d8fbb933b2893..83c33379f04c3ede074840913c12171fb64a60d7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-22.js
@@ -45,4 +45,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return resultOne && resultTwo;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-23.js
index 0f671bf2f5281bf631e52e797a050c4c14042648..b4700ccf131edddeaed095a8e6a1b39da6080313 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-23.js
@@ -36,4 +36,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-4.js
index fbb89dea26ce1d6112d7fc0e0acc86768445e66a..57f4ee4da2372d24190035bd5d5a0d655bb187c9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-4.js
@@ -42,4 +42,4 @@ function testcase() {
         arr.forEach(callbackfn);
         return result && arr.length === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-5.js
index a7b60cefb8f6710c66035dbf60f70e4d9d73ff94..337f9522f7a550f3aa299a2d56c5d8cdacb9b95c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-5.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-6.js
index 2033cdb6d2f2f2b1c49fdbf3a2c7772dab63dc9d..97e73c7cf96625f11c9125d1d51fb7adc6211822 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-6.js
@@ -40,4 +40,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn, thisArg);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-7.js
index ad4dbf2d85f0dc33bdaeac9cb978274cd76b923e..4fa85f93f381864f974ed31e6866cc252c3c05b3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-7.js
@@ -46,4 +46,4 @@ function testcase() {
             return ex instanceof Error && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-8.js
index c5a92abf48032bf3fb463cdb37f302f12faadaf2..a4778ac84a4e059fcacf7ebd9a1e8a168452aa92 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-8.js
@@ -42,4 +42,4 @@ function testcase() {
         Array.prototype.forEach.call(obj, callbackfn);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-9.js
index b66ce47e6b513c4e335bf7a1d5e9eb45d5e6b0f0..0ea0e4f256f1427f2b90be8341d386f35b84db4a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-9.js
@@ -34,4 +34,4 @@ function testcase() {
         [11, 12].forEach(callbackfn);
         return 2 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-1.js
index 4bc7a17793f89952e5099b7a7942161cf991f4ff..a4eaf2c1fbef766fdcce3ee3f26b7883293e0d5d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-1.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-10.js
index 2709fccbadeaca508144984264d70c5b3e74c508..c6484e9f5a299c37538d348c13fefb7c01bb14db 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-10.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-11.js
index cf3e0fd8ec2e370947c6c750abc33f3805b18f2f..7a69b7a7c7af83cf581d340727157bfa8d2c2162 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-11.js
@@ -42,4 +42,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-12.js
index 414e2f2f27a62edbde0975b2546f53dcf9fd2ef4..ee4a784b64b70627c757cbc064a7667f7b4f28ba 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-12.js
@@ -42,4 +42,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-13.js
index ffd31beab6761b37451f0f0469b6754b525470a6..16a70979669eca8af0be24ed5f29923b6f209567 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-13.js
@@ -34,4 +34,4 @@ function testcase() {
         var result = [].forEach(callbackfn);
         return typeof result === "undefined" && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-2.js
index 78cc523a56c3a8dbd3a47531013f49c645ea88f3..e45585e850862bd16cd4eaca9a5a8c92d7e95d9f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-2.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-3.js
index db31cc2a5dcdf76e0544ba2b8c45b7e2cddd616a..090f9ff2f70e4a0ad188eb9dd72b202bc74d8523 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-3.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-4.js
index 26ea14d141fcc8a009456a6ee2b8ccb7af4f2ea2..34d96fe0d98e41ce745488db4d4979f7ffaf9671 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-4.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-5.js
index df67c96bac2738f9360e4a2669fefc83d8d9c6cb..e0cfd7db47112e9d6bba190f35222e3d8163d5b0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-5.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-6.js
index 7f763f647ab423b1253a3b732bad129da3197cb9..b68bf4486d1104f409b6784b981d25a281b433a3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-6.js
@@ -39,4 +39,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-7.js
index 1c616890340b831adc8fffc94cddee267ce1e260..93ffbb24134834aafa6426eb3b93d3a6b5bdcf79 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-7.js
@@ -44,4 +44,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-8.js
index 7ae983d00ec74fd9b43353b7fd58fc4cda3fc5f7..ea306f79c3b155fc0ca431128f396ca83fcf2545 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-8.js
@@ -51,4 +51,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-9.js
index f4f5bbe60d2850d9e89833135fda55cfc3833d99..274f4d0db342f5a0eeb9cb8b79e7c84a494c820b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-9.js
@@ -52,4 +52,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-0-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-0-1.js
index 45d22740ee4b5142609cd9abcab549fd8537803b..83ee145aeb113ded4b91443d9d4ed2e552dae2ec 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-0-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-1.js
index fb4497bd26d6bcd94c4458f1dc050ddfd32f9772..42ebca7f6ee0c923052586abb1dd47ff144b83e3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-1.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-10.js
index a3350a1bcda3caa6a05a41c7da032189767ca4bf..8e17a99077bc3e29640db4446708be97d0a57349 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-10.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Math.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-11.js
index 7df8801d7bb3a771f5ecea41d7def982397aa540..abad54eb19fe1e04e37f57f59939c83148766410 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-11.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-12.js
index 3f5a5c39dec2d1e0200a18f4a6c14e313b13293c..df0326390d815d1f819b5057aa09d87d0c4ceca1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-12.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-13.js
index 0fd0d6399ef78f174dbf0869198d7c22d1cadb4a..c9547cba084b77d1f551db1d622db030ffbff748 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-13.js
@@ -39,4 +39,4 @@ function testcase() {
             delete JSON[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-14.js
index 581e730d094ff68362730fc6721f740b79ab987f..d967f5a9415426d0aea37728eba280a4adab229a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-14.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-15.js
index 2446acc834e4dcbba87bb054af9a71ddac96cf8c..490d2cfb9df3ec9d0ddd3c4278b58fae7af96212 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-15.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return testResult[1] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-2.js
index 633e2d3ae1e46127d22ab6d2c48838f0d80cd172..6d2f78a4cffbe8ec2286e5e9aa7e4eb7ef092907 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-3.js
index 857082b2249d13a3b56fd8c509e3103bbf698c20..4ae3605ed11b361ed8078d03d2b12db23e383ec1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-3.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Boolean.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-4.js
index d530579af83635298899f5b5105dd97a138a02a2..628cfc05d59040254a63e0bbae63784efc00c113 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-4.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return testResult[0] === true && testResult[1] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-5.js
index 92646ec96614309a9fb1d725bdcdb66635afd462..3d2528abfadbd92ebdc3f1c500d89cc1fd359beb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-5.js
@@ -40,4 +40,4 @@ function testcase() {
             delete Number.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-6.js
index a76444f3b88ac21a15a4fcbd13e65264a463539a..d0c500fb53c57f0f83e7e7415730c3896b8fabda 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-6.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return testResult[0] === true && testResult[1] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-7.js
index 757763a29148d75249fc3d05e25c31d9e7ae0a00..50d8409f6ba4d7d75b7e888acceb7eff8b8cb8f5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-7.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return testResult[0] === true && testResult[1] === true && testResult[2] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-8.js
index 39be0def2580239d4525f6810a0080fa95637496..716feaf0fb5c4db5fab1b2ad81c76aa3a2564dec 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-8.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return testResult[0] === true && testResult[1] === true && testResult[2] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-9.js
index d19fbf8c9a36c13510134c656c72ffb31084c752..d18d989564bfc2b721d17f56797017b516388437 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-9.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return testResult[0] === true && testResult[1] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-1.js
index b9dbaad3b7cf2bda5e7bb2d41a6ccf7f0c58ea94..54256b8a9aa67beaa42798577f1643c01f10d1db 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-1.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return testResult.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-10.js
index 686336b5420bb4c4a5830727b2ce5f4d7584d11d..952dbf17db9ea9857b81c3dd6aaf1e53278fead7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-10.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return testResult.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-11.js
index 21911d137862f166d3942f1c64cc5a4f9018fd54..7cd9845ba3fd1da43f32a25ec312526a030a56a2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-11.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return 0 === testResult.length;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-12.js
index 7d5f5ce9a38e78d126d721c0ed64cecc6ba9f1db..c2a5be67c34e1fd0dc01f6ec43b22c0c8cabd21c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-12.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Object.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-13.js
index aa992ef446e4f812ee61cca91a2a8ed13e35c39f..a67914bac4aa2102f4056a61ea72d6506712171f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-13.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return 0 === testResult.length;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-14.js
index c5e6a11f78d469729a47f3d9f4707b566fc162b2..560404ce5cea085a0e2134b93094c06f4b6b3e64 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-14.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return 0 === testResult.length;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-15.js
index 8dc5bed888e0f98ce9e08f4f526cf156326d194b..4bffdc9da1e46f4993708c31d1f1f8e188eac01c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-15.js
@@ -44,4 +44,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-17.js
index 407c1f7e25ccab4a640a59f7ad5f8c04b92fad2f..126e07d27e4fa63918bf0f84a83b22b4f862ef59 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-17.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return testResult.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-18.js
index f8d3d21c591b77104155c8c0001daaaa6a5628a2..8a8db873f551bc2bae354bc1f48f8a76cd4abe14 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-18.js
@@ -39,4 +39,4 @@ function testcase() {
             delete String.prototype[3];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-19.js
index 369cd79ed0e39048f41deba74d1f356df457e8a0..4b83909c5db6e9043cccc965febf2618887fa21f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-19.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return 2 === testResult.length;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-2.js
index f296399d894dd5fe931c266197ef1f64ea71c432..b1abad1c169195994eede6eb20ea672b1f09d8c8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-2.js
@@ -32,4 +32,4 @@ function testcase() {
         var testResult = [12, 11].map(callbackfn);
         return testResult.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-3.js
index 946fc299665e597c39d1ca09bb91c6c9a4b702c7..91d3ce9bd8f29786f1f7bb08b7449b3833f89745 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-3.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return testResult.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-4.js
index 4a8988e05e2f2c8141cbdd36f092649cd6a77fb4..71370937f756a0aa8e17c7e30d7f8b988ce0b3d6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-4.js
@@ -38,4 +38,4 @@ function testcase() {
             Array.prototype.length = arrProtoLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-5.js
index 92550bbfdedb9743e436721f05bb32dc7f8a472c..0f37334ff53226637af4cc1118b915f80dbb0b8d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-5.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return testResult.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-6.js
index e0f216742cf500a289d99e909990dcdfe9aebe3e..774f62c348502d418564ba1e3981fdce4a143031 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-6.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return testResult.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-7.js
index aa8bc1aeb1b02c2bf1e332bbd97654f1e74ed3b1..0fc6cd50df195d115e9c4b60d24ec04fa4393a3e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-7.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return testResult.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-8.js
index c477714179393679c4d9fb7268dd778fd0f44d94..77864c54539a7b8dbcfcb9c49c66f1b20e69bfed 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-8.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return testResult.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-9.js
index f28ad86c74fa878e0eb66deb13094aac4f3182e1..442394b9b2da7ed6ff2046d57eeb0be82aab3d5c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-9.js
@@ -58,4 +58,4 @@ function testcase() {
 
         return testResult.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-1.js
index bd3c46b9d773cbdafbd8073d9a9678bd091efed4..cd9bc52c1008ccd3c8b2d260564a3c4dd16d96f5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-1.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-10.js
index 7e3d749f0bfbdff1284f8795695bfc4615a03c1d..da427d831ab59c4cbde6f8925c5a03c545617bfe 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-10.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-11.js
index a6e6004730f25bdb7c0cf21923691b2d01281259..614fcd6ab5769d8108c285267fe575bfa3146818 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-11.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-12.js
index 69024cbc859c7b48a98e042c9caff70746c078fb..450163fc0c015c45dae627d64fa6fa678331d67b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-12.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-13.js
index 0e75332f9d4500f05cae08d60af4e9d80edf90b1..a9e057ca8cf41e2aa94fda89f8e6e73a9d5a906c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-13.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-14.js
index d2a46d2c55b0cc445fa08d1fbc490b3a93111b3f..9aaa5f96658582157c4286c72235e2c4a2d35e5c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-14.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-15.js
index 24b2c8a63ad473640bf568fe9afcb0013c9e6b46..75b0ee2c22a949158f64f47088eccf579d40c642 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-15.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-16.js
index 04a44f4ef41ec5f3d688bb6547a5104e25cfcd21..f4c2e0e8ad9eca5dfc27c703fc298e135bf38747 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-16.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-17.js
index c96495f9265fdc318cdb9dce7557a077716ae381..59dff3b7fa257a911a379b26f76894601a8a17c0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-17.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-18.js
index f19fa455fe958902c3c5fec54b90e7897c927ae8..6e32c24dac98e7b78b6938d2e1770598acb7b124 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-18.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newArr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-19.js
index cad1864b3072325d0dc085e38a9e380640b01392..2ac2bfbffc6ba895a762c562a22e72cb2a4ff724 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-19.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-2.js
index faeb3ef428766a1f77241f178a9a2dafc35c621e..cfbb4dfe8602b374347828a5b18a277b0819f942 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-2.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-20.js
index 4651d033b71be041820b24258f6d94a953463abc..deb18c7d6dce3be2ec89dfb0d05087f7eba6b5c5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-20.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-21.js
index f8249874038bd0e0c9d5f81868bf724b9b694bda..7e2cb130f30a6f89a3e6428a7ce5ae0ddbdc6599 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-21.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return newArr.length === 2 && firstStepOccured && secondStepOccured;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-22.js
index 2fe26da2e510d2196985514922ee0025a0f4b2a9..6a72d072d302bc1917d483f69e5c7cdc2d1a3666 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-22.js
@@ -51,4 +51,4 @@ function testcase() {
             return ex instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-23.js
index 55ef1b585ea446c4fd9d96dfdad21f0c20e4767e..5efb1c25301275987c5eb7b806efb1ef1fc7291d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-23.js
@@ -60,4 +60,4 @@ function testcase() {
 
         return newArr.length === 2 && valueOfAccessed && !toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-24.js
index fd6f3e26ac40bd11b454a510a1874c04e0535fe2..945762802cfd5ef5f9cdd2a87e5034e9c2e1c621 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-24.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-25.js
index ff2c05907ea9d43b411a0f339e9265b8acdd5b15..9a5065568215b66ca8a4c3ee9421e2fb4228c771 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-25.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-28.js
index be145f8cca5e16381f9b2034a2219700609b2520..f28c3317c17b3c991034cc14841a796252ae8faf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-28.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return newArr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-29.js
index 6f2d22bf142ee090025c5fc5d77aca75fa49f4a0..e2aeab13990b488a1feafa2774e19a689545111c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-29.js
@@ -39,4 +39,4 @@ function testcase() {
         var newArr = Array.prototype.map.call(obj, callbackfn);
         return newArr.length === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-3.js
index 83bee3ac35d36419a8f87b63317e7f083193554d..dc18c4e77168e5163a1b57d8f073f42fdbce6707 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-3.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-4.js
index 2e8bd6f7aeeb2e8b9d6465c4c072309eb704324f..2f15e24dc707fac04a79575ea687c4b967146047 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-4.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-5.js
index cdfbb8df9c3941582e1047e4c8ee42623414f94d..08da3ad3f455a2116b402e10c2819c3be4e414af 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-5.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-6.js
index a7fbb64dd527d7bc76e1452d4719076b6bf1ae89..19527c0ae8ca55a9718e7768be3dc3f1d35d469a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-6.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-7.js
index d66e204ffe1e414acdf2fbd134f81b7b18c5e54b..3a818755b5fb703b83122273efbe1c49f164241a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-7.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-8.js
index 99165c934747d59f5c1177b91c90c0ec4af18b38..e649ba912c4484d42436d7bae3b3426143046d2f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-8.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-9.js
index b555d35a13c9657463019cfb12491a4f0bda6cd2..e0fe6f5f7882fb601a835b9a3a14786cb1f876de 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-9.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-1.js
index 6708fa1aee32b621afff1aecac1a1883d18e0683..475983c6bfd14b10fada971158b19a48c27a5785 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-1.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-10.js
index 2dc148ea958eac02e7bec9e48025dbf518ec6d61..6ae9a8709b8185b04fc9d698ea1a29f0fa4e018f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-10.js
@@ -42,4 +42,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-11.js
index 7a2c916b5685e62f020604977164c06ec7a29b40..ad3af133c5867d867055ffbca5c981186b96df1e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-11.js
@@ -46,4 +46,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-12.js
index d9a302b96c5683753f5926a846dab26e24644fc1..1232fc7b9c9ca186b172a22cd14ac31a30af03cd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-12.js
@@ -33,4 +33,4 @@ function testcase() {
         var testResult = [11, 9].map(callbackfn);
         return testResult.length === 2 && testResult[0] === true && testResult[1] === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-15.js
index 65923105fe4a3696a7cb7d2a8858ab7f77553d75..27808e978348717ce9322948bd0aa61d40fbc0a3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-15.js
@@ -52,4 +52,4 @@ function testcase() {
             return e instanceof TypeError && lengthAccessed && !loopAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-2.js
index 29e8e958aff00be67c8ebf3248dccc780dd8969f..62b4cde6d4d41fcd6d377b14a754777cc5613380 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-2.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-3.js
index 236355bea3b43df7bd0a0aba1d5e20e120f0e8f9..630af4da9fbc86afcd81bcc5a50b1c38e65b0aed 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-3.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-4.js
index 77582189e1831eb4f3799a1e03aeab7e784236f4..923695a49936aa624260d598f83bfb8970484c20 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-4.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-5.js
index 2c8d9b0a08d71ab881c24ac3bfb3c13daa210b44..a46e1d7c605df7304a8d000fabfd05166a1bbd4a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-5.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-6.js
index 8aae6b91fbe73d3e2718f8c6500ca2ef01e2ac50..d83e5cec4916a18de8193ad808db0b066efe8d15 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-6.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-7.js
index 73f4ddb34ad3b31f4777ab3b2fa77259c23e4669..323cd3cc20e78d06be98a0a08ac4f2680953d6c3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-7.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-8.js
index 5bce0e29b8f67585913d935e413276f0147b96e5..335c2b82c586c8cf12c34e8462993eb8a4857bbd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-8.js
@@ -45,4 +45,4 @@ function testcase() {
             return ex instanceof TypeError && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-9.js
index ca050fb30ef7b34c87eac95387ff741a0113e770..8bcf766e61ad4adb0a26aef1ec3816731746f437 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-9.js
@@ -49,4 +49,4 @@ function testcase() {
             return ex instanceof TypeError && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-1-s.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-1-s.js
index a38779fe0f7544edfa5fe9ae19a6c1ecddd354e7..0f058a064c76e6a371d2c23a1151aa4232eff028 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-1-s.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-1-s.js
@@ -37,4 +37,4 @@ function testcase() {
   [1].map(callbackfn);
   return innerThisCorrect;    
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-1.js
index 1620a2db9be1858f553e684af41ee700a206e49d..16578aac3d394210f5a382d334a51486b52652f3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-1.js
@@ -43,4 +43,4 @@ function testcase() {
 	delete fnGlobalObject()._15_4_4_19_5_1;
   }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-10.js
index 651cfff7fb74041cb58d919988899a043a012115..63ace52a8a425ca1661624b53f92b4e14413537d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-10.js
@@ -35,4 +35,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, objArray);
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-11.js
index cd8bb2a516cc70e9af11729da90a3cb84a47e8df..957639738a5a91cc0dc392ce2aaf4f2ca395ba23 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-11.js
@@ -35,4 +35,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, objString);
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-12.js
index 0f4580946e94cc882b165f73d6c48f43b5e34c78..b94edac5aaeeef221d082696a240c820427cf01d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-12.js
@@ -35,4 +35,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, objBoolean);
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-13.js
index 30fe5efbfe57bc8d7393010fbbcba54937390050..b001bd266eb477d13cddc655f0844291f10913b2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-13.js
@@ -35,4 +35,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, objNumber);
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-14.js
index dd3ca59ced9788c7fa7ca6ffc765b1c27a4c57bd..97c8ccfe4efe436c282f3fde85b7caac40c6e697 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-14.js
@@ -33,4 +33,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, Math);
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-15.js
index 41f900488ed7bcdb564218dd4d42275628b8714d..cd7572c744fa17b469e2ad66616f526e154af640 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-15.js
@@ -35,4 +35,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, objDate);
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-16.js
index f231229428868a79289ff327e0b93a6b961c7505..f44ada842dfac3f445a594b3526a74c9e100d2cf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-16.js
@@ -35,4 +35,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, objRegExp);
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-17.js
index d89445a10863302a1300a9e7f58378f32915bb9b..6eb3f97372a25c0e47e81872c89e60885fcb01b4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-17.js
@@ -33,4 +33,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, JSON);
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-18.js
index d4e3f5825c0e89b830f1a81bacffc419a015453b..930b82115776af5494edf1daa6e95120c5d4ea2c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-18.js
@@ -35,4 +35,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, objError);
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-19.js
index f6ccfdf4f8330df568d733e75b59aa9533674ad8..f5dbe5a806859479057f35f0fea1a0434fe054c4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-19.js
@@ -39,4 +39,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, arg);
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-2.js
index f6ea92f60fa2c870782ef8bd055530a483f1295b..7324df1b436fb2bd7a8988208feca6687ccdc8eb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-2.js
@@ -39,4 +39,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-21.js
index 8a1ed3bcd192b6374cb26b21e9c66f1dd6d31391..402001fe340c7565926b26c80d9f9117d4582526 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-21.js
@@ -33,4 +33,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, fnGlobalObject());
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-22.js
index a0b4335d10014baef25037fad39584be241f9ddc..73adb6a7623ae34e6a88ab818efdc98332cb0845 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-22.js
@@ -33,4 +33,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, false);
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-23.js
index f0ed94509d09781f4db429cd399f0c677a0a4667..b8ef5830b892efe7d0d6e602f3ec517d9bc12197 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-23.js
@@ -33,4 +33,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, 101);
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-24.js
index 16687a7298cedb388f8bc86aa44c627775ec68ce..9c3b6b9ca26557ddf0ff71fe010d7c8c0e203bba 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-24.js
@@ -33,4 +33,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, "abc");
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-3.js
index 9e22e52217c81337935efb1e6d0b753e2122ab62..96d2371e3208079b4d4e83c146648c62c6722273 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-3.js
@@ -39,4 +39,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-4.js
index d257d4df4706e30d44ab7823df06d8379b840907..cd3cbfab86da6c1e2194f09d7bf1b3c5c2b28438 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-4.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-5.js
index b00ea9eac42dce1ff5c49df0a88bd008184f3cf8..fc3a684a7b31501b12408b2c49c96981806220aa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-5.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-6.js
index bdee675389acd98729c442ce3f0e4ec09183d639..f35869738c39c96f32743aecfed8ee85dcf3770b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-6.js
@@ -40,4 +40,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-7.js
index 3ef9474858aebae0d8d11fecd6f3ae715849a97b..a82f0eaec717a70fcd759cc7db5c75e3764475d0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-7.js
@@ -33,4 +33,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, eval);
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-9.js
index e3793147ec713c99ff5119067529090501bcc531..a50ee699597763b0b39a3fbbbb474e62317d5d7e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-9.js
@@ -35,4 +35,4 @@ function testcase() {
         var testResult = [11].map(callbackfn, objFunction);
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-6-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-6-1.js
index d7dddb15a4a97ec6d0c1dffb45ab1235be55a473..1585c182daa9529906b59334d880c663bca8a3f8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-6-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-6-1.js
@@ -31,4 +31,4 @@ function testcase() {
         return Array.isArray(newArr);
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-6-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-6-2.js
index d920b9e1f08169df85489dc7e5bd3187eb489a43..fa972b6ccc974326fc1005e8200f7fef934e526b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-6-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-6-2.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return newArr instanceof Array;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-1.js
index cd1f3dfa4795f307fda1500cfaf3bb13df922d5f..0b7d32b8fbc8bf89f54c508a6c08300a83f6a221 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-1.js
@@ -39,4 +39,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-2.js
index 4cafab7ff3e6523544b983e3f2bc4164a71ec391..274154d81a1f3733116ad49f6d31001c9beff16a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-2.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-3.js
index 31eaf4b4aed41e0824fe35d5e69402b67206cdc5..2d8548b73fc980f4951ba77fdf78b24b0731213c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-3.js
@@ -42,4 +42,4 @@ function testcase() {
     return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-4.js
index 873babd7947397a212134334d9cda0d5a64b5d34..ecc6fe16cb038b0b3df46f3177c273966c9487c7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-4.js
@@ -40,4 +40,4 @@ function testcase() {
     return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-5.js
index 7fa2409d61d48715028f4088ea1c2aaa3d88c5f0..339e5b501aece003a5837de34611c8d8e109b810 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-5.js
@@ -42,4 +42,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-6.js
index c687c4c50d8df39be942247ab4c3244ea516dd36..c9e15f168b8832dc0ff8f3b8bfeb481ff74971de 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-6.js
@@ -44,4 +44,4 @@ function testcase() {
     return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-7.js
index e48170d4cece85022ca4f4bd4ea9e08cab667823..6c21aa12b2b70eaa2de07892438e057310ac48b1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-7.js
@@ -39,4 +39,4 @@ function testcase() {
         var resArr = obj.srcArr.map(callbackfn);
         return resArr.toString() === "1,1,1,1,1" && !obj.hasOwnProperty("arr");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-8.js
index 28046db70b10979a1f19b61884e99ca3ca615356..e4815ad3c753b7a9d61d238c345556c5906951c8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-8.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return testResult.length === 0 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-9.js
index fc098aca90009faa6143166618400159d75d18a7..c267fc8398d66550389f6984128e843c5c325ab8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-9.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return testResult.length === 3 && called === 2 && typeof testResult[2] === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-1.js
index 4cc46ad68861936e0423f32ed68242433875f520..98de62fba804a9e5e928574b1421f5b7c0e43eb6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-1.js
@@ -39,4 +39,4 @@ function testcase() {
   if( resArr.length === 10 && callCnt === 1)
       return true;    
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-10.js
index e7bb19ba2cf16919d1f3529bf88ae2291d565b07..82796a6d8813e0d07018359c176d56ef5316cdfd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-10.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-11.js
index 3a8f5c760ee9d1a5657545b67fbac9d0a27923a3..1c04826cb33b39aa1f02cb3425d36ae9da9fea9a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-11.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-12.js
index cda54eb5c7180dbc61b7d708a7303a4b89fa5443..319be4b3e7ab9005ee6733609142c1348c6e5f4e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-12.js
@@ -50,4 +50,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-13.js
index 84907529b29dc8940875883ff9dcd67e9d7472b7..d978015c873f8dd1563d2b5c746d6fd9eb52efa8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-13.js
@@ -50,4 +50,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-14.js
index b032c84f982e4e5f9467d115e096f78da1a438ff..494b8229201abe96573414962f4ce864a99a7d1e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-14.js
@@ -43,4 +43,4 @@ function testcase() {
         var testResult = arr.map(callbackfn);
         return typeof testResult[3] === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-15.js
index f0743868ca5418ccbf5c72a88fbd32d2ac29791a..bcdfc1f68e517a87ef89b8fce0b89fd696d6c2e4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-15.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-16.js
index 772f5b46351ea9a1deae1a70e5b25e944403e6c7..97835602e547633dfdaaa352d808b4e4afe23fb5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-16.js
@@ -53,4 +53,4 @@ function testcase() {
         var testResult = arr.map(callbackfn);
         return testResult.length === 3 && testResult[2] === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-2.js
index f7d2c3e568430a46176b94740667e2f9780e40c1..c39565def6bda1d6f7322cdef2c8b3b3f6a7329b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-2.js
@@ -46,4 +46,4 @@ function testcase() {
         var testResult = Array.prototype.map.call(obj, callbackfn);
         return testResult[2] === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-3.js
index 33ea5747342799f44b6a3d94ee7b218bd9946b6e..1e8a5adeaf21b35c596bf570a1aea459d3161f53 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-3.js
@@ -45,4 +45,4 @@ function testcase() {
         var testResult = Array.prototype.map.call(obj, callbackfn);
         return typeof testResult[2] === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-4.js
index 29705dd623bb4dbc312433ca4fd1b18560a743b5..2ec10c92ac850eed10a21e66c20988a95db31133 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-4.js
@@ -52,4 +52,4 @@ function testcase() {
         var testResult = Array.prototype.map.call(obj, callbackfn);
         return testResult[0] === true && testResult[1] === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-5.js
index 82b451795ecde36b044db2f5e0907e1111a73455..8c8f9a1d50bac2d933d2a8fe849ccd85646f1f67 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-5.js
@@ -51,4 +51,4 @@ function testcase() {
         var testResult = arr.map(callbackfn);
         return testResult[0] === true && testResult[1] === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-6.js
index 639d8525e4c197908a27976f958f6c415e4acbfa..aa9f090d40063a6e1ee5fd15a14c949fabe449bc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-6.js
@@ -54,4 +54,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-7.js
index dada665002d81fa5967cf3f7cf06e46fcddc6847..ac6eadfe0d4fd6029bee6eb8a0eacc72d27b2f64 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-7.js
@@ -54,4 +54,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-8.js
index 527e3b5e2c7c6acc3ce5d9cb9f6d665b109745f9..398935763c59adaaeab64526a0aebb3305b3a9a7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-8.js
@@ -52,4 +52,4 @@ function testcase() {
         var testResult = Array.prototype.map.call(obj, callbackfn);
         return testResult[0] === true && typeof testResult[1] === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-9.js
index 6570ddcb72a3c8888bba1c20739363ced2d56c4d..b990b49ecbc93c5baf4958e2ff6ab0d239718698 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-9.js
@@ -53,4 +53,4 @@ function testcase() {
         var testResult = arr.map(callbackfn);
         return testResult[0] === true && typeof testResult[1] === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-1.js
index a863eb24b7ddfb44b7a91be3f6d786615c40ac61..ec2d62925230b123967e382a01646003973d451c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-1.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return newArr[5] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-10.js
index b4059e729150dd57185048190bf186d92155c0ab..7f723d73a71599b7a59c4d913554a8b8a4f60bce 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-10.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-11.js
index 2e0cfaf1a30ab5a26c5c3616213b11b2fe33dd17..8adb11eca34be54d9215dfb2d2316ffb23ba3683 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-11.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-12.js
index 34d00e5aa0fa5ab56809e958c290d42017bd4773..39d03decece56a985a945372d9373e985e904493 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-12.js
@@ -56,4 +56,4 @@ function testcase() {
 
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-13.js
index ab51f45ac980214620334f8e9dacd504e24ee1f1..11c0249b8c585fc8d6bc40ab12dc4e6360624a26 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-13.js
@@ -60,4 +60,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-14.js
index d3504387a1e634843d3e446491e157a185ed2027..8a4f1a70f00c0c8f621b7e2eadd17bc85a3fdf03 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-14.js
@@ -59,4 +59,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-15.js
index 7c230a7d6f326c894621c6a5cf3ace770e507e3c..5542205ce5103aa0abbd0b2c367f59cf2d0f9052 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-15.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-16.js
index 2d15fb33e5c9494983569fb00bb5398baffefb64..f16324b636c5d8dfcb750f617de52d63b19207ba 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-16.js
@@ -52,4 +52,4 @@ function testcase() {
 
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-17.js
index dad8be376671c6b4e205134d0002cd9e4fcea8eb..16f5f572a78c32522122dd54d11a8cc4f5a4ee46 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-17.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return testResult[1] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-18.js
index 56b118405902c988d70b2e92866cbaab1ad5f89d..55cb32080eb2725d8a5dff1bf30a7d3d8ea56eff 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-18.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return testResult[1] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-19.js
index 2e6a2bc4f9d6d4c2f93354680e4f3fa93f9c3c2a..170461739b69e39155fb73b7edc14d287ac5ae6c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-19.js
@@ -55,4 +55,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-2.js
index a9717ce72b8958331bda70f71cb8c291c6165b22..b4e096873c375c2eb3ca28b6cf3557fd20f78dcb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-2.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return newArr[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-20.js
index 75f41c4cb2536dd9b5b7a6fddb3709528b4e4c82..e5c06ed1c1d2a7ce8e77ad90bb76ca84d673d75a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-20.js
@@ -57,4 +57,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-21.js
index 7ae53516dd3006928719b7f08f76d4c6ea23b62a..b1efd7755c38db1fa2b3c058b2210a8edb309c80 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-21.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-22.js
index 8fe7e7a09b7f6194ebb1121f130f458cc9b0a559..77137e88f67f35c4c4f0c24258a7777776f566fa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-22.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-23.js
index 6e7be7c4192f9fd2c04dd40946bf84004fdbd199..4ad3b70231188d8464218de14f07aa591139c077 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-23.js
@@ -48,4 +48,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-25.js
index af3e47f0a093c997d99d4e1cb087c4333a84851b..3c3fb5130a5007fc612e93038787c8c6ceb6b10f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-25.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-26.js
index d8e352888056a2ab4538c90007201aceaf9b5345..a82eab309c2f468c1829c4872ae82a40573b51ab 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-26.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return testResult[0] === true && testResult[1] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-27.js
index 53dbdb739bacb1858979e927d3d6502abf747ff9..95a97d979fca8f25516d5ce8521f1104a8ae9e4c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-27.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return testResult[0] === true && testResult[1] === true && testResult[2] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-28.js
index 5757eeee1a0eef3f7404d285aa301b988fcc67ec..02277ba12e47f5b8d87e4088a64895fa5071f737 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-28.js
@@ -62,4 +62,4 @@ function testcase() {
 
         return testResult[0] === true && testResult[1] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-29.js
index 6c625854d3b4eaf9cca789c0c4dd038256ff5a6d..fa679231c8ac21fd9ee981f72ed10e3e17e4cca5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-29.js
@@ -62,4 +62,4 @@ function testcase() {
 
         return testResult[0] === true && testResult[1] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-3.js
index 1460d58022669df8948eb6c70dbb3c5fe4390706..a6aa591dc7be2573c0e43101f3c3d167ce842ba1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-3.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return testResult[5] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-30.js
index d0da02c8425c3f16aefc435557191f7ba6e3e161..e11e116d7d3c96bbe82a2a7ea3878c0baeaa2e4a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-30.js
@@ -57,4 +57,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-31.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-31.js
index 01916b38a064a150ba02fd2612d87ae0f07be999..adc2d3ee15b8741769eaf10ad2be9c7af1c2e24e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-31.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-31.js
@@ -60,4 +60,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-4.js
index 26ff953158043110fd4c3954dc455fdbe54ab7df..246dd59179bf855572bf16ef4dc4e850ca2d8e71 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-4.js
@@ -45,4 +45,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-5.js
index 54e65234c01902c1b5e6eef4c41c3c8921f1fad1..703df955ccc0c7f505eb32fc33d58d2630d6ddf4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-5.js
@@ -58,4 +58,4 @@ function testcase() {
 
         return testResult[5] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-6.js
index 1e842284e83cd91b868fa5bfefbb6b12946b46bb..85a4dc1ea3dfe967404d531944181abf38954d69 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-6.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-7.js
index 4b057b5399db2afefda1746825a6c00327fe15e1..b476c1c8a23635d721cb41c1b98f1c2cecd5d6c3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-7.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return newArr[5] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-8.js
index 048f99ffb99681de0a901a19d8780f878ac8f661..1751cf41ab190c96ca7e57103f653c5f5c8585d1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-8.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-9.js
index 93c8776d29e168c74bef166ed977168731f836bf..026d841d530c6b7b8eae56a4e34e4113ff2a5a3b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-9.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-1.js
index 6337a4315753f090bf81f653873bfa87c50ae5b0..17ed87ec12e1d64b89a706e6d4202ff8947ef8ce 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-1.js
@@ -42,4 +42,4 @@ function testcase() {
   if(bCalled === true && bPar === true)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-10.js
index 76e9d8f12e11ee55859d0a7dec51b4dd635fd55c..61a9968618435ab05c421aeb9408109c92828c0d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-10.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-11.js
index 88e45161c3044055bfff98881e4fcfffb848b972..99759d8d8031ac81e141670892ff66b998796cd3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-11.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-12.js
index 96fd0962f337f25843ece25e554d24972b8c0cf9..8ea5d8786fc2653d6fbd901efd3925b887541c6d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-12.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-13.js
index 837853c6ef89e0f50d046a5b819af9ba22d46e52..29efd6d2d949a75afe993aa715f90b027d8b29b6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-13.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-16.js
index 82612567524998a78469be84a19292b39e85f279..8e70a1a7595de7e4d9bf699423ee1482417dd881 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-16.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-17.js
index f4a5118b12f2d4228383fa28c6bb4a8cb65ac474..c54f430399271d6b8576290d8fdab09d54a09671 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-17.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-18.js
index c0616a89f2875495d360da20ee9268b5a9c017a0..89810676d7f199551ffcb2b3b0eab8688c82bfc0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-18.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-19.js
index fe5e843394141030d2196345e5c2ed8859e0db69..fd1d73c4d9c5060e3a88c5c67661363af806f413 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-19.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return !result && testResult[0] === true && called === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-2.js
index b0480ef49dc33d07ae36ad0078ec349c99d5cd0d..7b51c2b1c7d324db8d18fa67065fac46a7057e3b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-2.js
@@ -42,4 +42,4 @@ function testcase() {
 
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-20.js
index 79cd5745645714c6d42d8bd7a4ec602900317e55..50f628d785ed8527e568aea7003a3c335396f9d8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-20.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-21.js
index 5618905802330d54545498737b2b72a1288e484c..5acd71597b9943c4448a0af5f0905a07a99faf0b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-21.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return testResult[0] === true && testResult[1] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-22.js
index 3abd60ef6a291a65c6ddd46d932e0804c7bda511..e78f9dbe5e8df5c9f71685c70648e5b7580584bc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-22.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return testResult[0] === true && testResult[1] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-23.js
index aa80ba08303dc9ce7231eda68006f27d1095a8d0..914dacd9117475f9b3f88e71cf0bab8214a32a4e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-23.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-4.js
index 59829725296889b9ebf4098feb8bd6cd43028542..e63c9f9ece4c457b00bc8e0e994e8386a2b1bae4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-4.js
@@ -42,4 +42,4 @@ function testcase() {
         arr.map(callbackfn);
         return result && arr.length === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-5.js
index cce4716791b17103857ad6997bc9fc5c144e9eb0..9a5616c7495f46baca892f398028b65808b24b98 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-5.js
@@ -49,4 +49,4 @@ function testcase() {
             testResult[1] === false && testResult[2] === false &&
             testResult[3] === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-6.js
index 1fdcee7ce11562ba3b5eed553149f1ad4877ed24..8b42833c476f9bec092d62f4655ab7ab4c2178bd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-6.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-7.js
index 11b7e474f661d5f05c9a76ee9a095e3090ee3b7b..568ea47d871e70d5816b730dc1f5a41f5fc89745 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-7.js
@@ -46,4 +46,4 @@ function testcase() {
             return ex instanceof Error && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-8.js
index 31bf6ba69c3b544a09b233ee8d08b9c2ebb77902..3d63ec48f260b1f9e0e06687661a7289c63f4e11 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-8.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return testResult[1] === false;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-9.js
index 0bbd4884457051915df2cf019a69d4c9ea6ce7f9..2af5fef91bed4eb48ac5a6f9d231d0c1fa895490 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-9.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return testResult[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-1.js
index a6f7f669714544af320c40b785fae2ed3e6c647a..89c9140d7a554b1a2caecd760795c331990225e6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-1.js
@@ -44,4 +44,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-2.js
index 52c64b9867e9be200bdec2d5c828da8d4f43de3a..4cb8eb3dc09b93deba1ab8252d21e1fc0544e9cb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-2.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr[0] === obj[0] && newArr[1] === obj[1];
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-3.js
index 311f366e5e060cc67e2e12756f63f29a2cf01095..945874d3d7629e8d04c1a8dfe4ee799269541ff9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-3.js
@@ -41,4 +41,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-4.js
index c3a9c4e7cf8ea68ea12c1061b415bfbb3b9a2487..f28a3f4a0d74937e8f518880f4979dc62a48d418 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-4.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return enumerable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-5.js
index c20f909514325cc832be3a166da7167e3eb3cee6..1b68b97ac73de5a0daeb6f4b0bb3f6085e24f126 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-5.js
@@ -41,4 +41,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-1.js
index 50626fc63a97ec56c5f3492eb6d43aabc65dab27..407a8e6e3f3e3b724c63e2b8d6a8a4f431918825 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-1.js
@@ -42,4 +42,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-10.js
index 98c65dd8ccc855c55f72405f4343fc419268b1d7..58972197f3d35daaeb8040615ac39d606a708efd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-10.js
@@ -45,4 +45,4 @@ function testcase() {
         var testResult = Array.prototype.map.call(obj, callbackfn);
         return testResult.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-11.js
index 350b521df334ffe9a34cccd666c4de10e58e6aad..dba901428ef2413062737d9be21bb06f77db2649 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-11.js
@@ -50,4 +50,4 @@ function testcase() {
             return true;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-12.js
index 281c72c5a1fbc99a8eeb980b00e3a9c79c116ed6..69a68ae416c6ca8948368ac18604e46453aa58f6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-12.js
@@ -52,4 +52,4 @@ function testcase() {
             return true;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-13.js
index 494823b4968eb77e939e90d54866af635e09b8f7..12cffa3670bc7e6d9ab5a1e63cfe99abfc43bf37 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-13.js
@@ -41,4 +41,4 @@ function testcase() {
 
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-2.js
index 34f2778de0bfd6cf363742295b5fb7e0355509c2..5e79bf2b2e748a329952ad1c6776eeed7ac8404d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-2.js
@@ -42,4 +42,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-3.js
index 310a4083dafe330d4213cd48224ab9e8d81e67ad..817d63dd5cbfcfeaf61377a5e16952965444963f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-3.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-4.js
index 7f36b69840fd7cee72bc457c11ffa89350e01bb3..c3fcd1acfacd6130ab1a3785406b601b1d71a056 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-4.js
@@ -42,4 +42,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-5.js
index 551168b311b297f16016ba843ef6a743799c9396..40a17b17da439c13617c58e3bba15f6dec37d6c2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-5.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return testResult.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-6.js
index d0391c5d8dea71e66abd16eadb3d82d84f008a82..1793993a1b55fbda27fca8c6532c8a3827a46b09 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-6.js
@@ -38,4 +38,4 @@ function testcase() {
         var testResult = Array.prototype.map.call(obj, callbackfn);
         return testResult.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-7.js
index 5a1021bc026581db5c7c4145e704a36d60d0ed13..2a54e66810af8e5b6b3cb84f8148824fe044ea63 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-7.js
@@ -42,4 +42,4 @@ function testcase() {
         return testResult.length === 0;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-8.js
index 0b6b770feee1adbfa11b0122adf2abbfc4b7badf..9b02cea84384632d64e0ad1c0026a2167272d4c9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-8.js
@@ -42,4 +42,4 @@ function testcase() {
         return testResult.length === 0;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-9.js
index 5d19c490951e67a5077243a379f41441559cf4ff..654482cd1f96e687bb3162d71a9809f80a1e63d9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-9.js
@@ -42,4 +42,4 @@ function testcase() {
         return testResult.length === 0;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-0-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-0-1.js
index 0810e6c005ddffedd3cfb26ee698fb64c13a004c..f20183234318bc9f65ea8c915f74f59efe69ead3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-0-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-1.js
index f5341fd9e9945c0b6852d50845b1c64009d169b0..4aea8d3dfa8da7e6f064d254ce73af159ae3f899 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-1.js
@@ -32,4 +32,4 @@ function testcase() {
             return ex instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-10.js
index 335651cb24076ecb2fa90c10b88eac2728bf81e1..d0899742ffffd41042ba429150dc662424669c25 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-10.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Math.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-11.js
index 0370ed699da156310e75066c80bdc0e68501516c..76ba7669f33fc51cc62ad0202078d45bbace8496 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-11.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return newArr[0] === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-12.js
index 899206d52288d5c4e88f252e026ff7cc7b2cdeaf..55182e67fa06a1f6d0712e23550e7f47a505a107 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-12.js
@@ -37,4 +37,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(obj, callbackfn);
         return newArr[0] === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-13.js
index b964a391ca8b9717af1a64fbc3451252b51da58b..d52d6a4f8cf1c2762323a0c01d17c8160adbedec 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-13.js
@@ -40,4 +40,4 @@ function testcase() {
             delete JSON[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-14.js
index bfb342062ff66e9e75eabc71dc6d15e4a2187d40..0252686e29818da5f106e5a8aa9474655b712909 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-14.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return newArr[0] === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-15.js
index 6bd4738c2bb1b01ee104059edefa4a92d2235880..638273123d8c8698c5fc426db485ab4e3dd1ab9f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-15.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return newArr[0] === "a" && newArr[1] === "b";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-2.js
index eb04aba28714ed00b0bde8d93d44b4c2018ad392..0a3f07a26feb9cbda05a550a8823d7d6a909ed3e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return ex instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-3.js
index 7697d6bb5bc6e5fd21b5ddc7b4277eff7a89abd5..53612d7fb2ea988b0217d6a3582b735d4b4b3168 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-3.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Boolean.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-4.js
index 57de5a7763314dd67b142739da1a9d871f3c748f..df898a0727e410b3f240c6e245411b8f1adfe74f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-4.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return newArr[0] === 11 && newArr[1] === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-5.js
index 994b5ff2edec2b638ae0613bd1901a2d448d82e9..6d17d6b60d1bd88f19008db7c168c7d73dc9e95c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-5.js
@@ -40,4 +40,4 @@ function testcase() {
             delete Number.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-6.js
index f93c4cf7c7c6efeaf476ae9286131f313d6656f1..56cd145596f6f7f43a308580b2d66d1031c3218e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-6.js
@@ -38,4 +38,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(obj, callbackfn);
         return newArr[0] === 11 && newArr[1] === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-7.js
index 92a4acf6638dd7a4ee01f20733d4cdd2c79b9a82..447a63f205f415b941401993c8a3d65000063ae9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-7.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return newArr[0] === "a";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-8.js
index 0bb758a507c14a7b8f6d1b5418ca2b45e277ea63..55246246bed1fac009af6fdf97ceed7c391df69e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-8.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return newArr[0] === "a";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-9.js
index 228979a155ad90386342b3af5f14e41dc514dfd0..4a32fb5c739c456c4a1f9a07437eb480ad58a467 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-9.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return newArr[0] === 11 && newArr[1] === 9;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-1.js
index 3432177fd5e4af168199c5907303f41ed75aec18..aec5eaa83c27de379a77ec6f8a2dbe8bf621cb43 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-1.js
@@ -42,4 +42,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-2.js
index 23834043cf522506f413f94a23d80fb8a70e0253..ebc0ac7381d64b1930c6718a484dcaba63548f03 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-2.js
@@ -44,4 +44,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-3.js
index 3a2a44937fe028af451b1dc3b1e01d70aa64fe3a..08a32d334482ec00fab327b50437f6c082e24265 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-3.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-4.js
index e92eae45c69647a8783c121737c7daed40f23e74..37a8875a109a66d6daf5341465f71758869e7cae 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-4.js
@@ -42,4 +42,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-1.js
index 9ef61e150e967f7256716989a3cfee695dad63c2..294feb53401cd20d012a5161e5615e764231d0d6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-1.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-10.js
index b9d3d6d83390484f86182aebf33a304eefc7e2d9..872ab737ac420ddc7cc4e1f1d4837b4bcae88c2c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-10.js
@@ -50,4 +50,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(child, callbackfn);
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-11.js
index e05ee7daabf6dbc07c4e2fec23078d5b03005de0..b18cd11aec75162e8f90c88bbfe0510584799b77 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-11.js
@@ -44,4 +44,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(obj, callbackfn);
         return newArr.length === 0 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-12.js
index c52826f3a393992c83ae7eb36287f3a7b0126216..3461f2bdf27338300210846ced721a0f86e1d0e6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-12.js
@@ -52,4 +52,4 @@ function testcase() {
             delete Object.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-13.js
index 68f16e0275319cf6ad3d4767970c413de18d3f98..e86aaa92c40f9a3c405b62d6e443b1c38f124823 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-13.js
@@ -48,4 +48,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(child, callbackfn);
         return newArr.length === 0 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-14.js
index 9cbeec2a7bcc9e946415dcd3ed63ae62b278ac48..02b3eac0724e04f87d9fb92105e30f22b45b63b8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-14.js
@@ -37,4 +37,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(obj, callbackfn);
         return newArr.length === 0 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-15.js
index 22e418068381d23d210e489c134369a6803312dd..44ede7bc86bcc195b1ac5eb014c65f8b46d164b5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-15.js
@@ -45,4 +45,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-17.js
index f68408eadcf9fb1fb15538a4e383142aee504d63..3bb8a9c0804074c1767fe8d7287df41627f1f9fc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-17.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return func(12, 11);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-18.js
index e686e952cc64cd4a6f4e3be214923cf5b816a6b4..74a07e13b9d9d0f0331a4873d57f4bdb066a9b5b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-18.js
@@ -35,4 +35,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(str, callbackfn);
         return newArr.length === 3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-19.js
index b111292925272bd88f0f55bd9776a0ed4cc6a904..ad52afb03efda1ba195d5691503f6e8cd52dcfb6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-19.js
@@ -40,4 +40,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(fun, callbackfn);
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-2.js
index e2fd3a4873b3d58efe81da7e98d8cf34613cc1d9..34a3e39027e41eb9ca931fb843b7a87d0669a5d8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-2.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [12, 11].filter(callbackfn);
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-3.js
index e67e1331497e2b2d8ffc9f6a66df5ec938807e90..41ed919752225b48ca536f1de7ff430aff56c458 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-3.js
@@ -44,4 +44,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(child, callbackfn);
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-4.js
index 9ed97dcda583f49480fbdb07f04192e93641a949..04cfbb330f00eeb5fd8c60eb55a1b35d2276cffc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-4.js
@@ -41,4 +41,4 @@ function testcase() {
             Array.prototype.length = arrProtoLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-5.js
index 5b75197b6dd1b6b5d541eb45822a3ca83d7a857e..cd81da170b896dc197cd62c12761c3d7ddf698f3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-5.js
@@ -54,4 +54,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(child, callbackfn);
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-6.js
index 6febce25ea45283219aa590edbcaa110eee89b54..2b05005d4636eb324ca21bfc7f2c2e00f3071597 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-6.js
@@ -43,4 +43,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(child, callbackfn);
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-7.js
index 1ac87e523214bbf08e62282eea34d84734023b53..58879e081c1c3a4267d0c7ea6efdb15b9b5af461 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-7.js
@@ -46,4 +46,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(obj, callbackfn);
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-8.js
index 5c3fc1a91113e828adcd0fa1dba7ab4fcd0757d8..b3178fba707426d0d49e2acbe63ffc11c494ef6b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-8.js
@@ -51,4 +51,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(child, callbackfn);
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-9.js
index f150f46df8d6c00174a3809ca44727bb4d1cee3c..d237711973e64aceafff6e1993e65f20bcabf497 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-9.js
@@ -58,4 +58,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(child, callbackfn);
         return newArr.length === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-1.js
index 9708b71b321861e7458934ea19e641f79ca5f21c..858a46dbe52641b748bf99c4e3dc0346ef08ee08 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-1.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newArr.length === 0 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-10.js
index 6c1e1c3c72a1d810d82af01f16f7fd98b418c5d4..496a1e7dc478f940f40481860aa436b167bd3725 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-10.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return newArr.length === 0 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-11.js
index ac3cc8f098d245b102b4e0e44d66e7550672b1ab..e17407a74c7c2bc62d21e06f536f29303916d400 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-11.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-12.js
index 3aa288592a4e8c9fb2ca50904767e1a9ba240eba..536870cd43f451dfb0cf119c18f5727fcee8c1d9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-12.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-13.js
index 48ce2735b059ded782b6c0e1458a7e6778195071..43a05bb037c933b935b020a2cbbea9b2db5ad414 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-13.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-14.js
index 4a1fa77614500b9901b77c6ccdc1cbaf63c21254..4132e985fd69fb78b842acfaffdbc2bb359abaff 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-14.js
@@ -57,4 +57,4 @@ function testcase() {
             !accessed2 && newArr2.length === 0 && 
             !accessed3 && newArr3.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-15.js
index 2e152f77e08cece92caf1cb8eeddb8072fe9ee89..16511a47d0821165740dcbadac81b7202f70c603 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-15.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-16.js
index 840f407b24c7deb730cf6d2a7a03f7d3a94d9bff..2851c0610de0a70eb6664c13a520f7eec44fa5d1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-16.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-17.js
index 2a573da5b13ead56b3d95449558fee596a40c825..b0d741689a94955c68300486a7655cac21fb34b1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-17.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-18.js
index 758c390c6a60e8a747c7833be53e03d787c32b7c..6c9c91bc4e6c508af4c2d20c8710a8cfc3643892 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-18.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return !accessed && newArr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-19.js
index 06b3bf99157a12541eabd3de4ea178677a543dff..9bfc2c4f1e39f0fafb7d1e271046177355d2ac3d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-19.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-2.js
index 223c58f00277d5d87da9ab90f257546d9cce8376..f17e611da2111a1e55e1b5950fa1156e45be222f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-2.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-20.js
index 432370c68d2dfa49e7db1ea32df6e860f5bd2cf2..bc9d2a0d7e4658cefa526c06b1ed5ff94d849d2d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-20.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-21.js
index c43ca2751969ebb7627a7302ae97d5686b18142d..a6fadf59c097c28237bdf180c7098031c556bf0d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-21.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11 && firstStepOccured && secondStepOccured;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-22.js
index f9d6f3b69e75da76c129f956546f319884f6df72..1b2909403d4b8238d7f57df0167ebcdbf7c06e9e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-22.js
@@ -58,4 +58,4 @@ function testcase() {
             return (ex instanceof TypeError) && !accessed && firstStepOccured && secondStepOccured;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-23.js
index edefe7fcf15155519706adaf145e4780e3a13dda..03d391abd9b70fa4fa6169df89bd5e485ee0d227 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-23.js
@@ -60,4 +60,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11 && valueOfAccessed && !toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-24.js
index db84de8a1676a960e94513be14c41c55b7104212..d9fa8746248aeb94ff712df05c622952815510d9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-24.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-25.js
index cf36754113edabd55a4b738460497fb2d38cfbc6..c9b3ae69d73102e42f58919141648fcdf5448452 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-25.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-28.js
index f0288b0444b1ffd0082a75b0b28d77d004c8037c..a051f3eca2b52bcbd1463f8341c2e419e3c36330 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-28.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return !accessed && newArr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-29.js
index 10ee30178685186784e39c978d1f82f303891acf..77024057a7a45d29102857db200456c8e9f79e3d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-29.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-3.js
index 310605c05d5019790689b2a5c48b9e5151f7abbe..683ebb882bc16e4a5341d5cf5182dd0930a3523e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-3.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newArr.length === 0 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-4.js
index 178b304cb89502399a22de496c79158cbdc33f25..c83f225edd3b41972e4819018323c569c54ee8c3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-4.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newArr.length === 0 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-5.js
index fa765bba2d862012cf5ebc8ce91f85092f5fa553..54b30fb0637cdb5f72b7b2b99d0723ec99a02a6b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-5.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newArr.length === 0 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-6.js
index 11046453f48e41a711bc4a1f27a701f90eb071db..173cfbc21676db9ccf3d6010f0ed5190fa38a09d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-6.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-7.js
index 04e5d9b3e7e70d139d97aee12fd3374d89331415..7f2fbe86d72aed1654835522242a830e9ba4ff09 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-7.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-8.js
index 8b755395a56ea2347e885f1133e0679f650ee049..5cac73bf3d85ae1f76af7016efaf2c96ae5c8a84 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-8.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newArr.length === 0 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-9.js
index ff9fdb9674951c4732ad27b524ea4f18074ec24a..a2605e511193c2c69c901685535566e791527a68 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-9.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return newArr.length === 0 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-1.js
index 05413a3f8a04da6d54ef1ecbed76b0dace82b77e..4f29c0b8524ef9dfc9317eb9da43d26ecebb22e7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-1.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-10.js
index 122fdc2827ef1a8c4d028116b1ca97ccb047fe2c..abcb9a67ff0ec0d30e28b66942adc5a25cc63d35 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-10.js
@@ -42,4 +42,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-11.js
index 3ade17c27c5d643803c46f083234edd5a795421f..14c23b57d96317d2607234c061ac96757f7ccbd8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-11.js
@@ -46,4 +46,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-12.js
index b8903943500ea660996382a01eee0bf20c3735cc..9ae60c2f85d071f091ebfc141aed680e3b096d7e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-12.js
@@ -36,4 +36,4 @@ function testcase() {
         var newArr = [11, 9].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 9;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-15.js
index f1f9c953bfa5ce68b9572a9f463d3f407d52df05..053c4311a3c64336e3a18805559674f50d16d0ad 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-15.js
@@ -50,4 +50,4 @@ function testcase() {
             return (ex instanceof TypeError) && lengthAccessed && !loopAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-2.js
index 201c57472d37d23bcc901b7a4fd7a6f695ef52a1..e00a45642e2c4b73e2cf8145c53b9147d3139e3e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-2.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-3.js
index a50d09fd6124f827522497ec1c99f56e8dc04d53..f46c8d5e20da649bb8dea62857e99029a75223fa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-3.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-4.js
index 1b1c47a2790b0c7ad1fe49137986b26aade41ffc..127d855cc5c2252b063b0daa11ba7d2e500f9c5a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-4.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-5.js
index fe7e75e02ecfea84bbdff5b3f70b9d0ab1b59151..cbaec2ee1523efc9fdb80b2e129c3da70079947d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-5.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-6.js
index 6ff378bca9db135e8a93dda7f225df7af3420fbf..07bd8b38ec1daccee09167490daea11afd921dfd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-6.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-7.js
index 1c08ccdd295d78bbc3a3030b46f42358ac5fc8d5..aeb26ed0ab7c7815f3e8dac6466c20275559be16 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-7.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-8.js
index 74e2678308ce7d6de8ec9490bf20811f65e0493f..958222dd1f1a861ab16562e6e09669013168e9cb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-8.js
@@ -45,4 +45,4 @@ function testcase() {
             return ex instanceof TypeError && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-9.js
index 82f1b36acc835a471f8ce8287fdb73270dc41eda..67ddb32a6d48c9962a2be5644ed7daf06e4b7ed0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-9.js
@@ -49,4 +49,4 @@ function testcase() {
             return ex instanceof TypeError && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-1-s.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-1-s.js
index 3557976f7b8437fd57c58ad8983a2b63ccc15e78..39809a375db0b41b37d7bc4b585896a21b021991 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-1-s.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-1-s.js
@@ -37,4 +37,4 @@ function testcase() {
   [1].filter(callbackfn);
   return innerThisCorrect;    
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-1.js
index c99ba7585cff709de1a9dc556153e603b1d4b413..a9df4b9d840adf0a9cda67e65599aa0335ed56ab 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-1.js
@@ -35,4 +35,4 @@ function testcase() {
         var resArr = srcArr.filter(callbackfn);
         return resArr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-10.js
index 99099fc0a96d4dd35ddcb18f78bb2ea34e14e74c..2e6f99ad576793761fd50d72f5281f2bfa469b8f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-10.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-11.js
index 7ab4cae20e31cc36db5aaed2180a0908fdaa01d4..defbdaec1b2884da98d96bda41e04643120b70aa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-11.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-12.js
index 1e4d57e2a9930df773b221f0afea8d1340ef9be3..abadb21965af057a2b229fbfbdddb5bf18529884 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-12.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-13.js
index 466e2b4e7623bb6f1b147a4ef94bc684d0b997aa..d5fe622372ebcab41aa9e4650a2a317f65401627 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-13.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-14.js
index 4cbad91c61e06b14ccbe9995fca6059eb476d8cc..3659b77706e83810c65e30c8c79d93c7a3783968 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-14.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-15.js
index fe37c0f4f2a2787ea307e723c58daf31a8909988..7798f499d94812778465a97e69b470eef5fa204e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-15.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-16.js
index 98d68bed1512046e14c3039d243e147eb1b9ae57..4b63577f1ebd9e22d7143769e89ce7cde084a33f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-16.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-17.js
index 8c5a1c83a3c58ac988fe7e997a7a41af0867f8a8..82d4fa9ca62b6ad3d54dbc0f9d78784e210036eb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-17.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-18.js
index 03e2a3bc83deaf9ec7bc4b7db5fb7ca88489a54e..cb38c3aecec155840ada4b2589812f263a11fbf1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-18.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-19.js
index 51c97acbaec4ecbb6ad2fb02d36cd8071f35ea83..c2139287961302a92ffb40dfe59ada0396085b90 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-19.js
@@ -41,4 +41,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn, arg);
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-2.js
index dec7ccd4ecce45ff5e58963fcd81eca68ba03569..5c42b0ebf937407c32d4379f622c152ca097a2df 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-2.js
@@ -38,4 +38,4 @@ function testcase() {
   if( resArr.length === 1)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-21.js
index 096d76353ed3db664a03c1e0293cb0a7534434ed..c9d295fdc3559eb55ba68a85b3e3ec42b3970483 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-21.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-22.js
index 6648498054d26d000a81ca68caf3995114126b7d..13f7aad0c7576c48ba5047a91ef424d484c1cbc5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-22.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-23.js
index bc3000613bfebce12b08010190fa06d0e77de746..025e55d26fa9bd902210085eb6c90828a5efe19c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-23.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-24.js
index 4c23d00746ff586b3b51dbb09e1db2731983fa4f..d75484e14cd1acc599b681537c2355c9d6f7b924 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-24.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-27.js
index 415e410b924aea562c05e4394a8fe44572d2750b..4931261cdd32475896e4925325741214215473f9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-27.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return Array.isArray(newArr);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-28.js
index ab1c03137f387f20d8dd9c42887e5953a253c7b7..fa7b3f676fff010a524ed6cf3b4c2a0a36afc99c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-28.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return newArr instanceof Array;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-29.js
index 4ad5ff6fee091e3275d7f3c21f30e7ab4b85ba72..0ba00defb882e7159a40b87aca6236cdd7ad770d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-29.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return newArr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-3.js
index 30508e899cce1e2271df62447c134bbe47353fc9..b9938d8cb292ec12fea4c90744a167edfd004f75 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-3.js
@@ -39,4 +39,4 @@ function testcase() {
     return true;
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-30.js
index 480274c882b399694b71c48457324f29cdd13388..0ea29208bea832e871c8119b8ee6b06d70296159 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-30.js
@@ -38,4 +38,4 @@ function testcase() {
         }
         return new innerObj().retVal;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-4.js
index f07f01af3b251a9ac7b96709cc7236aa2ee90db9..994c20f357ac2899f6242c56575b0e0f571b3860 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-4.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-5.js
index 6126fddfa936e14204d0bb1b8bd92a9228bd135d..971bcfec7b7b5b619c291ad307300392fb00ebe7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-5.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-6.js
index 94a22af5fe859c28aaec1d44ac983fd4cab432a9..ffafb39c505a1f822056e42df375647edc744283 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-6.js
@@ -40,4 +40,4 @@ function testcase() {
     return true;    
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-7.js
index b7b232a268dd4fdaf80827d67fbd2a9def6276da..5ee2651f1bb6d89d93f924ce69002974414ed686 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-7.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-9.js
index 1a7e387d89506dc07a646209f91704aef88a61a4..79a3763326f31599bd701c5b8c8bbd2c4124d139 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-9.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return newArr[0] === 11 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-1.js
index ce04f87d49e1d2bebb933c8187b8d210fec4dc77..7f253beab228588cf274fc078e9dbaa30125fa09 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-1.js
@@ -32,4 +32,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-2.js
index b51d767045ebf47fe004ef42aec68824a4d49d0f..0d072eea5db40977e45924c52cfe00641e8c1c13 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-2.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-3.js
index 79a6b9e95173e234c57c28567981a04fc1690cfb..c0bd64b99565cb83860c2416d9841ed245c4d8a1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-3.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-4.js
index 1ed61f7c605d9fa8c64cd390bb3fba3669d1a9a9..c316d157cb68644cc4c66b3ed79eea81b30d8cc3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-4.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-5.js
index 50bbb0b6f04ee11bc0661d12abb0829b255cb9db..dde8c1ec6d1d0b28f89dc8b75943dbbc8ee2db14 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-5.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-6.js
index 48699be145e5b9323bb7c0167ce7c7646d910d16..30a56ec5ee53ea2c3c9caa9ea2981a1d7139a149 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-6.js
@@ -40,4 +40,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-7.js
index 82c14c20d1c337544990a7fd31ef65fe6a3a29a9..1604bce998b8af0130cdf4f1cc9694ccae2daa81 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-7.js
@@ -46,4 +46,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-8.js
index f59d87e3a4eb6908a60342772cddf6afbad790a8..21d696ac6f30624e2346005c5cbf21af1bc39d15 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-8.js
@@ -53,4 +53,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-1.js
index d0c78caa7ff6b02ccb6134eef89dc3d500fc607b..5b205775083cc3902c039523de8c9b7aea5c7619 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-1.js
@@ -37,4 +37,4 @@ function testcase() {
         return resArr.length === 5;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-2.js
index 3c890c88e55198ed07db351e61f84cbd287f8ca7..3e5c2692c394d52dde99562e620bbed6e3f77081 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-2.js
@@ -42,4 +42,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-3.js
index e2504fa3c246fb4baefd35bc6d54eddbdf921386..8922ea56d8d15743bfe250098ea5e7296fe71f39 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-3.js
@@ -42,4 +42,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-4.js
index d3b40c8326666bfe7ab335dfa1882eb45e98d108..6f53915e29c05131112378205b999f197e62770e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-4.js
@@ -38,4 +38,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-5.js
index 4ca6999f27b8b7a10fdf390aa9886c3abdd3fa1f..c1ebc8070f56db3f7beffd99690267f3bc6a262b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-5.js
@@ -40,4 +40,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-6.js
index 023f9c5b2987ccccbf8cfa18f1f0e988b776276a..5d5780033b13e7406576501efe970f72bb023917 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-6.js
@@ -44,4 +44,4 @@ function testcase() {
       return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-7.js
index 1d1367eeceb0155d0bf35069bfb70940cd468021..ee8ed59fec73c656957922b4be50ef64dbeadcdf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-7.js
@@ -39,4 +39,4 @@ function testcase() {
         var resArr = o.srcArr.filter(callbackfn);
         return resArr.length === 5 && typeof o.srcArr === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-8.js
index b0019255ca5e3008da424fa565af895d0aa4e48d..11521c62b2c496f40cb32f849c6ae05bd45b8de9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-8.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return accessed === false && obj.length === 0 && newArr.length === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-9.js
index b64a04763e5f738584b35c77b020b38f7aaefb9f..881fb5e8d8b0c2ef2cb8c74137431514bf158860 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-9.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return newArr.length === 2 && 2 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-1.js
index 43c76616973812cd2fa3f435e607595de5389c74..58405988afa4c48ed2e425639cd3733f591310ba 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-1.js
@@ -39,4 +39,4 @@ function testcase() {
   if( resArr.length === 0 && callCnt === 1)
       return true;    
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-10.js
index cd809118b33f08a078d3e59e619ea435821dcd7e..1956e05728c39134e2b64a3d83d36de1a341c15c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-10.js
@@ -48,4 +48,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-11.js
index 5407f56127deac9793af4de7769a377621998026..23d94d42a0cdbfcef32ec06b6c07a154de7591b8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-11.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-12.js
index d714499afedbe5332cea6ec07acd6b60ff96bd14..a7da4ff47dd1a72dab4017e5009ce000fdad73d6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-12.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-13.js
index 26322a9afc14f0820186bf026849e88b3278c7e1..820a8798fd19e15cc23fec5b0fde29f1c4ad04bc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-13.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-14.js
index 92fb7f38b8f29f16fdd7138b390b5125d70a9dd6..ac4767d1c2b0f2859b32713e28b8b77ca8f0f22e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-14.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return newArr.length === 3 && newArr[2] === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-15.js
index 6fd325ddc43d8ced9e94de83f61188a7f4c9eaa1..60f52126e9677bd5151f22f163adcd974b5683f3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-15.js
@@ -53,4 +53,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-16.js
index 2212a9f2f71689c3015eb09e0a0ef2861fd5635a..f6da56982d17ad19aa3a4de14075c7986b83b3cc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-16.js
@@ -51,4 +51,4 @@ function testcase() {
 
         return newArr.length === 3 && newArr[2] === "unconfigurable";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-2.js
index 4b53e185da86a9cf9015c52ba8aa9201a691dc4e..8be522978b045f8314f0ec8bd701d89fd86a66d8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-2.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === "length";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-3.js
index 931dcb3941a9c703ebe27214b98d5747924eb203..63c7d732a45429e9576f35f43e0fa051b9332533 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-3.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] !== 6.99;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-4.js
index 9fc9b4f34352405b3fa0d15e60477ab676b34832..fb73a205627f5b4480ca9ac125c4c2f983f60ea2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-4.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return newArr.length === 2 && newArr[1] === 6.99;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-5.js
index 118d6c072778cadf97c5331c78b3fdc8363650db..537e50e3b218e0a071aa1ec57f6880e511fc266d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-5.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return newArr.length === 3 && newArr[1] === 6.99;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-6.js
index 962d27e8027737b7e760c452724d06980e7b7227..d7411942108a251b90df6a26b1193c5b747973c4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-6.js
@@ -51,4 +51,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-7.js
index 402821e8defd95fda5824f516974f21728b53754..d97defc5af0c89965f986ce80acf6c72ba26ca82 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-7.js
@@ -51,4 +51,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-8.js
index 02bbc7bdf50f3be7082eae77317149f5fe408481..45677ac8eeb8a78bb2a25d424e1f71738833c7e7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-8.js
@@ -52,4 +52,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-9.js
index b4a5393c214788dfc183301e1b7ca00a604ce9a8..4440e0cde583916a7978ae38352103d33c982c4b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-9.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-1.js
index 1ba4c38b90ad816c44b61b8052c9aa7f184e14c8..dd2169fcb5657004978a7d540094d946ed7c3f35 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-1.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === kValue;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-10.js
index d31c80b055e597620c31114974c53a88e1fce0b4..b46c9ab7cff1a0aa368880639d01e5a0b357a2f7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-10.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-11.js
index 4b80ecf91072a0e01f31bb24196946071cee5c9e..ca7e826e6f50fb9ac948f4f35818573b6cea1a39 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-11.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-12.js
index b85ddecd7e96b18ca93581c98cd80de4a8383384..a044be55e5a3d6ff902db09455aadfdb4042ea1b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-12.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-13.js
index 7714a9fd626a78326c7ac0289252eaf5896f3f19..ac03a28028fb258139e88f3f6c6b91681bf05641 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-13.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-14.js
index 85f62d916c646bfa4e5788a01d4ed0f1badb57aa..4b2bdc1c974eedc7ea503c7f0a23636a05739467 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-14.js
@@ -52,4 +52,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-15.js
index 0d9d04d77a4a29cce6cdfad55751e8ae20cadf9f..464f2b92a07e068159d42bd07fac6454298f3acf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-15.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-16.js
index 4b7c2d9479242111c89c81fecbb67c6cd8143f6b..e54d6688fb8bf37f59513f646fc46cbf416708b9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-16.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-17.js
index 5b1b54e609150f143cc51e565b9768e2a95e639a..6bbd2915a1bae3231ec4ee4e0d5dc3031b78cad3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-17.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === undefined;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-18.js
index a36f207cd93535c0bc0d7d9e09f9951de682db99..8a3a8afd2a37c95dc93dfdac798428bffa34fce5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-18.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === undefined;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-19.js
index 3f8bb710411fa4960f5449d8f647d394cc6aab76..6a8705ec3fd1832b9dd71cacad43c4775d8a843f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-19.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-2.js
index 5673ca37ef5c75ac0bbd217519068f3f27c84745..c562255d56375d4d3d1674ae23973453cafd3394 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-2.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-20.js
index ffd2cc380a65f6a7a96294bf9b3675d4bf201d5e..01271a59f707acd384941b4c71e12c8eac8e05c5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-20.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-21.js
index 6447951be17ca9410a925690f49a420d9c3f961b..1044621c2e68e33aab8eb53b7e158dcd417e60b1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-21.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === undefined;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-22.js
index 56fd3ed07c3f57bf2667ced83bdf8f17c19b90e2..7026b30b5948e2f73f36417cc045653e0463ef75 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-22.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-23.js
index cb8eadf8bcdbd978bea191768604ce40256c8489..958fe4769ca7f8286c7297024e702dc9198ec88a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-23.js
@@ -41,4 +41,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-25.js
index 322c4408fc68cff047313ffcf9c64e70d11241a8..bc4c413f0716e5740cc57845e3721ed38b301b23 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-25.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-26.js
index 0a65b4eb6b3ccf50801393522b33529f6f7c4154..684ed4f75849b6bc163306bdfcb6c6a4a9db2306 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-26.js
@@ -44,4 +44,4 @@ function testcase() {
         return newArr.length === 2 && newArr[0] === 11 &&
             newArr[1] === 9;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-27.js
index 622888a80163c3368a89d948d4cc624ec1894e86..f098d70739916b934ecd91b32c6973ec55edd614 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-27.js
@@ -46,4 +46,4 @@ function testcase() {
         return newArr.length === 3 && newArr[0] === 11 &&
             newArr[1] === 12 && newArr[2] === 9;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-28.js
index a0631a8855b11383a6ec6461c1dda683b035efee..193ca1dba367f9fe254dd5f70d4e40cd481a6b52 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-28.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 9;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-29.js
index cb4b4b21a374a6e0cc84d5c0e4e258842cdc7501..ef73aa4af85874de9185aa9eec5f030b2aa855e4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-29.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 9;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-3.js
index a4e42b5588e82acbe20fd8d409d091161e0ac100..c66e6c40b76cffe3d8638b514778e8ffc1736f48 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-3.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === "abc";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-30.js
index 6a1a2f36eb70ff3f2beb394072d54425fe9cdeec..632738187b909ad72fae2a49b9927a3c1acb92ff 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-30.js
@@ -49,4 +49,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-31.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-31.js
index f2165dd84bd9ba5146a08b85554fa9c821cb8812..1b436c146cfee943121e6eb6c41c6009b047b4b5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-31.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-31.js
@@ -52,4 +52,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-4.js
index 67fdedbc654807f8f2daa08306ebce6c496b953f..2f9ff6b361611d4a4771591d3194591f2a22f6cc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-4.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-5.js
index 0d6c9442d19abd7b20963782beb4b57d18850ce5..97761a1fdcbf39be7bd55de2258edba517848599 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-5.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-6.js
index a94b6ceeb43398e84e83997d050f9ea4b4817034..c10fb37c7a6dde34c6ed0c9d8c7d7c9816ff8269 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-6.js
@@ -44,4 +44,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-7.js
index 32855bf1bbd25d28fd825be2fd9fb1e2938a3d84..57c4da9e9c4a31b2888c8db650d1e18d16d5fa4b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-7.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === kValue;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-8.js
index 59d2ea23097b6f76ad8e1edcd2388b44f31a9495..94fa0c214171226ef9075813e0d242ae137bfde2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-8.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-9.js
index c4914076cd1b33bee11113e3e6cefd307b3dee3b..e9f268409fbc662becda8223c0028e468781626f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-9.js
@@ -42,4 +42,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(obj, callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-1.js
index 7709dfa845cb507acfab40fcc982ec65b2dacc8b..a55a1c2aab78b80ab1c554222f8175fa4674730a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-1.js
@@ -42,4 +42,4 @@ function testcase() {
   if(bCalled === true && bPar === true)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-10.js
index ab456f78a88fb1adb509a0cc785b5245d8a935ed..9cea786168015ee93c2cf7f39e2bb07d7f816948 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-10.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-11.js
index 67f2de009b9bbb171f5563f788bf6f46cc9bc645..f2d4d2543707d73330daa8a89a56cbbead356c54 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-11.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-12.js
index 6089f7112433f36cb9ffd9e3048e92ed8ddb2f1e..bdc555b8a3244b15b8e1ae1c660a67691779a2c6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-12.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-13.js
index 553f8ac2301a0b4fc893d8d770a9e450b71c4a0f..7e4502020a8f3c34724457c581a680bf426ede32 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-13.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-16.js
index 3825e673a9285cf6469348f05526ec1ab9bc3fda..560a5bdef9e5a6718598759fa7277fd8a8524872 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-16.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-17.js
index 4994a64279b2694d8bcf88550006062b9958ab43..7563c05103bf5fd6a6c4e9724d1992de60ea63bb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-17.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-18.js
index a41324701617eecc97b71df8e4007346da6ccbe0..4df6a05d24852fe055177213c3c10d7bb1b175a0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-18.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-19.js
index e8bcef24ddf0d21e0df6faf690468f1357fe8afd..8c9422d07bed8f4611250bb04bcbe0ecc19c880b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-19.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return newArr.length === 0 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-2.js
index eac1de8159e9be86ee36266ffcc112e44db42ba2..4bcf6490a968429a7c1abb65f2ff0961d9bb7ecc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-2.js
@@ -40,4 +40,4 @@ function testcase() {
   if(bCalled === true && parCnt === 3)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-20.js
index 354c1d29424aabf7d9edb5785acdae9f44e5ccb3..024295d19211bbb75fd868d4e90b38e0115604cb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-20.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-21.js
index 89f111eb4eca6524f16514b45a5a0b29f9162d39..1926447bc9629df8f740d6133b50148e94796b24 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-21.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return newArr.length === 2 && newArr[0] === 11 && newArr[1] === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-22.js
index 84bdde51a449ec67db37061c20a74ee19e14c6bd..381d692ecfa3ded7217751bef9f3aadb02cf688c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-22.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return newArr.length === 2 && newArr[0] === 11 && newArr[1] === 12;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-23.js
index 502562aa42bda1fbc33dd127efa6f905c8d12dd2..37ac87e4c84abf5d4387719a9d92f3929afacfea 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-23.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-4.js
index bd5cb694a730ceb1a8b98e05f01953b10509ce5d..69a471c0308361f0f7a342873737095fcec68b2c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-4.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return newArr.length === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-5.js
index 0e5773ad684bd8a0be3b9e6dc3134b80b51ba3c3..ff62733a3bd655c8dbf49fea7b41907fe4566cea 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-5.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return newArr.length === 0 && called === 4;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-6.js
index 2847817b4a878250cfafce66bd093c1662729e9b..96ecb9ca3349a7500d003da16895078d6f575efc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-6.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-7.js
index 3df85b691eafa226ffed881429b6c3a1f52e9a1c..30b4e0b7a3cdc5f50ab18ac16c941b900462d336 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-7.js
@@ -45,4 +45,4 @@ function testcase() {
             return 1 === called && ex instanceof Error;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-8.js
index d7deadfd901305f451db4d7ac8b2a619f1c08c00..f7b59dfba5749202da15b41ac005957f1f98bd8c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-8.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-9.js
index cc344413d5e705da862fc579bd79edd51b2cae2a..2030a8a8b51fea296f10f1255e4993783f2f99b6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-9.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-1.js
index 424b08772cf22ef755cd413edf05e3946addb830..aa9acceb094e65931b01df330eeb4e9fb58144a5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-1.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return newArr[0] === obj[0] && newArr[1] === obj[1];
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-2.js
index 9b9455baa2a12c8bf96f53a9c5a81f8b83425346..1a7fd762f760f04e8fecd0a81f8b90c26d6b8a79 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-2.js
@@ -41,4 +41,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-3.js
index 1a8da024935aa2ccea675e1a81c2865bc68a48f7..87f5f05153e2eb7c4b133013d5b73b58437ea0e4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-3.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return enumerable;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-4.js
index 9e68a69c033f9a40a50bd66a87b0281b8e2bf215..93ca4e44432ef5441c70a2e314fd4d41b9c862c1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-4.js
@@ -41,4 +41,4 @@ function testcase() {
             return false;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-5.js
index a8030b3fe14f8a9d46f93c7f9108fad4460b3363..fd301da64d73bfbd73c0ea846d93c65b0c864ebf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-5.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return newArr.length === 5 && called === 5;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-6.js
index 609ad311f62549831538716de78d090a1166a4a7..12561907e82e9b11e3e788f30badb0d3c902f3e2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-6.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return newArr.length === 4 && called === 4;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1.js
index 834dd1b330a1af465340202477f6ba759cb5f9f9..994b48f4a75d12af956e4498130b4a586b99537d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1.js
@@ -44,4 +44,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-10.js
index f2b63c15809f0210275a367099084e33602de866..e512bcb75a5612927dfa82db3cfcab9f2ae52c98 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-10.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-11.js
index 59f28a96a8a25f1158ad6fe97dca9090c432dbca..5911a655288d4252073cb686fd1b160335c7614d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-11.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-12.js
index cb5e53ccc26af8eee6a6aa4f48b3fe44163013cd..e90ea7ab2e19ae5d905af11514a01875354180bc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-12.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-13.js
index 8e6011537f2b21f81a3973270c0b71bec5123fb4..64a30f4791c1140bc07b24acbf17468b57c46afa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-13.js
@@ -36,4 +36,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 0 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-14.js
index da819928cf95cc0e204445f9f5a713372bc4c4a4..9d7cd2e9f20845cb40fe0e373992eafe02fa40c2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-14.js
@@ -36,4 +36,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 0 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-15.js
index 682532409f9918f9efa278f6b3e8182cf522e1fe..38b0a1f7baacb7028461ec07cc8607fce8a3cb1f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-15.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-16.js
index dc5a33645bad16173e865892f17260f5dc15a797..ca91226aec6f8319e2c4e68804ef25ddb27850da 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-16.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-17.js
index 9a0cc7c92923d7fa75e6fe8b0a618582f901800e..1f3fbb3739cdffe6a46d7f1e22cbc51311649af0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-17.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-18.js
index ce07f52fec4031006ea3b1ef5778e93930fcb404..8ecd096a11e76af1d5f42f0ef2ccf04abe3bf573 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-18.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-19.js
index 149cfb42fc81e3da3e8595b111248bfe41ff54c0..d374918ff205998829bc8327d2f358005f594713 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-19.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-2.js
index fbb8c6f73d861ab58bfb001dda0d430cd835eea6..9ef40e8c0727942efd8bd9384b2c0332e628f105 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-2.js
@@ -38,4 +38,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(obj, callbackfn);
         return  newArr.length === 0 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-20.js
index b2a2754790694e0fb2e78fb718f7779c7fd1f010..b8733746734e2786f165a7e605045aa1f4ee2354 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-20.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-21.js
index 6d41617fec076efbc55a59834a3f1bf1541f6ee6..6d5da086e78574281eb6628a2713ac981f2daf93 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-21.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-22.js
index 972d37bbdc096fe1f7e56f375f99a615ff65cd9e..ffafab2deec8b95c79ee2cf6b2410fffc7ba03da 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-22.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-23.js
index b96412953da68bdb9598d15e5c4645699d098fff..871cbbd2a08b301e7ced35e549b582bbeec2ed9a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-23.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-24.js
index e7a97f3f96d553c0742ea90e7a0bc9ad3d4fafa3..45460906e2762ac19dde75149ae897d82bbaccce 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-24.js
@@ -34,4 +34,4 @@ function testcase() {
         return newArr.length === 1 && newArr[0] === 11;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-25.js
index 4476bb4c4969567c9050191ce4b524cebcd75eae..b01e7a62cbd7b87e468d589e933ec70002f16ebe 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-25.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-26.js
index 7c5212d9f9a42ca7a8d36697986d88b2e50f65eb..d8d5ec8a0d2042fb43ce5267bdd722d507ee54a5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-26.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-28.js
index 305dbd4d5c9f52857114f783471b5d3de15c8411..6d476025a7530a1458fc2fbc5fe0e2c54f3ae9e2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-28.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-29.js
index ec72f735405148e6df9e529a01c6232b334ada77..3803f131a2f04f551978e422869b1649f8b67a5e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-29.js
@@ -39,4 +39,4 @@ function testcase() {
         return newArr.length === 1 && newArr[0] !== 8 && called === 2;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-3.js
index ed8abc917a2fb6ea824c939b3369d92b0bb21f09..3b2770aaffbc1a46dd0d84024e1eb4fbed0dd5f0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-3.js
@@ -38,4 +38,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(obj, callbackfn);
         return newArr.length === 0 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-30.js
index 362362e6ef8fc70ddd12377a7564f49364c3a5ea..643d6d5ba86bd182a2d069982a6bf4e2c06eddc8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-30.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-4.js
index ee4e665d913c26d61ccde776aaaa6ef9887b725f..d014f95cc42ed9b2e2ed7b5600df30ebf9e5f14f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-4.js
@@ -38,4 +38,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(obj, callbackfn);
         return newArr.length === 0 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-5.js
index 97fda3a8cec9de43ae3ee05c095368759dd33185..c27dbbb2f46f8aa72195c018c8baa5ed2ac08a64 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-5.js
@@ -35,4 +35,4 @@ function testcase() {
         var newArr = Array.prototype.filter.call(obj, callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-6.js
index 2e0a87e6858bae417ef351782be1fe15e90fc526..d792ff0294b0f21a150d1f5a39c7f854513b0f9e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-6.js
@@ -36,4 +36,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 0 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-7.js
index 9c1b2c0987c6362fe14dd8b26cfe032a7875bdaf..337bc4eed1e142cdf973cb373fde12d671b52aa9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-7.js
@@ -36,4 +36,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 0 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-8.js
index e2d532305616f60867fbca84ab641d7a594378ac..a748c1c393866da8967d2bb6d9f7e01fc539910b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-8.js
@@ -36,4 +36,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 0 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-9.js
index 7b0bf5ccae4758753a5d9c6a7cf03dd01a21d332..aa5a86dfdadc8696baa5f641512cc68103cded48 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-9.js
@@ -33,4 +33,4 @@ function testcase() {
         var newArr = [11].filter(callbackfn);
         return newArr.length === 1 && newArr[0] === 11;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-1.js
index 398394a54ccd61722baed0a8cf3ff1affac779e8..8241685020e1b9c8beee99189a903b9fab8fd300 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-1.js
index 5e3b415ecd9b7a5478813d4667faf35c58ee3d5f..ac5ab32126de87d846e3fa7030c139c028060807 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-1.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-10.js
index 9252f12c49f450b703f7305740d97189be357208..ee3b36bad3efb2651b2a8df5004a23aa7346501e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-10.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Math.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-11.js
index 3adb047c8161aa15ac14e1749afc514f21b68dda..4459c82694edce05d65550c08f4f4f2da466e09f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-11.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-12.js
index c34cec566c360c3cd0f2400b44547a13f92ecddf..9e4fe22a999e6af5e2494b7ce87be5a2dc303934 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-12.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-13.js
index f3c0bd0fd9fda28d34908d686096cc30ceca0655..541be2a5372a558f2b82031cf90d71d528a286ab 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-13.js
@@ -39,4 +39,4 @@ function testcase() {
             delete JSON[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-14.js
index 0727d5eae4d3813b1c060ba57b8a90f5fcd4c578..412a81703defd529ebfd93731513dd1cfd0e6380 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-14.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-15.js
index e857b94b9a6aabe06e62ca15aa4e5d750ffb4a0e..07dd8780879701cdd7b118df790424b41206f8b6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-15.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-2.js
index f7cc2c2473fbf38d873e47a471e09b0d7557d38d..153c9898b9e81320d73542f67f5163ff7845d86e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-3.js
index f5e12f5583951d2f54597325780981fd6d3dd0aa..2a8babc544af5928a58b64e862948818c483c7ae 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-3.js
@@ -41,4 +41,4 @@ function testcase() {
             delete Boolean.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-4.js
index ed426aec95f960a187134f5f5d50f5809e5d8db5..cf77c0e383846c38606b3fd3d672d59ed19428c1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-4.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-5.js
index 916a722fe49026a2c3dbdd98d18d18ede7ca7cb3..c7e69da48bfdc870e77401db3bf78ef24303fb17 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-5.js
@@ -39,4 +39,4 @@ function testcase() {
             delete Number.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-6.js
index 1f056c66a5020fbc614167cbd0c0dd6f052bf7dd..932c43a96cbbb044299cb5eb4abd15e693d9cd88 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-6.js
@@ -35,4 +35,4 @@ function testcase() {
         obj[1] = 12;
         return Array.prototype.reduce.call(obj, callbackfn, 1);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-7.js
index 11142b4ff210f026d1cac38a9f08ec61af5515ab..b4901aefea86db5141413db0a24a14d4aec4778c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-7.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return Array.prototype.reduce.call("abc", callbackfn, 1);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-8.js
index 2121a28dfd7bb495c8f6b0eb06c324ca1d61b197..51d47cb66528d4157a65a1819f40006d68c55bc7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-8.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return  Array.prototype.reduce.call(obj, callbackfn, 1);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-9.js
index 127c920354bad408302624a56bc4dff338410ced..27481eb1eda20fadbda11443c57a98e872e7565f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-9.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-1.js
index 31da69180af49ead7072cafa5ba8f9afee598f39..00d1a40dba07f2aba72543fdab2b28301527fc3f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-1.js
@@ -42,4 +42,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-2.js
index a74f18db064d6bd501fe280b446846478973e0f9..41e68bdb26f03edba51a8b540da19c91dde85326 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-2.js
@@ -37,4 +37,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-3.js
index 8e72d576da19f61c65393bcde48784c6c54cb36c..a4666441904ca82cd1fa3f8de771510680af90e7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-3.js
@@ -33,4 +33,4 @@ function testcase() {
   if(f.reduce(cb) === 1)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-4.js
index fc98b302450af465b22dbcb1d12aafbb99030a51..b1ea72272b41e013b75ca88c8c7c6fb630026c62 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-4.js
@@ -33,4 +33,4 @@ function testcase() {
   if(f.reduce(cb) === 10)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-5.js
index 95c84817751091bf9dc98167f3b79cb0ddce9433..63e9d032576a47bd3893a90b748ceb37d60ac3cf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-5.js
@@ -37,4 +37,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-6.js
index 4e66cfe61ae84e9fbe32365a9df60dd86934a983..925b0cf611cd710d504f769dcf2136f8d6789fa8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-6.js
@@ -33,4 +33,4 @@ function testcase() {
   if(f.reduce(cb,-1) === 9)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-7.js
index 92367a2ebf5ecac774cf00d62a8ec6e1b84fc3be..b15f6fec8d21bce219d019c7f8957322e47d6d70 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-7.js
@@ -33,4 +33,4 @@ function testcase() {
   if(f.reduce(cb,-1) === 0)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-8.js
index 057a16a41443dee5a50bcc2b50b61fdac28d3e48..9b4b9c35e72726f1fea9cdd391274344c85a6c13 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-8.js
@@ -43,4 +43,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-1.js
index 07d7f06783bb17ef37bc09b455622ac748e0bb1b..9334afa248bedd04128c88fb9092abf9b44a0974 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-1.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-10.js
index acc788a5146f74b0ae0671072475e3ea6159db2f..ad80e6f82f44a03c185a2f13f8bc8b143c81343f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-10.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(child, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-11.js
index 67f4fcc1c47e4fc56715cdf000e340bbdc948f31..a5e6b51a499873f585b93378cc3c9019a33b7a82 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-11.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-12.js
index 04594144fa88cc56ea4a5cb6dfa3cc8b354c297f..7089ed2f0a5fe90b63e909e1ce04d1fed48b0bfa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-12.js
@@ -51,4 +51,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-13.js
index 24c3bda5003bd66f05f7528c553c3b3c3140e5f5..666bbe65743685095fc2e1967c4b7e0fce588f19 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-13.js
@@ -47,4 +47,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(child, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-14.js
index 501b25285008f46786a88d5358cec89bdc0ba2b3..1e89babd28e406b2f1e1cd574f8517d43860bb37 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-14.js
@@ -37,4 +37,4 @@ function testcase() {
         return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-15.js
index 96779830397c183dec208e5f830e39110dc4989e..3254b3e2aac48d881a953f86a21fd1ded995f79a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-15.js
@@ -44,4 +44,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-17.js
index 2bb677543f32fff78cda05dd284fc027aa5afa53..e544aa85f7493f9495081c82e0cad7162da8cd89 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-17.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return func(12, 11) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-18.js
index c0794f6c55158faa893bafa29f5e4adf250c65d8..706e895a749ca5a6b14edc7f81ef91bfaf46e396 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-18.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(str, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-19.js
index aaf3e1393182b67fd75cd3ed66e04f06cfe692d8..0e6085c0018d6e3776b5cf5c1b62f35840e2c5aa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-19.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(fun, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-2.js
index c0313a28b102d310956ceb213bf608a813e0ee76..18fdcbf9845cb32b2752fd98af5d81392590b1a6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-2.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [12, 11].reduce(callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-3.js
index 3af12854bd449463300787538b0815162eb3a527..2a7e001dd21eda845ad93fcde0a97e699b0f3515 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-3.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(child, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-4.js
index ec5c5b5cd3e5c4ce4f8becf89f25e38241fdac35..6235b99f2a7a92c62656298fb82a389f7c082b7f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-4.js
@@ -40,4 +40,4 @@ function testcase() {
             Array.prototype.length = storeProtoLength;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-5.js
index bc39520c132fba17a4bfcb469ed7c2ab487c647d..9a9c079c595b6062d23c21dbb8479a66e32616e7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-5.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(child, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-6.js
index aea70ba08cce0b6ab5fcb77e9f5642af29de5d7b..dd3550d4b90e67430bb75a7f951edebc3ed2d177 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-6.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(child, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-7.js
index 00e86d56555825a56d9ffcdf0bda0bd1e5100789..650645bcad8b187ef040d405646a42e82ca7b156 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-7.js
@@ -45,4 +45,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-8.js
index b8b211bcb648b2da49aeeb08b38a77ef16f7db22..da17414042ebb245a7c0f1b8be9412313394e65f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-8.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(child, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-9.js
index d466d5f8dc906a71ace8e07546f796c5e1f3173d..0ce8994c84f0a52e797c73b9d82a285e16139390 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-9.js
@@ -57,4 +57,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(child, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-1.js
index 61380f02f09e9c271a29425d6202c86190482f60..75916fa5f4512712772e4cbf47b26434f4a179dd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-1.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-10.js
index e0f85039b06b8bdb79e5921c5497504988e10132..c50bdb240dd84d80f663df1cf4179fc54d832ebb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-10.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-11.js
index 0057e9177a4ae4b10c215bf008e4903b56ee904a..3cdb08e07d88367267aa2655d1d2669071f6d72e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-11.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-12.js
index eb973533c2d76bd0d040665dab488a87a736eac2..b7302f8407e4dd44c3c6a112b632aa638654a818 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-12.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-13.js
index f8231811e6241e334a8ee712fea192e87e0fb2e4..5e58904a2bf5b0d14b70d6db19470381aecb0fb9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-13.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-14.js
index 8b5cb180f1cd801afef2811ccd67ae228dc90be0..956fc06680353ea22ef1af3d05e34e9ed31ba3ab 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-14.js
@@ -54,4 +54,4 @@ function testcase() {
             Array.prototype.reduce.call(obj3, callbackfn3, 1) === 1 &&
             !accessed1 && !accessed2 && !accessed3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-15.js
index 5895b696bbeea577c45d6376d16b748ec7b946c0..ae3e3c9071cc75d9f739232aa39ba515103e3abf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-15.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-16.js
index 02ba191fff167ef26b3ec003987b528e8bf47a5e..097515150650481d1f9dae8fcfaa4dece4c7761f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-16.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-17.js
index f613072805661723f3b41f56f52e49bdf77a3439..19acda4a39fcf61f3ae394062c6b0de9edeec925 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-17.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-18.js
index 4c0cbe0635c13f4cdcbf6c49e38cd400a07830ca..097597fe23f9606d5a3408aafde29a7b91190837 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-18.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-19.js
index 1599a2ce528eb12c3dc57e473cbfb12fc1c19a74..7e9bd5db666f726677a84a82daa6d7aff8537446 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-19.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-2.js
index cda85b8a710d6714ecab1bf1bee77275a9955b18..9e13f0d3dc4eb3e9b570548464e7b59cd4c5e145 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-2.js
@@ -35,4 +35,4 @@ function testcase() {
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-20.js
index e79c19b22b90b626f2cc2f47ae68141d589ed536..8bf34fc8d07b20907df91ba672667fafc5eb0eac 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-20.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-21.js
index c45c556376f68d8884dfe37317aa4d7cd75a7a96..7baf8269176650f3013104c4e0990a2fdcb7255d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-21.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true && valueOfOccured && toStringOccured;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-22.js
index b3d3843870351132ddd14fd294bac06050543845..eb4d46faeabd353e5e954c15458c159ccee649ec 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-22.js
@@ -58,4 +58,4 @@ function testcase() {
             return (ex instanceof TypeError) && !accessed && toStringAccessed && valueOfAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-23.js
index 90ba01b6f97c274b3479d4d67da30c90c08f3d0d..57b5e5ca6689f14aab5f9ed9fadc113863c38289 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-23.js
@@ -58,4 +58,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true && valueOfAccessed && !toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-24.js
index cef19de8102fb49314286f2c9d980ac7d45c34a1..5eace0c881e4ca26a87aad4bf2483538bc4b19b4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-24.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-25.js
index b7ac83af72b352d89330868177429ff6b0338dd3..2596a0700134983f4781a6ab0aea3825d03196a6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-25.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-28.js
index c220e18170541062f0498f648131b9d8342deb7b..e5fe4d3b4c0c137ecc1fcf0ebc46cfb31616ae2f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-28.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-29.js
index f6cabd9ad0489aa47e8c301e8fb336b899b68146..0ddd21363fc14777f132481e39b2099ef8d4178b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-29.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-3.js
index 504fc2e9216f25acd3f9dff76d612e46ec3ad97b..acfb5f429bc3c2aa268ce6c2f2e33cb874d5b41f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-3.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-4.js
index aae59bf33d8d10398d5d40f390f9fa083b177e82..28fed55ebce0ea6baf9660830de4eff947af9d7e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-4.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-5.js
index 40741e30cd505f432066d411e86da726b1bd8373..2c279d2102d24382588de3bf8beae48b6cd4d7c9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-5.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-6.js
index c9234fef23683265986313ae02ed94d9b3a5a91e..08ee69d2128d054d611b5db2fab63b272430491f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-6.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-7.js
index 060efeecf912a4b6ebd1f82576c9253674e4f9a1..984baa283a37eee732a80e712cc11b40a98858ec 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-7.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-8.js
index d3e4d66a5cce624de8a73d32a9e37be4f8975e8b..50ba4996c920d611dfa717ba030add1ec12e9271 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-8.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-9.js
index 8d65cb922c41b8be1fb8a4556298914c2893c103..9840f872a0ea3c2d70ccf1e24895440402b03998 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-9.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-1.js
index c3d153b01cf895019062d72bd3412985292cc128..395e613967dd75c9478e4bb5ce07a882af9be03d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-1.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-10.js
index 49a7c66a1c7ccafeda1333a6e77ead2b9454c9fd..0f4c44be02519031ae4f91630baff265e2bf1c1e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-10.js
@@ -42,4 +42,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-11.js
index 0c4a008d62b6855ece73d5f297fbdbf26e5e3414..d93a626f6a2b7b45585f747530f7fe1a1d84fc3c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-11.js
@@ -46,4 +46,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-12.js
index b89d3d880eba24f62eed03401ae3c7f144ead1f3..7de16ff2ead9e35919d2b4eb9cbc1f2a95d8e28d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-12.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return [11, 9].reduce(callbackfn, 1) === false && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-15.js
index 6bf165ef12a0600068fa1371ed072bd8d735b069..89d2fa5b87e66259afccbf335953541331df7b9d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-15.js
@@ -52,4 +52,4 @@ function testcase() {
             return (ex instanceof TypeError) && lengthAccessed && !loopAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-2.js
index 55ec790f99e3a5cf538ff4ed6dcd0a26e20fc27a..ec585fbfdc37df5ec46e0b914403fae9f3ed3a9b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-2.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-3.js
index 7789b93528598d47f2f8149c50d597c7c849fe2b..f8b024fd0acf160480a7835c44998a9bbfab77ca 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-3.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-4.js
index 9a81625e9ef745707338342b662b77c240eff900..c285dcb14b6b53a7172e87e64e7f74770073f4a9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-4.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-5.js
index 74ea634f79d0efa47a6414cc532e8c8db8c5a514..b16b559160985b42fe40217110a5f0d0bb9d990d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-5.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-6.js
index 78df3008dbbfaca6f9ecf14418febf9aed21504b..8535436e407d4fe0a6b2a7cb8db7a8ac3b87f46e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-6.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-7.js
index aa5b8be8cb2e1f95481fc44b0a2ec734828e8a55..a591c11640f9ec6ab5a79f9e956a4fbed927be59 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-7.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-8.js
index b0c88c40b04b9377a70ac8eb08873fb4d631bb3a..e62a1dae1729ba1c07aa7442fca618a07a35bf92 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-8.js
@@ -45,4 +45,4 @@ function testcase() {
             return ex instanceof TypeError && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-9.js
index e91f72a90e7ce6708a0cec70c844b297fccabbf4..9c823a5ad69fd6e1a8c823104e1df941d6102242 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-9.js
@@ -49,4 +49,4 @@ function testcase() {
             return ex instanceof TypeError && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-1.js
index 27071d2fdec4c6da3575c4c42c8250bbea6727cb..aeffef953278f5899e16bd1a0341dd75f204c1c4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-1.js
@@ -36,4 +36,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-10.js
index 8fca849b988bc4449f8a6a8960ef44d74593075a..5906e8fe9d2830a9ade46b7d9c6f15c3d22a55a8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-10.js
@@ -49,4 +49,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-11.js
index e2a4e0d184a6d61db9adaa9ebc31df7b033bd188..eb48ebeb2b79534e3e50fd7e18d3e34e02dfc346 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-11.js
@@ -53,4 +53,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-12.js
index 70e62481e5416b538deaf7783489aa54bb7bfd77..eecb9d6b69a0f54c2c77de4a52b94ea40600a1fb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-12.js
@@ -46,4 +46,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-13.js
index d399dfdb0442cee9e206dbd501d43fea8ad52deb..e4e16375d5af58e0c69bc0b324c8dabdd80eb37d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-13.js
@@ -51,4 +51,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-2.js
index de170d39b4b2b88eb2b61f937edbf8c5699472d6..9ec5e0d040a88da638cbff3111a9afe49588a3c8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-2.js
@@ -40,4 +40,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-3.js
index fcdcac6f06bab1dfa8742109c660ba549b6243d7..d87f29152f93b99c276a7e950be405099ebd064b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-3.js
@@ -40,4 +40,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-4.js
index 038338e9553dcce2fd645fc2427f6c3f14a68377..a51af722081ef832e1098a63ae0d779f3f92b45a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-4.js
@@ -40,4 +40,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-5.js
index 6c028ee1aae24a309d9ab883c7f33c40bbbe8c88..6529aff3ae80ca6d240801d3248acfa75015dead 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-5.js
@@ -40,4 +40,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-6.js
index 72626426609137652736b053d8ecd430974c68ad..0acb4a939bd4ae956b38d438c2d87c61e89b817a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-6.js
@@ -42,4 +42,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-7.js
index ebbdaa33ee8534acd0194632f8e511174a5b4a75..0a5c0c2a0baee728133d5dfe8f802077f0124b0b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-7.js
@@ -48,4 +48,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-8.js
index e7fb4a7e5833d72c2882b44bdba4c5cdcf87c6a8..839d4f906975dacaf13417c6566d6cea48dc0b59 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-8.js
@@ -55,4 +55,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-9.js
index 48ffdbe45585a85dd52120e6638afa11e433cfe9..b2d52600add08bf89e7db545d4db9b96238ca4d0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-9.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return [].reduce(callbackfn, 3) === 3 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-1.js
index d8405d01f625a216ac2c012cf1e3905e4b95c920..a8e86e146492b2250b3d6c10d9e971f99a855e67 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-1.js
@@ -33,4 +33,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-10.js
index f487dddffa330de5fe2e0fdd2e64bf54faa8c776..aa3382e9726d86680e6f406e2bd468d01e5abd50 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-10.js
@@ -29,4 +29,4 @@ function testcase() {
         var str = "initialValue is present";
         return str === [].reduce(function () { }, str);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-11.js
index f6f1b355dac15ee70343dc5758265c3d4fbc16ce..aa1accf7abe2a0b882ecd42c92f0e13371887ebf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-11.js
@@ -29,4 +29,4 @@ function testcase() {
         var str = "initialValue is not present";
         return str === [str].reduce(function () { });
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-2.js
index 0f1dbf79204a3fd0db47c484d0cd3e90a3ff003b..8357ed8561b6f1d3070e47125dda3715ee5088d0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-2.js
@@ -37,4 +37,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-3.js
index 22b5d824e0685aa74439d7b3feb252a816eb8333..cd81714fc54e1c6ed5a8440b00694e494ca74726 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-3.js
@@ -37,4 +37,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-4.js
index 25d67003dec5372e7e28d303434ea89bf487e738..9278fed1241306cf7088fa3b4e1a9833871fc78d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-4.js
@@ -37,4 +37,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-5.js
index ca4413afd1057c3c741aa214ceb057e1affafe70..918d84f9da7794d920c935a75a9b6e1c1c344b13 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-5.js
@@ -37,4 +37,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-6.js
index cb9a40b1760e4fb89ec3208d34b621e4d69be43a..db5381ee6ecb78405d61daae275d55505dec92b3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-6.js
@@ -39,4 +39,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-7.js
index f3d20f1256f23eeec1498329932f5febbfcbd8fd..636ca12ff4a227aec6d6a2afdf56e014941a0893 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-7.js
@@ -45,4 +45,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-8.js
index 78988f41eefe052a45390a3f45a098627a4fe273..9539eaef6f6ba2c5e385d0599e042fa2d867cf2c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-8.js
@@ -52,4 +52,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-9.js
index 8b5736330fdd189db430ac5e0d8394f438176162..a351d8401fbed6f0e3c8d37e2fdc856676452a04 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-9.js
@@ -52,4 +52,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-1.js
index 36d883c7b5b46c30a2774c5f350e773ae7fe8298..3eccc95f35ab12a65634f9ec91059fac0d91f1f3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-1.js
@@ -45,4 +45,4 @@ function testcase() {
             return !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-2.js
index 714bbbee019f77efc58ad484828a641673737774..a3af854895b195f92161c96f7686e529dd1515a7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-2.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn) === 3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-3.js
index c6c156abfd40acd551be5deeb45c23b272bd78a7..0b1a18c7667b799262bc26e83fa08d2d91862025 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-3.js
@@ -59,4 +59,4 @@ function testcase() {
         arr.reduce(callbackfn);
         return testResult && firstCalled === 1 && secondCalled === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-1.js
index b2f9b775ef0bf2a3ba2fe036a29114189262fe1b..4164df34fd9b06323829ef6f94f05dd03878220d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-1.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, function () { }) === "accumulator";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-2.js
index e0a9373d34648a37772f79574fc84cdf65804c18..0d28fb1ea2c7d583acd0db30e728bcd8e7fd146a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-2.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return "accumulator" !== Array.prototype.reduce.call(obj, function () { });
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-1.js
index 56e58e34abb55d0b6641e1814f76eb1c499ecfa6..baa171b6523ac25608b5b1beef75c5fd6dc43f0c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-1.js
@@ -37,4 +37,4 @@ function testcase() {
         Array.prototype.reduce.call(obj, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-10.js
index 709f5a7caa6f384f3199b5a9a4ac8936296db184..d27ef9c40dba9fd0e04209eaafb487e899c49944 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-10.js
@@ -45,4 +45,4 @@ function testcase() {
         arr.reduce(callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-11.js
index 1a945fa014101099ebefb6d1417aaea0e09e5043..7ae9b4acf9fbec57ace393e67e8381edad479e01 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-11.js
@@ -51,4 +51,4 @@ function testcase() {
         Array.prototype.reduce.call(child, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-12.js
index 033ea8bd3f85493fac6be24320e1e92c54b8c4be..c0e109f9154b98a2547bd8982a1c1f6ac9b91d46 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-12.js
@@ -50,4 +50,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-13.js
index 59e9b4532204344616c99ec117670e0f4f3fc67a..29e7507cc60e08694982d30fb7472169cf3d1c83 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-13.js
@@ -58,4 +58,4 @@ function testcase() {
         Array.prototype.reduce.call(child, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-14.js
index 10c3d31306fbc9234f738de6cd43c25c1e293326..4a101e05e17d80acdaf16cb6d7dc53249b437144 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-14.js
@@ -55,4 +55,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-15.js
index ea26218f29bb0eb9f19d58f51e1cbb9990419486..ba370a10fdd728c7d8b3324af340c3047e4f4952 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-15.js
@@ -51,4 +51,4 @@ function testcase() {
         Array.prototype.reduce.call(child, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-16.js
index f473bfedadcc51c9f4af294f03948551120a5c0d..3623492f67ac852fd02f0925cb7bc70ccc49265b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-16.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-17.js
index 98e98b7b66f5404f4b42bd10da84b9b5d6519a2c..1263189fc5eebd8c7e57985a73f045f60ea12d3c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-17.js
@@ -43,4 +43,4 @@ function testcase() {
         Array.prototype.reduce.call(obj, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-18.js
index 449855bff4273400f87e8c28f095b8a2d07eb4ad..48811d53de8203df5e02b972d7f569d2bbfe327a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-18.js
@@ -43,4 +43,4 @@ function testcase() {
         arr.reduce(callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-19.js
index c99995b4525c3f33a10c21c9ee8a6b96dc316d5f..c34a1281ebba00ba0f70a5e573a0b448d2200544 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-19.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Object.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-2.js
index c16c9586d1164d4788e5c559836e53d8e26694b7..3729f8eb663ddfd04063aad25c4fa501742e4c36 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-2.js
@@ -37,4 +37,4 @@ function testcase() {
         arr.reduce(callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-20.js
index bde7abc7e94d9e25323c35d34b4cd41cbc478d18..40ad2d322c7989146cdfce6b81b2af664356a7a5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-20.js
@@ -48,4 +48,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-21.js
index ba5f32c978445d9d8a672492a2befb7966ccb73c..964590a3ab054ad5bbcf5b0820c62a0fc155c988 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-21.js
@@ -49,4 +49,4 @@ function testcase() {
         Array.prototype.reduce.call(child, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-22.js
index 7cbfa727c27b46287ea9a3b58d1142393d060409..75c02a0a3f984ee08aa59f6c3c6c7c9364e1c6d6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-22.js
@@ -49,4 +49,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-23.js
index 8da374a3c4e051a65105b30fdcef7695d924d595..faffb12b97696f0c5e459818a0e67662ef45cb65 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-23.js
@@ -50,4 +50,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-25.js
index 7ff68a9a20d44f5a8f8c4aee466476a5406162bb..7086cac481fca79e6c29a53def4a4bc7f7f4c7db 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-25.js
@@ -40,4 +40,4 @@ function testcase() {
         func(0, 1);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-26.js
index c30b806cf80cdcac0039d6b9ef6eeb2f7b1d9983..81c810d25d760551792a4566a54088b9a3070c24 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-26.js
@@ -41,4 +41,4 @@ function testcase() {
         func(0, 1, 2);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-27.js
index 88b251f94f0600c653cde7b8d4918cd198735a07..ced574596d62d800825e4ebf644e2ec858bea797 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-27.js
@@ -42,4 +42,4 @@ function testcase() {
         func(0, 1, 2, 3);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-28.js
index 42aa9e9cb1a83e76e8b3709dd4565e934beeda92..f23755febbc68d28663475c8c743e0591b7c56c8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-28.js
@@ -38,4 +38,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-29.js
index 27ea65d8b03e9a489d6bd76d36f63b5b0f627fd2..638cca29e3a201e1b03c26b819ab2d85cbadbaae 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-29.js
@@ -45,4 +45,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-3.js
index 2d265ba4c5aff86565396a31469b859b5703c9c5..5cef7eaace4105284ef4ccc39b9d8a737c96fe49 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-3.js
@@ -46,4 +46,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-30.js
index a69c2a52ca2f012e71049f7117a5160095d90dc6..748047ff3d880c4fc4168ae701a17096dc2954f8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-30.js
@@ -58,4 +58,4 @@ function testcase() {
         arr.reduce(callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-31.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-31.js
index 5e70be8f46e3a8273744d399c3fe4c029a357e65..9a384d16a663cf75fa51e5bba5479408ec8d6029 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-31.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-31.js
@@ -59,4 +59,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-32.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-32.js
index 2489e5e26c2cdf8b30681756b56ab332e77a805c..919307e963e8910e990104fd3464994dc760ed5f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-32.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-32.js
@@ -50,4 +50,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed && !testResult;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-33.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-33.js
index d7aa271b6d1fe0ca159290861f44c9ff358ece15..abd22677bb5bb7a3cd05af31664bd202b6f87840 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-33.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-33.js
@@ -51,4 +51,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed && !testResult;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-4.js
index 2953ddfae2336d01058341e7164ee5523f98fecb..cbfb024f31f7924940c689f50f4e899dd8b2972f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-4.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-5.js
index 258aedda64f6f8abe29315403a42e8e595129a41..adef47e0c7028383820674846cbe35999f9a7d35 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-5.js
@@ -56,4 +56,4 @@ function testcase() {
         Array.prototype.reduce.call(child, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-6.js
index dcca4f1ea3da1d090f4d75baa1b3e0786d717ebf..98b0e702ec120559779e2189cb3cfd25942f8bfc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-6.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-7.js
index 4ee6d24455f2cbf68a2bbf905558c4cf5176b5b3..71c35da0b42bb7f16eaf4d6fa6e09a4282db4186 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-7.js
@@ -43,4 +43,4 @@ function testcase() {
         Array.prototype.reduce.call(child, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-8.js
index ab6a3e858da27a397714989c8f83938c622651cf..f467cfd1ddaf896d450736642b21c443ab953dfc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-8.js
@@ -45,4 +45,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-9.js
index 23a86884e47fc5f97543fe954df6628c36408fb9..1d2aa512565c9bf48e184c375d1432d238c8a5ef 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-9.js
@@ -44,4 +44,4 @@ function testcase() {
         Array.prototype.reduce.call(obj, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-1.js
index 228fddb3c98817f74f2e811aa911ea72d04cf3de..2034d4d0f77d17a8413da37fc788c0636de7f809 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-1.js
@@ -39,4 +39,4 @@ function testcase() {
       return true;  
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-2.js
index 64c74b2926fdfdbea37884664cb738614c67219a..c08528eddfa9d8f360ff8fe2c3b4909942fda0be 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-2.js
@@ -41,4 +41,4 @@ function testcase() {
       return true;  
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-3.js
index 05482cf66ff53da3f787df9ef08741b2bac16014..c22d84b1655eb26f3df72edc34cc4e6c3ed5ff45 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-3.js
@@ -44,4 +44,4 @@ function testcase() {
       return true;  
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-4.js
index b836e682d6fbbd1486cc0ad785460dd3563bf80e..102b666b4feeadb902fdcf12cedb0a05f0e25664 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-4.js
@@ -38,4 +38,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-5.js
index 97b9cba55f0578ae3750ddecd113e096a3ead907..5a90ac8ed0665202d007f660e16a84a8892981ec 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-5.js
@@ -45,4 +45,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-6.js
index ea51b9901409af44a86add487ffc76713dcae62b..2df03f5cc2b21967b7525842243b58fd194a88cf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-6.js
@@ -50,4 +50,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-7.js
index d22dafd67ae3f75f46b63898d88813c0acd501d7..64eb28f22dd560010b34a997e2dcd2e1fe8090b3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-7.js
@@ -42,4 +42,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-8.js
index 1e2f2738a26e32d1553452efa0d65bcf8bcc40f5..fbc24edd3ef8ea61924702a1efa2e2311266d13f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-8.js
@@ -47,4 +47,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-1.js
index 4f0135f49f46912223855b312344e74e7893b4ee..7b017c362558f8d216b87f7d89316ebaf79a2e8a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-1.js
@@ -34,4 +34,4 @@ function testcase() {
         var arr = [1, 2, , 4, '5'];
         return arr.reduce(callbackfn) === "105";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-10.js
index e328938c29fbf495095769c0f3fe4976ba57d509..cbcc45a968f282759e1db7404476c9541796b964 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-10.js
@@ -35,4 +35,4 @@ function testcase() {
   var arr = [1,2,,4,'5'];
   return arr.reduce(callbackfn, "") === "12345";
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-2.js
index 001eba5bcf7b9cf5dd43bca47fc38fc1daedd882..001a1fc558663942a5a309cbd490e0f5f138df6d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-2.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-3.js
index 443c07591e781105c6e2c0cca5a821d034b2c8f8..51806cb2689b03d16ddc3c1c6fea71c97b4b1d42 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-3.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-4.js
index dc58ae017d516400be8d9f391d51da982ed9c67c..ad32701c7309452c91fcbb3ba5461acb56a54200 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-4.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-5.js
index 01598b85d8242258a7fece230ce106339a437648..0b8af9ad45c176f50cd78e82729b3905de6e24b1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-5.js
@@ -37,4 +37,4 @@ function testcase() {
   if(arr.reduce(callbackfn) === 1 && callCnt === 0 )
     return true;    
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-6.js
index c60ee8ed09757811b5c759a853c2a3acf839d0e4..0435ddc760c4758c6b2e50d85d262c2aa00af2be 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-6.js
@@ -42,4 +42,4 @@ function testcase() {
     return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-7.js
index 3dfaeb6108badf0a032832e8d79a3ac785669b84..450e8cffcce96b982e879a7cb34153a838dadf7c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-7.js
@@ -34,4 +34,4 @@ function testcase() {
         o.arr = ['1', 2, 3, 4, 5];
         return o.arr.reduce(callbackfn) === "12345" && !o.hasOwnProperty("arr");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-8.js
index e13fc6f9ffa95af0b07975d7234cc44bb057306f..b7623602812d53aa08c49e76208c9ed77249d38a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-8.js
@@ -45,4 +45,4 @@ function testcase() {
         Array.prototype.reduce.call(obj, function () { }, "initialValue");
         return !accessed && !callbackAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-9.js
index 3080c7107d66870b11104e23ae50f761abe5daf8..a69ebb46a01867610496692095c79724e9246ae5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-9.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return newAccum === "initialValue01" && called === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-1.js
index bc192c7e8b1330edf41ebf14a2de57b705b11025..4780c2e290f2d444e268611c4fe76f26d25265af 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-1.js
@@ -36,4 +36,4 @@ function testcase() {
       return true;  
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-10.js
index 970c80e72069edf9b199337d834006828506db2e..9b5e9d8454f4fc9d92595321e20579b5b9f332ff 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-10.js
@@ -54,4 +54,4 @@ function testcase() {
             delete Object.prototype[3];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-11.js
index a7300fa4d8a1e35c6d4ce08dbe666a9b03ac4df0..173e5d3beed50ad6f1f179094a5098024bebc0e5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-11.js
@@ -53,4 +53,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-12.js
index 1c2957865cb3c4ea98950e707ae19d680fe9ffd6..ef54ca3f2cd225e45e13a15565e6bf754db8631a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-12.js
@@ -52,4 +52,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-13.js
index f5ea46cf488f7bc1f5b60d63cfb189b7df81ecd6..17f60188a6cde4a22fcd08dee90a86fd2464c122 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-13.js
@@ -51,4 +51,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-14.js
index cb8c2a12e6607c3513955d797df0328d9a963dcb..cf6828584f282fe96a271bce4b7eb682e2d338b9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-14.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-15.js
index ede93992480af3c2ae795325780d89c04c31b757..b49e2244a0819db46060c55bf0373de0960d4bea 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-15.js
@@ -58,4 +58,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-16.js
index a8fd34504f2ab455be1f7f8801098cf3bf79a395..5aeabc7b2d1315d1b8fa20a077b4ce4522fc21cf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-16.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-17.js
index ca8a4f2e61b5a1b83b567e6f75490a5620d21d32..66f7e75205824c57ffad86db884f613eb16aa9d2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-17.js
@@ -52,4 +52,4 @@ function testcase() {
         Array.prototype.reduce.call(obj, callbackfn, "initialValue");
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-18.js
index 8c2af3432d2a0dc97be5a20508b374f7a1102fae..ea2aa207a757386d14256709f52e08f63301c9c2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-18.js
@@ -52,4 +52,4 @@ function testcase() {
         arr.reduce(callbackfn, "initialValue");
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-19.js
index 2a87d9183691d9ecda6ef014d3d5d0cee848bd09..bed493921d5331319c5e4580a1c8a1879432e388 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-19.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-2.js
index cf0367feb926b128e16445233223c3638114ccc0..8827570a6cd3aec13d50e9dcf5d401c53dd69960 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-2.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-20.js
index df1e1c4f59a844ec4d90c2766d07cd693350e348..100e76e29c30efe58b20e20ca9bb2ff43d34d21d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-20.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-21.js
index 0c202324f5f2760637ba83263ee76a4e92da41fb..44993c96f7963747f020ae3e7da9556c14f60b82 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-21.js
@@ -56,4 +56,4 @@ function testcase() {
         Array.prototype.reduce.call(obj, callbackfn, "initialValue");
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-22.js
index 819ca06317bfc054a00a037353ff61f2713f7532..bd44218ddd08bcc5b89923b301faf023fda9027d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-22.js
@@ -56,4 +56,4 @@ function testcase() {
         arr.reduce(callbackfn, "initialValue");
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-23.js
index a5590818912a85ac16a1eacfcd096ee3f897ce62..015831b015c459ff1a395c0ef8a4008f793bcae4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-23.js
@@ -54,4 +54,4 @@ function testcase() {
             delete Object.prototype[3];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-24.js
index b88b7c2d89689fdf3a80c14d6b602869177947a5..45c0b67c09af19288bdac8e2697e6758d7620d99 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-24.js
@@ -53,4 +53,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-25.js
index f15ebd36906acbb6b0fe95c965322a1ffedbd2dd..d0eb2f61c2a943d31acdddbac89478e416587ad2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-25.js
@@ -52,4 +52,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-26.js
index 1c079e3e64b5b6f3d2e9adbaf044775404e3d8b5..69f6fed42c59ca296a11170ec62f8655afe17084 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-26.js
@@ -51,4 +51,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-27.js
index df955af5c941c61985195ebd99d3848bd5d616df..691dd337dfa5acc2b216aab9df370a2d17f6ac77 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-27.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-28.js
index 8172640380740d79121e36ebfaa7350c08d02dc4..3ff09db0d4c76b1be78b6c00c11951e00fcca77a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-28.js
@@ -58,4 +58,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-29.js
index 93ef694d4369b3758232c9443b32e5e1365ee785..3f433594755ff038b46c5041119530def3a01597 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-29.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-3.js
index 4cfe45a3babcaf6337ec1100f5ab745982b44088..0f921e777d46c29f1cde974f1a8aad3bffec9e8e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-3.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return accessed && testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-4.js
index 7cd16d17adf6ecfc519ba45af04f1f820f119348..0db5579f1692638297b06000b5ffdf420ff350b8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-4.js
@@ -52,4 +52,4 @@ function testcase() {
         Array.prototype.reduce.call(obj, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-5.js
index 7c9040cb948effec225324fb913cb82283de7e2e..633689e68178402aae49337f9e7c5a468cea3312 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-5.js
@@ -52,4 +52,4 @@ function testcase() {
         arr.reduce(callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-6.js
index 3f7ed73d0b8decd1abd9f9887e5d97645456bd6f..56e3e10deb0669d67e2370dda0f7e6047cd0dbe4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-6.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-7.js
index 5932c8dc5ad27ebcd10938e65b473c4921efb27c..7fc58d6e00fe2afd889b318ee0f54a0fc93c3492 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-7.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-8.js
index 23afed96d1250cb924b5ffcadaa028468e30e3a9..a134d6055171b764037b70b3d9da29b23829c117 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-8.js
@@ -56,4 +56,4 @@ function testcase() {
         Array.prototype.reduce.call(obj, callbackfn);
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-9.js
index 5ffa3e8a8e6e8a06171fb4fbbd219bae4dbd90e5..1e7301ee739cdcfaf249a66a425c3dc64cf9c3c9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-9.js
@@ -49,4 +49,4 @@ function testcase() {
         arr.reduce(callbackfn);
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-1.js
index ce20fed9daa2f5d7bd18c1ce90f423b593376cd9..be7ac82640a4ce10d84e5f3afc38f68117d65d8e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-1.js
@@ -38,4 +38,4 @@ function testcase() {
   if( arr.reduce(callbackfn) === undefined && callCnt === 1)
     return true;    
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-1.js
index c7f42f0ca16dac4696db83808959204f884a183b..3c0d69e5351d17b6091b5195da50359b3b467601 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-1.js
@@ -38,4 +38,4 @@ function testcase() {
         Array.prototype.reduce.call(obj, callbackfn, initialValue);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-10.js
index d00957207be04b4d1886f3035481b1adfc6f2216..156308450af74003c7254a1dc576ebbfbb5ecb08 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-10.js
@@ -46,4 +46,4 @@ function testcase() {
         arr.reduce(callbackfn, initialValue);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-11.js
index 4f4998b4b909e26293502b3491a7efd68239df59..b593d56270232bc3d4b1a35c97beed7712287bd8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-11.js
@@ -52,4 +52,4 @@ function testcase() {
         Array.prototype.reduce.call(child, callbackfn, initialValue);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-12.js
index df5904f927538ca3953672371df5937a68d91741..32c68cb6444e394e590cc789e3b716dea4bbce53 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-12.js
@@ -52,4 +52,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-13.js
index 98b24c7aa467d26c5062fd9859a4b75398183335..d6d061335cda4525dcfe40aebec7b7e8b90fc814 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-13.js
@@ -59,4 +59,4 @@ function testcase() {
         Array.prototype.reduce.call(child, callbackfn, initialValue);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-14.js
index 134998a9bb631bd18cd019bbf1a01c5d4f531ad2..09a97f685c0472db59673a4c5cff94c55fa6616d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-14.js
@@ -57,4 +57,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-15.js
index 24340eb1a3b326fcb9ade260535f54f27d3644a5..e88a8064352c346c38d4023b22bdc67312540b2a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-15.js
@@ -52,4 +52,4 @@ function testcase() {
         Array.prototype.reduce.call(child, callbackfn, initialValue);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-16.js
index 1c934b55cea7a08f6f647da3a57339c8d5bc9982..27ac830835566d6b15b5550b7ca2bc87e11dd32a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-16.js
@@ -51,4 +51,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-17.js
index e0d6b4ed7a723b6c787ffc65d1f92dc3d097fb3d..0e4ce807d8444bab000ceaed0195298c82689623 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-17.js
@@ -44,4 +44,4 @@ function testcase() {
         Array.prototype.reduce.call(obj, callbackfn, initialValue);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-18.js
index 55e6f884db04cf33e7b78a9f331c61d120198d24..1e91987e00a037e127aad56c326f08bb0958d6af 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-18.js
@@ -45,4 +45,4 @@ function testcase() {
         return testResult;
          
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-19.js
index 8ca3d4e89eae3f53e69f80dc2c86f8f85b8bc9dc..150f242941df31a757a6964c1302e763f4ef2ff8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-19.js
@@ -55,4 +55,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-2.js
index 4fbbb0d7d1b1d2de1bda7d843660e2163dfc66b7..d52eefa94da9c5dfdda25d43c2f48ad2b521e08b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-2.js
@@ -38,4 +38,4 @@ function testcase() {
         arr.reduce(callbackfn, initialValue);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-20.js
index 4b309736f77e2f8f59d15ef801f59ef5f7f71aab..02013da8e659761d6ccd3c2f2d9ed8910ca93a9b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-20.js
@@ -55,4 +55,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-21.js
index f0dddb3924bd19ac3a7352eccbefc0bbd261b2aa..3ffd089add8c623acd239620b419c00f8ce91275 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-21.js
@@ -50,4 +50,4 @@ function testcase() {
         Array.prototype.reduce.call(child, callbackfn, initialValue);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-22.js
index 24098ef5c4347c10a19fdc84e19267d87a17525f..ee9ea034a8dcb3ced86c923b16dbf54ba562fd3a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-22.js
@@ -49,4 +49,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-23.js
index 8b558c5911b3c83c53d084014db0bc5bb2b9ec8b..274de81ffcc71d88f5e753610789a99bf66272ae 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-23.js
@@ -49,4 +49,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-25.js
index 3ffaf6b4eac92e9dc2017a0a3973a0fa8b2aa790..5cbe23584484aea2093fe49f8c184b1d22ff1ca3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-25.js
@@ -41,4 +41,4 @@ function testcase() {
         func(0, 1);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-26.js
index aa1acfc8e47a918fd0db41dfdabf21c2cbdc78f2..e204e5c42feab68bb689e4955c87df2e0e4cfd78 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-26.js
@@ -41,4 +41,4 @@ function testcase() {
         func(0, 1, 2);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-27.js
index a29b10e21c2bc12f0620e9f8b4fd2a19ad85cb66..63fa77651974fd3b778e0872f8f6982453f92c79 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-27.js
@@ -41,4 +41,4 @@ function testcase() {
         func(0, 1, 2, 3);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-28.js
index b7de5f097d94d2e2376bb9b36c5a2f58f7baf970..edbb57d7e4c2067a133f17da7be3578e37108246 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-28.js
@@ -40,4 +40,4 @@ function testcase() {
         return testResult;
         
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-29.js
index 092e5046a251258efbf09b280795a8634802dd8a..86af5aade0cac2cab719e47718c8ced8ad22c577 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-29.js
@@ -45,4 +45,4 @@ function testcase() {
         Array.prototype.reduce.call(obj, callbackfn, initialValue);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-3.js
index 2db1dbcc31865af004ae0bd6a2a617709851f6c7..cad13a3c9aea39407be56d8b79a2e6763cc65b3d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-3.js
@@ -47,4 +47,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-30.js
index a8239ac2542f90af0b0e90a5502b1bf5091628fb..f7793e0214f0e1435cc7ee7d85b9643b53f1f0f6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-30.js
@@ -59,4 +59,4 @@ function testcase() {
         arr.reduce(callbackfn, initialValue);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-31.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-31.js
index 7a703b481c128ccaefff26890e3fe0ee4483f894..2bc0c29daefd6201cace7c874eb01755faa4162b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-31.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-31.js
@@ -60,4 +60,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-32.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-32.js
index 8beca3402ba190b2a939fd7d5983320104951d3e..9de7a067769424ea8b3a74d568a119eeaf48bc46 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-32.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-32.js
@@ -51,4 +51,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed && !testResult;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-33.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-33.js
index e30edbae0ee432b839332dcc9c7f25c335a7fa75..1a3338776322da4659cf2cf325189968a046175d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-33.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-33.js
@@ -52,4 +52,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed && !testResult;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-4.js
index 309fbb071a8627a84f81fe782c7d8a9f29a20f26..8c5fdd7656f86fc747c832ee85bb92c9bbb27c39 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-4.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-5.js
index 11cdb281cdeb647d643f332b7a0f552a2c8afde2..2ffc1709d6bc8606f208a18d4322b082a7518b2f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-5.js
@@ -59,4 +59,4 @@ function testcase() {
         Array.prototype.reduce.call(child, callbackfn, initialValue);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-6.js
index 1eb6f19abca51d3698f27a488d415d456ed8c858..59c16e15fe0f1d48ff3c8068802734f3d6f367b8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-6.js
@@ -49,4 +49,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-7.js
index 6b1b0f2772b8200a88c3ff24ad4aa776eed61d25..8a3772415af8465e1429656126d151b08ad4c5bf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-7.js
@@ -44,4 +44,4 @@ function testcase() {
         Array.prototype.reduce.call(child, callbackfn, initialValue);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-8.js
index 342eb784a0a436cc93793e81ae6d3c1c435ef964..3ba82de8eefcc9656af1e009d78ca9debc4d030f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-8.js
@@ -47,4 +47,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-9.js
index 2374afda760f8619925a85b55731553fdb2d3484..bb38f2d2763b913b268c644b816f4d3d6a871db8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-9.js
@@ -46,4 +46,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-1.js
index 9ef778388032372e28434b2a45fe4844c01af699..1b73368e88cd57f38f90ed8d7e895e97fe20923b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-1.js
@@ -38,4 +38,4 @@ function testcase() {
   if( arr.reduce(callbackfn) === "five") 
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-10.js
index e70da75eded2ba43ba33eae93150fcedad04325d..666a681329da4c69c26e275f775bf059af8f0889 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-10.js
@@ -34,4 +34,4 @@ function testcase() {
         [11].reduce(callbackfn, 1);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-11.js
index 24437564912f4cfd5331e26c6c58c427cba046fd..5360a8402c94688f14b654d0740d4870d7ca5ae4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-11.js
@@ -34,4 +34,4 @@ function testcase() {
         [11].reduce(callbackfn, 1);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-12.js
index a1f3cacf79377bddcc7096849b10bd512106b375..0b561e53ef7c04f66a619eff169e919c7653a2f7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-12.js
@@ -34,4 +34,4 @@ function testcase() {
         [11].reduce(callbackfn, 1);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-13.js
index 8290feeb8fd8e412e237ecd83be273f0e6e56ce8..955c2ee26b1de19a9705390f8caa57688d1db33a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-13.js
@@ -34,4 +34,4 @@ function testcase() {
         [11].reduce(callbackfn, 1);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-14.js
index 7b32a5fcb46f9bc0b32c6547731632b7f39ed290..f96e3acb8cf44982ff9158404c749434ccb5b672 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-14.js
@@ -34,4 +34,4 @@ function testcase() {
         [11].reduce(callbackfn, 1);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-16.js
index 9a7071c4afece831109b3dd982f344bb2a21308e..8fba4ccfc8b2786c4c8552290f37493d6b12427d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-16.js
@@ -46,4 +46,4 @@ function testcase() {
         Array.prototype.reduce.call(obj, callbackfn, 1);
         return result1 && result2 && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-17.js
index 56c542e2a2c751b59ad257744ba5f805b29facf0..95730b73e940b8598837f2ecae00677dc63a44d8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-17.js
@@ -41,4 +41,4 @@ function testcase() {
         [11, 12, 13].reduce(callbackfn, 1);
         return result && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-18.js
index 106e190ba9adb476ac109e16ec6486244d8c36e0..a1f91bcce7855773be305958f5d87b3cb04e9bea 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-18.js
@@ -38,4 +38,4 @@ function testcase() {
         Array.prototype.reduce.call(obj, callbackfn, 1);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-19.js
index ca6b434c329b6516c25de41ad8d3c95046da7006..5818b4e9725bcc37eaeef90f4e03e9888c790daa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-19.js
@@ -38,4 +38,4 @@ function testcase() {
         [11, 9].reduce(callbackfn);
         return result && called === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-2.js
index 93b8857555f551b3b9be41a88741ad6052bd4be6..2cc5d2b95f8ff31d112a3babf487f6fd7827f9a0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-2.js
@@ -42,4 +42,4 @@ function testcase() {
   if( arr.reduce(callbackfn,initialValue) === "five") 
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-20.js
index 50af0e7e4d0117e551c0d8a2235038d4067b76d5..9ad6bebeab067fb76ac7d5cdd964c23417c75190 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-20.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, undefined) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-21.js
index e6ae548f08d7212898a469a8a1e382ed98185fbe..bb4e6e10dadc49168caf62e249a37c3ac686f914 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-21.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, null) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-22.js
index 42e37da3fad162b6b887bca5b95ee29461c6114d..e6feef3f8e836b15c107a485a6b32a9cdf30b82a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-22.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, false) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-23.js
index 783d660b91bbfa563841fdc440437fc5f7171c89..ede02d093702eaa1f89d5b676febef51a4f9bb2c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-23.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, 12) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-24.js
index c5ef53e7f65be9a1d82766a7db1a910d526d7c29..67ad45258ed1c57e8ac7bfddf21bf54558750ab4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-24.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, "hello_") === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-25.js
index 8d7c923a24a998bdf3a81576594378b731b13725..4dc6e13be91f5ade018344b21ca15e24b04d224f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-25.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, objFunction) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-26.js
index 219d69b6affb9871d1240c52144122449b1bb5d6..c90543144124c526e45a9779219e9ff1cd7c2e6d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-26.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, objArray) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-27.js
index 4acb926bfc7102599e639b3101e7a16d9ccdb880..1ae6b07f3d9b4b027bec10580b0b3f7c446b19b9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-27.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, objString) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-28.js
index 2b4208dfc7ced53a7e24d944e3a9722c2c328d93..abb90ecd5b78688221dbffbd8bf3a09b4abcc53d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-28.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, objBoolean) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-29.js
index 0ac3be12f70e9b758da20fd0afeee5a6ec02dcb5..d53d45324468a766035bda7123b6ea53a714defb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-29.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, objNumber) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-3.js
index 2d948b07591e2dc614d800b376397468c657d0c7..342331917a4af5b18437c7371abb332f0ad85dc1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-3.js
@@ -39,4 +39,4 @@ function testcase() {
   if(arr.reduce(callbackfn,true) === true && bCalled === true)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-30.js
index 6f1e7bf3ee8b372a16e8e81c6a4ef0e92a97bb4f..4eeb7b77f08b40eb346ea74980ce9f7bbec1a006 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-30.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, Math) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-31.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-31.js
index 20b42d928cf7e3a5d5f2059f5d0d3534f9aff3fa..38b280c98a2b4b6b4c9d568c03675036f882a6e1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-31.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-31.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, objDate) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-32.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-32.js
index c14f29f42427c235c1f8a99daf5b21c48da08e26..28ddd79fdbfccb0ee943cf99e5140a936a1652ea 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-32.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-32.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, objRegExp) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-33.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-33.js
index 530aa7c7471716be36af2ed62da6f5f4a1570c91..7ffeda9e2822d30025e0c5b13e04cce4e9590fdc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-33.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-33.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, JSON) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-34.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-34.js
index cbc3d9c3e8aae01a823e95f6170be339563d4504..3b7f2ccd25d6ba9972437775ee11970c8105ce48 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-34.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-34.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, objError) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-35.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-35.js
index 60a7d06f1c1aba7a13514c4201cd9d47c5b13c4a..d2ab750d7e89329cd78c4b4365060d9e4699e92e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-35.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-35.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, arg) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-37.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-37.js
index 6c9e158b98c2f4fcaa56233c295a9240c84ed6b2..f429fdd4e11f90638924ace7aa1d9e6a609b2477 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-37.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-37.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduce.call(obj, callbackfn, fnGlobalObject()) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4-s.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4-s.js
index b47d7855917c4f4e620e8fd96a709c4b7adef870..2525b5a0eb077bac3486849fe8b98c49e513928a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4-s.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4-s.js
@@ -36,4 +36,4 @@ function testcase() {
   [0].reduce(callbackfn,true);
   return innerThisCorrect;    
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4.js
index 07525f063a85954045924f567e9b04ae5650b77f..1b9900e16fa928365780d02371a18557319b21da 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4.js
@@ -43,4 +43,4 @@ function testcase() {
         arr.reduce(callbackfn, 11);
         return result && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-5.js
index 17a8b5c54499f800d59b6c38ad9a5f21f5b090b7..4f1d8ca5ad005ac31dc7478339a3080b43f196e7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-5.js
@@ -49,4 +49,4 @@ function testcase() {
 
         return result && called === 4;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-7.js
index 6fe709037757e82de5668f276498dd292757d097..6e7e5ce7899f3318bdeb77886b49889e7b6f5735 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-7.js
@@ -46,4 +46,4 @@ function testcase() {
             return (ex instanceof Error) && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-8.js
index f278aad3a89201a28090ec25d57f6634b4646c89..a3d09cea32251675a5ada4ac9e715b2a91061427 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-8.js
@@ -42,4 +42,4 @@ function testcase() {
         Array.prototype.reduce.call(obj, callbackfn, 1);
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-9.js
index 9cdb3ac08565b0b3ed22a2ee3697903d71e8570d..bab08df1768751fef5e6e7108c97722c6dfd782a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-9.js
@@ -34,4 +34,4 @@ function testcase() {
         [11, 12].reduce(callbackfn, 1);
         return 2 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-0-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-0-1.js
index 27b8a6eb1dc160c11c00e82219b3175edeabce6e..810431017b7ad6106402bba09754a71ae003765e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-0-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-1.js
index fb605d63470125ed8a01197aaae8f8b4307c7cc4..a4f671575ccd679bf8a5a062ac01499dc244ee29 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-1.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-10.js
index 66b83c11abdeda9b7a516318e4917c47af4c35aa..2e787c5e574427dec72e8a62b9803bd5014a49a6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-10.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Math.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-11.js
index 0d56ee83b9f170532dee1fe02e06c95501359025..97ce6548166ebeb0ba19ee65e474299c3f9ac78a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-11.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 1) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-12.js
index d75a0ccd7af8b5538de1af5abb8f3d8687988ec6..8764b5b17613fd86b952d84f7ffe68d079112ba6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-12.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 1) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-13.js
index 5032eede8222cb2a2f3e7fbe0d5da93bbf270a5f..1f4e9286c65dd97fc1e5cd62d3fb0ac17fcfb568 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-13.js
@@ -42,4 +42,4 @@ function testcase() {
             delete JSON[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-14.js
index 42ad473106674dfb3a813a6a97c0c0538adb72c6..4dbd63338c6fd15b97f7cfa49439ba6de0bc5fb5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-14.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 1) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-15.js
index d9238a34c81e5ba0c52c47191c693be5ce5e0ccd..9da56719a2c42c3b5113c0656a2690249ad87d3f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-15.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, "a") && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-2.js
index 4e328fa6a7ffd7a60c86de9dc91bb5547fa96a4c..566570f3f3e2286ec6dacf0fa3ec7919011219ba 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-2.js
@@ -32,4 +32,4 @@ function testcase() {
             return (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-3.js
index 0c34890c79bf9a6101fc658bf3ceb81e4808d26c..786002818496328cc7e71c04dc266e2cc0ed6d2f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-3.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Boolean.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-4.js
index 4e9a94a454dae19025329e4870797cbc29a6fa92..d17997f61e54bad90e1cfba9c5ddaff0330a8861 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-4.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 11) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-5.js
index daed5c062ec954a8ff6dd546aecadbb0f07b7ba1..e0978373e41c1b36c853e79714b17244e85567a2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-5.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Number.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-6.js
index 077a1a488936340605587b23cf30265b67e0c731..f37513aca484397577c7043c7009c456bd9addb2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-6.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 11) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-7.js
index f38c9baac13d32ca166c689d82bbad00f2563904..47fcec15e537bdcfc4cd18b8d1b1575132a2f064 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-7.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call("hello\nworld\\!", callbackfn, "h") && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-8.js
index 55ab053f897e17e1582fea929a5a44b683e7ef69..c834c98b20d09eea5e74f47ec6fe0c873f6bd864 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-8.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, "h") && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-9.js
index f26090259612a3d881897c1b9a790db9ce9289f7..d316784c1d6a919165c20e21c624cb85e32cef7c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-9.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 11) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-1.js
index d7bd25e85a4a1b00bef413a48f5fb410e7249a08..9af7f31cbd0135579cbfc836f0728752e748f758 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-1.js
@@ -42,4 +42,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-2.js
index 614b39904062d4c310de9b0fb5e51f514693f6d5..1bb8dcd41768bcb8f2029c8a6a8a45785ea4ed6f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-2.js
@@ -37,4 +37,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-3.js
index 6963f3e9fe068a02958b7300925ddcbcea9c8f8d..b5fb7a810c4bdcf0d105bf3a565abfb5dc4b5116 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-3.js
@@ -33,4 +33,4 @@ function testcase() {
   if(f.reduceRight(cb) === 1)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-4.js
index 773790c81c9ac08189830d039964ccdf0ac2ae90..e5fe2a77cc2b4e153b8ee8f2e749ebc19f462a96 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-4.js
@@ -33,4 +33,4 @@ function testcase() {
   if(f.reduceRight(cb) === 6)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-5.js
index 4afd9dd371c2dff1354f177e7605c0eb49a4d5b3..0e43e198b687b7aa2d4b1796a55445502a94ccc9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-5.js
@@ -37,4 +37,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-6.js
index 6d05a5b0942e058d3c775b826552b5d418b0ab15..22b5d86eeba21c478f29ed560f205b89f0975bf5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-6.js
@@ -33,4 +33,4 @@ function testcase() {
   if(f.reduceRight(cb,"4") === "43210")
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-7.js
index d4a1477a283769428545ff5f7d959585cea04ef8..cbd0a47dfa99d8661ba5e880c61f7b39a248d77e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-7.js
@@ -33,4 +33,4 @@ function testcase() {
   if(f.reduceRight(cb,"4") === "41")
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-8.js
index 8e91bad7388dfb16620a034b3e3b297309983e8d..7b7a015716963fb198928a09ac62021a64460b96 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-8.js
@@ -43,4 +43,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-1.js
index 140b24e236e212e7ac4b57c5cd518a864da9aa02..4775c04f9cd8c231aebe852904fae3f89f56b9f0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-1.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 11) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-10.js
index 3e6e83a957b5d0ba360ae75341c87ae550388b36..d4eb2bc859722428c1946dab6adf35d7a8b63c39 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-10.js
@@ -54,4 +54,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(child, callbackfn, 11) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-11.js
index 64162502ca94371a579672901c520f8220f94b00..10dd813fda34f7144eeef3cb55610894af24614e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-11.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 111) === 111 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-12.js
index 91441b2abeb66022e6054764dfe97ce2e7990fcd..bdfc9b09ae02f13a234f04bf1b7be8a0fc91f629 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-12.js
@@ -52,4 +52,4 @@ function testcase() {
             delete Object.prototype.length;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-13.js
index a79ef8e1a08fe108a5d23f9d00a7a988160ee6ab..98f3b35a0f5294b5764acba95595e000df820c9c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-13.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(child, callbackfn, 111) === 111 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-14.js
index ce62d2580f52e16b7422d6e84e8724e7936ff580..56e47dfa8609dafb486dbf188c5dfa3bfca04d0b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-14.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 111) === 111 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-15.js
index aca650bf985622ada47a0528b01d72bd4ee8af9d..9bcdb4c0ca82b437cd5e5e814710ceee6af7ac9b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-15.js
@@ -47,4 +47,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-17.js
index a54f8cb10b3c87c4b6502f34b9a81f74330c0d11..f080606553bbd457e15e177a60d64c89d51d397e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-17.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return func(12, 11) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-18.js
index 71b60d5a39b99cf1653e10b320a6231ca10cd575..c508d4b42540a758c0e13d181fc7b0d43c026aeb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-18.js
@@ -41,4 +41,4 @@ function testcase() {
             delete String.prototype[3];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-19.js
index 77d3d9d6e1e4459d58c9f194ec446fa95bd2c0fb..edd4f340242b4a07e99b7513bff8b7a4355ec375 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-19.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(fun, callbackfn, 11) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-2.js
index feacfa7d52f97878c6fc7221af1c23093357fd24..3c529bed74bcd07cea14b5f5dc93636b26ca2d70 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-2.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [12, 11].reduceRight(callbackfn, 11) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-3.js
index 9dfabaa0378b3b3842ea8248da1e49d5d1650a61..8e8691a504c64eefdc000aa8748111d8aeebea9c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-3.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(child, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-4.js
index e0acc769700ed96165c4312c4c7565e9f6a36932..6f3e4b89bd86465a5ce3b0f6c67f564bc9a1860b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-4.js
@@ -43,4 +43,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-5.js
index 706632604c4f74e135c309c64904c5b89096d865..4f29c6f97a90a00e53512268532ec4d098739faf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-5.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(child, callbackfn) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-6.js
index ff8732ecc60e0ea45c793269e967a9c90e16ac23..0fe7b5a2830d0719d65f4a01e221ebfabb84e5c7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-6.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(child, callbackfn1, 11) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-7.js
index 84f5e530f99e648d4c3c1bea3f95398ad8139aec..193bb6527981650c05e3a5d0559b298ed1c8f81a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-7.js
@@ -46,4 +46,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 11) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-8.js
index e35b317d21df91c07f472af97683704c30ad25f6..08713d15c22129e8cd8b26b2b62dd11d4eac2d80 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-8.js
@@ -53,4 +53,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(child, callbackfn, 11) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-9.js
index 7d9a4bde32acc37b7b663276516351786114eb1d..25b478677eb5194e33d0e99a63fdeb60b20f9c49 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-9.js
@@ -57,4 +57,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(child, callbackfn1, 111) && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-1.js
index 9e82af75361a8404e034463709313d4390e95359..479af5ad596b5cec80bb973ece8693e3470f4d44 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-1.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-10.js
index 95b5057b78a4b934a534e713d3305bbcabd7f2d0..a2e4e6d6bd22670a0b0f2215ebd223fbde9a8543 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-10.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-11.js
index 8447e15ba486e5d98825880fc173e8748472d9ac..b1f9166f329c846cbb94f17c2daf24480b067382 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-11.js
@@ -44,4 +44,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, 1);
         return testResult1 && testResult2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-12.js
index 627519f1d0d1adb6c6b5c1c5e6aa111816163ecc..643ab56895552b222e6d941341d254043f4356e2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-12.js
@@ -44,4 +44,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, 1);
         return testResult1 && testResult2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-13.js
index c20e17a12211e46903b8a9b9bdd3295670b037f2..d21722a3e0c6458205bc4553ead2a718684e976b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-13.js
@@ -44,4 +44,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, 1);
         return testResult1 && testResult2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-14.js
index 1e7bf09d871c27cb057862c9a045e344ff9d2dc2..77d725f0deb10801e1ea30fdc1d4135f80ba4038 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-14.js
@@ -51,4 +51,4 @@ function testcase() {
             Array.prototype.reduceRight.call(obj3, callbackfn3, 3) === 3 &&
             !accessed1 && !accessed2 && !accessed3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-15.js
index 5ef95aef1fcd8c9ccc183a9c33e19300a148b5b0..b9ea07d7173e1468ebcc2ea5f2736d6c37fa064e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-15.js
@@ -44,4 +44,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, 1);
         return testResult1 && testResult2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-16.js
index 106c2b6f3740ba1e401c4850a16ec1dd32e7da23..bb38fcc8740933345e73c01ba9c941724a5b430b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-16.js
@@ -44,4 +44,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, 1);
         return testResult1 && testResult2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-17.js
index dff59eb00bf4de362858d13adfb178338d3338a0..1bb3537c5e16ea64a3fe794e745e6656dc4eba82 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-17.js
@@ -44,4 +44,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, 1);
         return testResult1 && testResult2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-18.js
index 09af6edb884fa2a850603c52cae1d400114b5bce..41fe04487b763b3319c363728deba31af8d1ea02 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-18.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 11) === 11 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-19.js
index 95e38d1edcdf51f90c800d0955f4dab56a2f38f2..6efaae1e2590628a6fe60a3fff2e3c26c1b4d5b8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-19.js
@@ -61,4 +61,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, 1);
         return testResult1 && testResult2 && toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-2.js
index bc28b021eee620279717c86c6457679be74d2606..44183918865dc4b9f5591f535fc9353bc5cd3a18 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-2.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-20.js
index 39548f2983c2c19beab3593ea96a4362eafd2a1e..b0330200a4fcc82f379737f09c40e0dd1fe19d71 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-20.js
@@ -56,4 +56,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, 1);
         return testResult1 && testResult2 && valueOfAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-21.js
index 3e72758e58175024edbd4edc929845b6f1042524..6d9d01b4fd22248a2ddf4730d2e258d3eb99e75a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-21.js
@@ -61,4 +61,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, 1);
         return testResult1 && testResult2 && valueOfAccessed && toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-22.js
index 464e9c236f3027328287c0501e54d255d25dda3b..eec3b5889c96aa3aad05793141343a5c90b8e8f3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-22.js
@@ -57,4 +57,4 @@ function testcase() {
             return (ex instanceof TypeError) && toStringAccessed && valueOfAccessed && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-23.js
index f15452a6dd56ff0c5a988a5fe31099b906c4aaa7..b284a3b6742eb064b0b8798fe90ea19225e86755 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-23.js
@@ -67,4 +67,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, 1);
         return testResult1 && testResult2 && valueOfAccessed && !toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-24.js
index fefd8aec7d7ff8caf10fd5d69e41cb65903d4099..6530852ef2c3c6911df8270ec6ad231b4a36ce4e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-24.js
@@ -44,4 +44,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, 1);
         return testResult1 && testResult2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-25.js
index 3afad1250012255e1f0282e7084986c6510b7aba..0859e5df173144cf8135cd0ae794a0af6ad6a807 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-25.js
@@ -49,4 +49,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, 1);
         return testResult1 && testResult2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-28.js
index e88296ac7323ce6972cbd1e0589ab2f0413967cd..d99d66102ddb90bb5effdb36f760f1951ecb2686 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-28.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-29.js
index f5aea5cbc52538ed0a53950d5b859e920e85abf2..f78f8e7325e9a7089fa8a660ccf27f6124cf6d13 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-29.js
@@ -48,4 +48,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, 1);
         return testResult1 && testResult2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-3.js
index b97b517246918f37b0b41c8985ff57e746bb3747..3924dd7d5093c087f472e8bfb223566a7d6e2e67 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-3.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-4.js
index 5b6eb085543f6e9cce18e890b03891002dd995d8..908fc8e5af195447dd7e5c39a15fecd75bf4e729 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-4.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-5.js
index 29854369c30ae398f874def9ff21c8bdfe3203c3..53336b5f302230bcb573f957fbc8189950adde77 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-5.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-6.js
index 837af0b5a2c07df90e0355b3c9a65cc693ddb473..4c1200162ec7c308738e38388caa45f63bc22159 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-6.js
@@ -44,4 +44,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, 1);
         return testResult1 && testResult2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-7.js
index b1bec23f8a749d54af22df94df983662af13db26..cc3377f5e340b2ece300d20e7217340fcbd589d1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-7.js
@@ -44,4 +44,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, 1);
         return testResult1 && testResult2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-8.js
index 5d775b64abb35aebdfde490907d52d567218bc3c..69d27d8cc332f9cae672d7c9529e52ecb810b849 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-8.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-9.js
index 8f2caa37ff100d3e003094df5515341d18789742..2206c140b7ec364e9ff1008c380740dc4c93a3c0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-9.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 1) === 1 && !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-1.js
index 157cfaadd0321b4692a9fecfc66e87b60bba57fe..7b8a421f193e5359d3a0fbebf6a4d17f2f3f65b8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-1.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-10.js
index c2a1bd0bc40cee4bce12d60c55e9be674c03eb87..07773d9f6aa6022437138dd1503904e167b123fa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-10.js
@@ -42,4 +42,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-11.js
index 858c3fb05f93c0b25cfdc50c2717abf78f042318..15bc1d1a679918420b89d7b20cd5864228a3e685 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-11.js
@@ -46,4 +46,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-12.js
index d4eb58a7ed88e0f733d7f3ed2023f7b2501361d7..324afac80e3d4f050dcdd416d431a3caa8e6390a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-12.js
@@ -34,4 +34,4 @@ function testcase() {
 
         return 20 === [11, 9].reduceRight(callbackfn, initialValue);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-15.js
index 15ba70297445d9742c2433c1149bd2f0deb8bc3b..40f9cc22e80aba956ab2f24d396829c1f1e1a3df 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-15.js
@@ -51,4 +51,4 @@ function testcase() {
             return (ex instanceof TypeError) && lengthAccessed && !loopAccessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-2.js
index 3929ea676be36a450b46948afbb65993febbddb8..1457a77bb7d592d17d5f0d88b34536227f9ca286 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-2.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-3.js
index ba91dcb63c8d7d76b3ba743104e3d9eb61b73a28..0da1b8e8705467bb5854d421068a5a5d9896a43d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-3.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-4.js
index b8db7a7142ba19207173574220d8b81ec076f6a1..fce5b46b14ccd2664f93ed3f85881f962e384588 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-4.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-5.js
index 44c38ca6f5e2da4997d1dea7366af62800edae8b..3b0ef101aa39bf46d5325b242bb275d8c58cc995 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-5.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-6.js
index 0bb54e0c8853c2c06bd1bf7f3054e81f0a855f26..105c4ec7bfab9835e3a2dfef0ba3301f5883864b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-6.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-7.js
index 912e336d3730a1ed6d405e6ca33f47d8812f64bb..14cf95ed10c8b53ef83afa254110879a1420e370 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-7.js
@@ -36,4 +36,4 @@ function testcase() {
   }
 
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-8.js
index 82ce475d6fa945b8858902d043588a94b720bf4e..d3cb23c5190bf178812d6890d6aabdf8ef591a7c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-8.js
@@ -45,4 +45,4 @@ function testcase() {
             return ex instanceof TypeError && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-9.js
index 69cdb0103bef3df45befeb755ee267dfb76b5f71..c567022e2a0b936b9830d01e21ad7295b26482cc 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-9.js
@@ -49,4 +49,4 @@ function testcase() {
             return ex instanceof TypeError && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-1.js
index 1fbe0089fa18777ecff7282bf42b47109f3f1d4e..0a427a7a1812c47e15dbfb0d2affe45541582f54 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-1.js
@@ -36,4 +36,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-10.js
index 4c8faf59ba6edfa7ad24d245868edd72e98362ef..c1e46787118638d5c11b2fbfc20e843d319a6b29 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-10.js
@@ -45,4 +45,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-11.js
index 67bae7b597864a078ede5e2294faa84fe730865e..0d921e82612fada8b49e53c243ccbc794466a13e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-11.js
@@ -49,4 +49,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-12.js
index 9d1a7d432c04110655df7b2da068453833782e83..8baeee69b773da149bfffab7f3c8f9a16e275957 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-12.js
@@ -42,4 +42,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-13.js
index 20ed6d93b4af15432985ca3868a1483b59bd4855..7905b8030164806993ee6578bc84a9da4ef1718b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-13.js
@@ -46,4 +46,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-2.js
index a6058d82462ba84d8b2a4c29df9a84aa33214e3f..867638192b0c26a9bd8ce6ed81528ce77d910b5e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-2.js
@@ -40,4 +40,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-3.js
index 9a471faf8fcc2c127363a29bf0fb6c0f6d0c4ee6..39ef7b29ca470c85c8f937f99ac025ccca8a68ab 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-3.js
@@ -40,4 +40,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-4.js
index 198813b7918556d2e4450cf793c3667cf1c8f7cf..148f6135d8e0116d2f8d93f8b15c5385434b1d97 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-4.js
@@ -40,4 +40,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-5.js
index e68d073486ed60fb0ec5c2f113805f0b00ab6784..392c8a7dadf4b317313a5097abe7fc04f552e140 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-5.js
@@ -40,4 +40,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-6.js
index 6b7782a36dba17d850e3d8edb906ff59c8e93873..5dbb8a6dfd30950a9c079890c61bfa863abd2599 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-6.js
@@ -42,4 +42,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-7.js
index 8d893502de59a25a27d9e33835f5529c638b8aa2..d37529db9578a310f74dc1a7cf9a8830798ee007 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-7.js
@@ -48,4 +48,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-8.js
index 99775d3da36376a87f50470aa738bf2689f84b61..4e0dadb936609fe97ab4808194ecc73990d1e237 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-8.js
@@ -55,4 +55,4 @@ function testcase() {
     }
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-9.js
index 421ee442b9e280a1a893064b3177d001c9ec2a8d..164b4f22a5383ce2baf438995ca27782dddcd03c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-9.js
@@ -29,4 +29,4 @@ function testcase() {
         var initialValue = 10;
         return initialValue === [].reduceRight(function () { }, initialValue);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-1.js
index 30fd349025b73f193a40effd539df5687f03c069..cf480e317951e0b46501b408edc9c4db829fa790 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-1.js
@@ -33,4 +33,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-10.js
index 2ad3f20cd586395092d74a028d86665ff7f3a86f..1d3fb1479d466c87c560cebfdbb19865a8cf6cd7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-10.js
@@ -29,4 +29,4 @@ function testcase() {
         var str = "initialValue is present";
         return str === [].reduceRight(function () { }, str);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-11.js
index 550c8b3cf9acf0daed9c367cdcc5db066b521da3..9182e5bbb8495bbc785f8929bec16d062e6951a3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-11.js
@@ -29,4 +29,4 @@ function testcase() {
         var str = "initialValue is not present";
         return str === [str].reduceRight(function () { });
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-2.js
index 2cd98887eaf84dc955e53adc944b31a7620e9f9f..cf671358d8527ca71084d83bfb93c15d4987cbf6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-2.js
@@ -37,4 +37,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-3.js
index 5ce8a1324361337f369421f8e83d490a6c1086c2..7b5e74ed8c1febfd1f9050ced97b516be6f3d9d4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-3.js
@@ -37,4 +37,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-4.js
index 0de4aa21976e6a5229060f3a552214bd96aebb9c..dd8fdca432595a245642267cc0118c1bf37489eb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-4.js
@@ -37,4 +37,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-5.js
index ec8a7a5ecac1a0ceb0064a8e8f7410c8c22b0893..16ed089d3021f47ee2147677f2a6d68311954ea0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-5.js
@@ -37,4 +37,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-6.js
index f0c32676815222421e2b56798ffc9eefbc7fc07c..7fbcb59fa842ba9fa13f893203fe69f53f52c9b3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-6.js
@@ -39,4 +39,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-7.js
index 8f4c9965fe00844251921bbda91158f5171c9350..b9d708de9b65c6bdd7f67527526b0272c981f824 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-7.js
@@ -45,4 +45,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-8.js
index 34f1bd50e5ede878128c22cbcf29a4d1bd77b509..7e0b97af91c7fdb0273d3922f44eb63ef199c05e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-8.js
@@ -52,4 +52,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-9.js
index f1ac065836e3dbef2dc4c176ac9ead02afd7c98c..4e02468e2c7b0a611daa6ef7ba99abb58bef7891 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-9.js
@@ -52,4 +52,4 @@ function testcase() {
   }
   catch (e) {  }  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-1.js
index 4dc7aa29556eb241ab2d3a0c1afd7a007e2bea75..d0741f260bec6af687b9e48c47953b8f9e25b4ad 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-1.js
@@ -45,4 +45,4 @@ function testcase() {
             return !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-2.js
index 5dbd1d71bc8937ce9acc780e52374c207e347568..f2bccf56fa49d8da34183ca127c6d7292710a7de 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-2.js
@@ -44,4 +44,4 @@ function testcase() {
 
         return preVal === 11 && called === 2;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-3.js
index 31f5335bdc76de503564e8b9c26279a61f7d677f..0cae1bb18820c4cfe53b96028877756ded936466 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-3.js
@@ -60,4 +60,4 @@ function testcase() {
 
         return testResult && firstCalled === 1 && secondCalled === 1;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-ii-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-ii-1.js
index f35a54ee1fbb2bebc4b08eac73f27a086cb61f23..c5a398214b0b3c8a3b15ef3596b2bf3578b47773 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-ii-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-ii-1.js
@@ -40,4 +40,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn) === "accumulator";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-ii-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-ii-2.js
index 2db80f6940e6270eccab95bd465a205434d55fcc..b5b19047a2fbd268f950d967b54196a1ff489ad0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-ii-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-ii-2.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return "accumulator" !== Array.prototype.reduceRight.call(obj, function () { });
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-1.js
index 912b9be1ce535cde60fb18f969580674bd42f875..857d515ac5968674e6d6c85f6a689b14ce9bcfcb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-1.js
@@ -38,4 +38,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-10.js
index 8e9edafadbccdd16f001de064232e28a4b1450be..e60c20683c815392e4604c59ee86160f232dff27 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-10.js
@@ -44,4 +44,4 @@ function testcase() {
         arr.reduceRight(callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-11.js
index 06a65533c03d32b545d315eee7b5fccb5519c9a4..64451d3a0b6b9856deec0bc6d091f5804e7d96d5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-11.js
@@ -51,4 +51,4 @@ function testcase() {
         Array.prototype.reduceRight.call(child, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-12.js
index 9974ba1791d74f6cf9fb569a5f1a2d865661fff2..9c23a6c7e5ed1d4a70794167561bb532190ccc60 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-12.js
@@ -51,4 +51,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-13.js
index d8c80a1a6e47981486ca7b559603656c6b9e2352..5c1e80e3f9888138096a6f00e3561a18e884a26c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-13.js
@@ -58,4 +58,4 @@ function testcase() {
         Array.prototype.reduceRight.call(child, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-14.js
index d379f222fa160e5cc1ce905a7551931602a28d74..cb7d8a52fae56a364e543973c727fc7ec37099a9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-14.js
@@ -57,4 +57,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-15.js
index a5de782638edda43450a3f44c840730ff15f9564..782a640f060bd9e3daf3fb8fe9ed947fd626cc49 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-15.js
@@ -51,4 +51,4 @@ function testcase() {
         Array.prototype.reduceRight.call(child, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-16.js
index fa9fddb89d74030ee6db11066453754019b6e911..9ac598f452e012e4055f447c84aced5de8591d8f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-16.js
@@ -50,4 +50,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-17.js
index e19150226e096847e0ed423435956c3a362b6cc5..3c949f85c5482910afa8c085a6c9bc6e3c5e583e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-17.js
@@ -43,4 +43,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-18.js
index e0940a33cb3be585f9deb82df39e80511f9e422e..323984d3be53d18ccfe8c4392ae78d6f99917488 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-18.js
@@ -44,4 +44,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-19.js
index a365eb2df115b846882bb0692ec9d13745d6e3f6..ec32eb6a6475640900f0af1cce4385aba2a02bcd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-19.js
@@ -49,4 +49,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-2.js
index 06ab8a3b617c8a396e139837202603752e5f0e5c..0ca9b4c387c37aee39bdd96a5475abebcc76fbfe 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-2.js
@@ -38,4 +38,4 @@ function testcase() {
         arr.reduceRight(callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-20.js
index 5fbb84cd36163a2913de2e2fc26ff1f9198281af..365c155bd0b4a40ceae1c58bd26fa6432edd26d4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-20.js
@@ -48,4 +48,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-21.js
index 8dcba857a77f4e1e8104601f2ff0daefa2c34243..8e5c376011c3680e320efd88e49914a9e75f7fcb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-21.js
@@ -50,4 +50,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-22.js
index fb4b081e40f9c1b7f6e4d9b09a2371570c7022ab..265cb5f459979a3fcb6967c66539b3c1ac8972ca 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-22.js
@@ -49,4 +49,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-23.js
index 26a880e6de437b8f5038f73123a5ad9ffc66b3c7..b02ce092525b96578cc9beab68789504ab5cdb38 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-23.js
@@ -50,4 +50,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-25.js
index 1c14728e1e19f318a3cb0dea5d9c48d10c3ca246..971c808f250662ae9c8461da270d1f35e3ea588b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-25.js
@@ -40,4 +40,4 @@ function testcase() {
         func(0, 1);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-26.js
index 7eec8cd74d8af5d693f145f6422616069be44cb7..4008daf97383a351217766bcdd2cd0058935a6a0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-26.js
@@ -40,4 +40,4 @@ function testcase() {
         func(0, 1, 2);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-27.js
index 33fc0057c8befe77d3121223b3e112d8fabbde8b..ce9585372460b9ba434ec536e2996c1931bddff0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-27.js
@@ -40,4 +40,4 @@ function testcase() {
         func(0, 1, 2, 3);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-28.js
index 83c5e3e7282d569d142215676d0ff52406b066d6..31dd6797c143c7369b64301c6c64d3300b6f1935 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-28.js
@@ -39,4 +39,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-29.js
index 23eb798e74f551d53d6757fd9139617e748422d6..81416d0ff058defcdbddc064abbd83cae195c278 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-29.js
@@ -45,4 +45,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-3.js
index 4e1f4547b819eccbb9efbbca285fefed88440dc6..58f6dc0a3978ebfe7c10624b4d3b705f2bae25ab 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-3.js
@@ -46,4 +46,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-30.js
index 0494357eb3c880ee269dc7864fd5a9de359ea0dd..9754f1a52c1ba60eff92ad389729a53e642f8c25 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-30.js
@@ -57,4 +57,4 @@ function testcase() {
         arr.reduceRight(callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-31.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-31.js
index efc2ba9d9ba52238cecd4d7c8ccb3b8e5c10f0df..21c2672dfffcca9afdd3d6c18d69dade60788b20 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-31.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-31.js
@@ -57,4 +57,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-32.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-32.js
index 4ed51aa34eff75de2a9534afdfe8d89d5df188dc..57c1df1132eef8c66975293887ba1bf7a5b03c42 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-32.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-32.js
@@ -48,4 +48,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-33.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-33.js
index 1cb2b852ade841e79fa14c2e757e41be22ee694d..e62e428b04a272eb4c61043c211a755fbd0dfc76 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-33.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-33.js
@@ -49,4 +49,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-4.js
index 0013022d95974d81f38ad4f6583a895a4d570200..b6c0eb632666306dd7edabbbb50576cc15478952 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-4.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-5.js
index 23c1e06c9949b3910a2193c2d753225d02ee7a52..955fe1cde622dd6c5c7ed7ab868cdeee8fe3a6fb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-5.js
@@ -57,4 +57,4 @@ function testcase() {
         Array.prototype.reduceRight.call(child, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-6.js
index 991f944c72348d2e571c39895272408e14b3cb16..75dbb63d6e313fcf5c1d0b72954cdd40e2c9c57a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-6.js
@@ -48,4 +48,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-7.js
index 35f8bacec5491ec564c894aa3b4b277d7e4b2777..fb7c427500e4fac8eb826f3745b8d9c8d38679fe 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-7.js
@@ -42,4 +42,4 @@ function testcase() {
         Array.prototype.reduceRight.call(child, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-8.js
index f0cb3e868d64a0c86f84fe092464f7b72aebea5d..76b719bea479e3cb79016710f5f5fbfebe61d196 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-8.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-9.js
index 81a1cc120a802dcba2572da2ff5d5aa2b6f271b4..1a7ae322aec67e4495a33216ef7efec9931e3586 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-9.js
@@ -45,4 +45,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-1.js
index 9addb5ded3a28345bc1e2b6985656abf5375c058..5fe024d09c9ecebca62e6b05400253173eadc70c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-1.js
@@ -39,4 +39,4 @@ function testcase() {
       return true;  
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-2.js
index ba10b5848906cff1edb436c37695dbfde8f852ce..b635586f3ce5df32eeee7c2f144aae68612fa424 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-2.js
@@ -41,4 +41,4 @@ function testcase() {
       return true;  
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-3.js
index 282ebbcb6cffec8953bf5bfe617f5f988d445a77..871a6b68705a54978753c131cd7fbe4010095543 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-3.js
@@ -44,4 +44,4 @@ function testcase() {
       return true;  
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-4.js
index 550a6860601ea85081de23091738c3ccbb335b83..e6c69c8b3cd318afcb7abbe51e23278fafc9f047 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-4.js
@@ -38,4 +38,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-5.js
index ad3d6d6f90d9c3fb1685441352f47083b12bb9dc..5b2b483514dbd44b65d4bd5a73f406f9499662ec 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-5.js
@@ -45,4 +45,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-6.js
index ba593dccdb33ec37a59fbe9498e3a80c5d852ead..51dfc318fb4e091255100103565fabe6d79b0bab 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-6.js
@@ -50,4 +50,4 @@ function testcase() {
             return (ex instanceof TypeError) && accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-7.js
index 2fc2b85f604f9d7f4a6d03ff44b3cfcb089b725f..c02dc1f64e29b6ea47b40b8c2947252aec7f4fba 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-7.js
@@ -42,4 +42,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-8.js
index ca2f9541d264e489f87ba57c96429629c1474512..08464636e8ce9d38584efe0673002503d8ef5e17 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-8.js
@@ -47,4 +47,4 @@ function testcase() {
             return !(ex instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-1.js
index 9f5e8bed9c78e0ae2c4f04e0b4c7751830b8bb11..0d677d7c94b892fb2e945fdfa189b8b73ba04d7b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-1.js
@@ -34,4 +34,4 @@ function testcase() {
         var arr = ['1', 2, , 4, '5'];
         return arr.reduceRight(callbackfn) === "54321";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-2.js
index f5cb976ea0a386cb67b205ff04811c1eda5bbec4..8500d9f31199dc0f7316fa4e8d78b901b00fd319 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-2.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-3.js
index f0b1cc3d1dc559daf673d955622da9b9527f2573..1e66cd6eca552b3eef564ddc37ffb2a7f5426aed 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-3.js
@@ -38,4 +38,4 @@ function testcase() {
     return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-4.js
index b80af5f2e50c5dde58119fdc0f6734d5cfa64114..82372727f5f3243b5ffa982025517ae96ef5b1e9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-4.js
@@ -37,4 +37,4 @@ function testcase() {
     return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-5.js
index 56bfe177219ec57f4272d1842d807724cb3cdbad..e03ea4427ad14c2110f3b3705f8f2214c4a77b66 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-5.js
@@ -37,4 +37,4 @@ function testcase() {
   if(arr.reduceRight(callbackfn) === 1 && callCnt === 0 )
     return true;    
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-6.js
index 6ee6c0617eace12e611f07b666c2889ba4212e4f..2e127485c671da6022ddc3fba45e6353256c37ea 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-6.js
@@ -41,4 +41,4 @@ function testcase() {
     return true;  
   
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-7.js
index 72666299a09e6782fef51a4ea1a4cca3f67bc4ef..747a889b8bdd49e6b39d36db5cf7de5f2e560a83 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-7.js
@@ -34,4 +34,4 @@ function testcase() {
         o.arr = ['1', 2, 3, 4, 5];
         return o.arr.reduceRight(callbackfn) === "141" && !o.hasOwnProperty("arr");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-8.js
index d4953c0890fa06acabaf12f45c7e46c04b24400e..7311eebc669c758090c77a09ac47eb99e73ce69d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-8.js
@@ -44,4 +44,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, function () { }, "initialValue");
         return !accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-9.js
index e475e5e13fac5f152b2f0ffc85f46083c1b1e896..2f7c6493b51c8b81fdc13afee40eae821ae44928 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-9.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return called === 3;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-1.js
index 3a2b5f26cf57b8db5a5d478c9e77f75d8c678355..29bd014bd7a6f9aa698f3a53da81623ffc3ff9e7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-1.js
@@ -35,4 +35,4 @@ function testcase() {
   if(arr.reduceRight(callbackfn,5) === 5)
     return true;  
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-10.js
index 1e8e61b5fc90aa1ac3a1efe15a2a07b094d61dbc..6655b7864d7369db582abfdaa5653a929d1258f7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-10.js
@@ -54,4 +54,4 @@ function testcase() {
             delete Object.prototype[3];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-11.js
index 344f2d92de69e063b70023fed5a36c8bf3a7eaed..9c06ea537c9d6ec66b317d40d5964bf1dda6c558 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-11.js
@@ -53,4 +53,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-12.js
index 23a8bffe7d79e45caa8330f5813a77b67a1bb473..d56ffe62fdafc85dbeb566f0bde7e661809d8a1e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-12.js
@@ -52,4 +52,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-13.js
index 887db5ea07a01b291cf3496b8c2b1c46a429b839..2b9c10d8ce51ca2a1e8dfa85956bfa0b1c201a87 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-13.js
@@ -51,4 +51,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-14.js
index 88163cf496806b163453b87aecb4b8850bd82acd..79efeeff12565127194b35504ec94960eb2c18f4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-14.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-15.js
index aaff58cdd976414e6959a06035acc9c6857e6295..dacfd6c9dfbae72da4631aa4d396bbec36d52313 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-15.js
@@ -58,4 +58,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-16.js
index 5e07729c6de6b6d59026d69764c39a55b9225233..7577853b33b69438ad7b2511098ce3c0f3331c7d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-16.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-17.js
index 3c64245b34cc2dff187dde70186aab2ad662c7a7..d616789d9b7b7adde8fa4bf440b4919e13816ac9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-17.js
@@ -52,4 +52,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, "initialValue");
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-18.js
index 07399d44f8a57338f391c48d6f0c34809b1d6392..8a7207e6728f581a4f493659448916a7c7fc28ff 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-18.js
@@ -52,4 +52,4 @@ function testcase() {
         arr.reduceRight(callbackfn, "initialValue");
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-19.js
index bd8afdfc06a468f6984c9f5e9a005719074c0b7c..d1ce193659af9444b34315655592744711d38807 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-19.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-2.js
index 6f2dec4994ae40bc0a2d7b0886271f219ca17a60..194ade295678812c6d2f25dc52c54819f380bbf2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-2.js
@@ -48,4 +48,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-20.js
index 1774cb3b292a154e36cf9805a5fd08a14d3ede3f..9b47da6f68f5d1c62a1dda393b2f1253b78bc79e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-20.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-21.js
index 93aec0346574bce3bbc797beca0c3c8ee81081a5..923903b89afd6a3d275c0e1f6a96567a7ac87852 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-21.js
@@ -56,4 +56,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, "initialValue");
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-22.js
index 3d0fc62d50455ebb0686c8487bfa59bd8271d246..ec36c0d311668bfbfbd535d65d58a0fdb9c9492a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-22.js
@@ -56,4 +56,4 @@ function testcase() {
         arr.reduceRight(callbackfn, "initialValue");
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-23.js
index 95732d99a289240266334669ba3dfc4d079014b0..b6980579f1c720e94e63b7e80162492cc2587e3b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-23.js
@@ -54,4 +54,4 @@ function testcase() {
             delete Object.prototype[3];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-24.js
index 69953bb53b95ebeb6b9c6126c968f19d0bb7c2b8..9ad87d92e5051f85ff962e3b6726e097bbe975aa 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-24.js
@@ -53,4 +53,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-25.js
index 6d01cc35c3a248592e4852223e78f61415cd5b4d..a9ff4778498ddbd52cbdb198a70247c9f08ffb90 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-25.js
@@ -52,4 +52,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-26.js
index 6462f55ce63ac674d2ed69dd75d48058b81ed359..a0b4017f0afb8b66642af04d145e14baa972a26c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-26.js
@@ -51,4 +51,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-27.js
index 29ab0ed9bc8c4225b7c48c96b952fbc51de4eba2..61e09adc8de796e2c7107cd41329a3fe719c0915 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-27.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-28.js
index 0579f5e60877dffecc55771e94023b3d1d1fe088..7874badbe712b2afaa6ea34b13d211ecdbec370e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-28.js
@@ -58,4 +58,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-29.js
index e3ced63ac3eb86ff506cd88051071e1baa3436cf..3b0ed370857ab3fb90aa63ace5e8855110fb5260 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-29.js
@@ -55,4 +55,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-3.js
index e9ad8f7646548e6fd55118a84c207917efa83c5d..17283a5a68742598a1fb04df44b4064643a0a8b9 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-3.js
@@ -50,4 +50,4 @@ function testcase() {
 
         return accessed && testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-4.js
index a6effedeac0b4411368989c12424b0bf16b28afb..04b848a2ae56e4c6664326d4f023bfec1c6eeab5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-4.js
@@ -52,4 +52,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-5.js
index 198d967f4a1aad2c6860ea5f11b635c0eedaab32..221a01e902a8be2c4613d09257c78a4f39dfb746 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-5.js
@@ -52,4 +52,4 @@ function testcase() {
         arr.reduceRight(callbackfn);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-6.js
index 3e0b611f361e9ffa6405d9fecf5e54c1160a4f9b..ec11c743f6099c19ac436934515cc3f76019f5b2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-6.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Object.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-7.js
index 7fd8a25185bce61bb633f8769739fd09300acf93..eb9fa3bd838931d9ddda6cc7f604a8f3f704343e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-7.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-8.js
index 4f9746b0d2d04d6d2ab35d7a4eeed3b4ca3845ac..d279477af02dbc20c4aa62085c1404b59960c879 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-8.js
@@ -56,4 +56,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn);
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-9.js
index 68cd6e3dcaa4af46f6dd3ffe19940157227941fb..50b1cbf9ed8646c50feb5f73e762379c4e235a5f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-9.js
@@ -56,4 +56,4 @@ function testcase() {
         arr.reduceRight(callbackfn);
         return testResult && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-1.js
index 8d5dcfee1964f9bdf4825187a24882d84c0b0766..2713fe39bd32aa23c5ff41b7e288e35e8ee24a4d 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-1.js
@@ -38,4 +38,4 @@ function testcase() {
   if( arr.reduceRight(callbackfn) === undefined && callCnt === 1)
     return true;    
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-1.js
index 45a2a8edebacd601f865cfd665a8ba08b02321ea..eab6b5020c1e9cc5c361b0107b6418fd42e658dd 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-1.js
@@ -37,4 +37,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, "initialValue");
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-10.js
index 3f237077adf9af3750737981886586bf9b987021..842ecee431de8ea0f85b9371e8f99ec96e71edf6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-10.js
@@ -45,4 +45,4 @@ function testcase() {
         arr.reduceRight(callbackfn, "initialValue");
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-11.js
index c5dc01b2c1c6c00b715151364e2e89d4f76b8b2f..0c431b4ccf06af77fe20525ee8179ebfdf2ee452 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-11.js
@@ -51,4 +51,4 @@ function testcase() {
         Array.prototype.reduceRight.call(child, callbackfn, "initialValue");
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-12.js
index 4f9045352223167f6a713ac84e8e27c284037db3..1a0e6ac299a2ea7d2a18de8674656a60850027a3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-12.js
@@ -51,4 +51,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-13.js
index aad7d3baf65d4ac683e09f823a1c8e682c00cc1c..cf9e806da67bd4ea43c4f42d3b8858128a98208e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-13.js
@@ -58,4 +58,4 @@ function testcase() {
         Array.prototype.reduceRight.call(child, callbackfn, "initialValue");
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-14.js
index 17df9286292b6ea83f692501896e00e80d2fc0c5..ce54c143c72ec286e90794a9e7140f0b29879183 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-14.js
@@ -56,4 +56,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-15.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-15.js
index 0c2e627857944bf56ae52dc3e3c4472925e72926..ba71c66bfedcb6046cbb9272dfd036dda910222b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-15.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-15.js
@@ -51,4 +51,4 @@ function testcase() {
         Array.prototype.reduceRight.call(child, callbackfn, "initialValue");
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-16.js
index 91b9e4aece3520ccb45a86992c466cf24ad34f67..05ea5d078f3f219e4121197b1180299dac8128bf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-16.js
@@ -50,4 +50,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-17.js
index 57eb5c039730b9b179c00eae13e2028ec743dfab..96d40237d2fdc7dbba5046ff3ddf14ac03f217d4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-17.js
@@ -43,4 +43,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, "initialValue");
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-18.js
index 560d4fb8609a452cf75c724f0a66fc943a3edaf8..7acd5b2c463ceeb6cb060b8dc08b27c974faf993 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-18.js
@@ -44,4 +44,4 @@ function testcase() {
         return testResult;
          
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-19.js
index 7e5a9cc50cf2ec49e57883438d96e665d77e8e80..2292491d9995f22e61dbf0ac9db889c6f9de38ba 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-19.js
@@ -49,4 +49,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-2.js
index 31cf46120e67f00c7200b88c1572cb9b33a03753..291a1ab0e7221845d11dcc31cbabc71d87d81446 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-2.js
@@ -37,4 +37,4 @@ function testcase() {
         arr.reduceRight(callbackfn, "initialValue");
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-20.js
index 081aa80ca21e64921b32183ad2fcaccf378d372f..9f3852fa0da708a977233cf86f835005fa6cafd2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-20.js
@@ -48,4 +48,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-21.js
index 9662f63d8cee0931e9eb2f0d6f6478e4f10514d0..cd882d3c2f6b16f337a36d90a9a3304964bdc391 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-21.js
@@ -51,4 +51,4 @@ function testcase() {
 
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-22.js
index b5cd9b31af74c654fc8dcc4866a1b615f3cdd16e..dde18c8ac737094c15f3ae037df05a540f65e591 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-22.js
@@ -49,4 +49,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-23.js
index cd081736d28e98c26b9b208bd36a5b24556eac13..f76d687260c5ba7bba173803656758b2d3ce750e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-23.js
@@ -50,4 +50,4 @@ function testcase() {
             fnGlobalObject().length = oldLen;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-25.js
index 0a98deeaf826ec9a4bead27cf88e57bcd5eaee82..54473e9cf9a242e5c7274955deaec0ae1dcef4a4 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-25.js
@@ -40,4 +40,4 @@ function testcase() {
         func(0, 1);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-26.js
index 17383cfb5f1c900c6439dbf20095bff779f2a49f..c1acb70941c68c568153beb6c58ead63b165147f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-26.js
@@ -40,4 +40,4 @@ function testcase() {
         func(0, 1, 2);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-27.js
index 1def6be8d7c91ae1c3fd525519eff0a4ae7f831d..be6dfeb51fb37dca88696cf1278349d6d4b8ce37 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-27.js
@@ -40,4 +40,4 @@ function testcase() {
         func(0, 1, 2, 3);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-28.js
index 049388664ffd1c91c6cbc2b85f5d447e4e0488af..649a43c8755a4835fcaa124d152d87e83e9137d2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-28.js
@@ -38,4 +38,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-29.js
index cae4a044ca68050b37ff00867c1a923addcffe69..9329a1bf36b8aeb70bf2555b13820aab98ec866f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-29.js
@@ -45,4 +45,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, initialValue);
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-3.js
index 20a29a0cfe9f20fe80426b35d8f0ace67595d617..3d739146585f9e2915a9249ad50426fb6c8d296f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-3.js
@@ -46,4 +46,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-30.js
index 6e95b05019d5c73e8411f048731bbdc555e18fd5..1bbb99690e5931fe524c91a055b55561b6e18ca0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-30.js
@@ -58,4 +58,4 @@ function testcase() {
         arr.reduceRight(callbackfn, "initialValue");
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-31.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-31.js
index 6d655a24dadb1ae66f75efd7b35e1840861b37ee..1d7bbd8ee1ba863b6f8682255de0a75cd0d11c12 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-31.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-31.js
@@ -59,4 +59,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-32.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-32.js
index f668d780af1adcea62f7c7833d8aab02f3b48a72..e0b63a7aba11708233bd39a39fdcc59b8690b85a 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-32.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-32.js
@@ -49,4 +49,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-33.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-33.js
index 242486f7f88952fbd04073515cbbbce4ff3e1a7f..17107166c06441470405e6e8b2d736d47d813c9f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-33.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-33.js
@@ -49,4 +49,4 @@ function testcase() {
             return (ex instanceof RangeError) && !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-4.js
index 5ff7fe375b88ec126ceba1fae7f66448e47dcf23..b2a6f30d54372ef92d12520326d5812c0c88f98b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-4.js
@@ -42,4 +42,4 @@ function testcase() {
             delete Array.prototype[1];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-5.js
index d015b850098b825c7458454f062b85befb4b715b..ef640b54b49c27d359e64487c8dc7c4fea1f8b18 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-5.js
@@ -56,4 +56,4 @@ function testcase() {
         Array.prototype.reduceRight.call(child, callbackfn, "initialValue");
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-6.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-6.js
index 797fdc3488c1b5fc24b71aa8560a2a8a0c758ea0..18d34a2bc0d088773a7dbdfcd259e8563404c350 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-6.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-6.js
@@ -48,4 +48,4 @@ function testcase() {
         }
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-7.js
index ba951afea93b1aa1ed3165fa237fb0210fe67af2..561b99a437b0ea4fc274ad8c153fb8649309d0bf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-7.js
@@ -43,4 +43,4 @@ function testcase() {
         Array.prototype.reduceRight.call(child, callbackfn, "initialValue");
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-8.js
index 4625146b56216d8889d427817c851c16f0dbcf1b..d2d393cee50690a862be9e7dc59cb9ff3e01df7e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-8.js
@@ -46,4 +46,4 @@ function testcase() {
             delete Array.prototype[2];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-9.js
index 417124a3569dc55d8bd6d244953a386c0538959c..d6902a3fb18840436306127da81869dc140f0b20 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-9.js
@@ -45,4 +45,4 @@ function testcase() {
         return testResult;
 
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-1.js
index af3bac6894602c932ed964e337a8e55069e9ab63..6aa161497c24615f7be736f9fa04a6fd31d79086 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-1.js
@@ -38,4 +38,4 @@ function testcase() {
   if( arr.reduceRight(callbackfn) === 0) 
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-10.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-10.js
index f9e6fde8d9a0c59a20ceb31884747d14f697819a..cb0391dac80bce961dd7018f85db555e0d30ab44 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-10.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-10.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11, 12].reduceRight(callbackfn, 100) === 100 && 2 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-11.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-11.js
index 60867cdb07c10eee0fa13c78662b5ab5a69468ba..9eeeee0b1fdaea46aca2d28939b4237ff37ad980 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-11.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-11.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return [11].reduceRight(callbackfn, 100) === true && testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-12.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-12.js
index 61053c0a0f525306918b168d01f6688b7bb94d29..b7db1e3cb1eabc47f8c673febef62e1f3de0ad3f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-12.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-12.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return arr.reduceRight(callbackfn, initVal) === true && testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-13.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-13.js
index f6ddff35a89a4a25c32231b67831c6ce94790672..86940638af87cfcf7493a2944de71a4d8bdbf305 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-13.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-13.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return arr.reduceRight(callbackfn, initVal) === true && testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-14.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-14.js
index b560aca361deb99fc06baeadc28497f9c745fff3..02210feae1639d10259f06f554ec488186b6d67c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-14.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-14.js
@@ -32,4 +32,4 @@ function testcase() {
 
         return [11].reduceRight(callbackfn, 100) === true;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-16.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-16.js
index f8194e0ac5c18c25261ca6933c262a47168982df..120a72ff2b0fc5899ce6fb9d2fe75e4774b1c590 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-16.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-16.js
@@ -38,4 +38,4 @@ function testcase() {
         Array.prototype.reduceRight.call(obj, callbackfn, "initialValue");
         return !testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-17.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-17.js
index 73c3ffa31da8dee97c3603f556537aff57e3f6ea..ba74ea0dad4acbf82f89bfd6c475da91b6682168 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-17.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-17.js
@@ -43,4 +43,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-18.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-18.js
index 5e2d960c920e6254e9ccc6a6cb9f7a424f9cf4c9..ca4b55c8e09f3bbea10d7afceada710b3da5be4b 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-18.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-18.js
@@ -41,4 +41,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-19.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-19.js
index 0e87ea971d0a94c33a1c0c57edc81b681da42b33..a6b90eb52febb33707245beff39d375aae9ea3e6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-19.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-19.js
@@ -39,4 +39,4 @@ function testcase() {
 
         return testResult;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-2.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-2.js
index 38f947dfb553e26709fd2da8efd7dcd06ca6d2e3..5daabf4f7a8fee11a5aad97947cbaa59ca57d3ce 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-2.js
@@ -39,4 +39,4 @@ function testcase() {
         }
         return arr.reduceRight(callbackfn, initialValue) === 0;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-20.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-20.js
index 9bf968f67284026315bfa2b82f516e79e57dbd78..fac0743a92a42a903420ad4425829735b3367a75 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-20.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-20.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, undefined) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-21.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-21.js
index 0dc885b1956796d95adbffae46131e2f7aecb564..52ce013abb331db41db554e980eefd94be7707e2 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-21.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-21.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, null) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-22.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-22.js
index 69ade051152af19e6fcfd704cadff4cf9a41f78f..1da4c11964784b90cb81734e3891a42579ecbeeb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-22.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-22.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, false) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-23.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-23.js
index 894e9d4f7addee1a78d9045ceebe69d429e505b9..bf9f86cd15de94523f7a9b5373816ba1a2849dbe 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-23.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-23.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 12) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-24.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-24.js
index e197563b969cf5f08a034012f15f6646f8689bac..d7f60e710bc7e802a22d7279aedc05c256e78549 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-24.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-24.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, "hello_") === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-25.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-25.js
index a4f132d57b4288236dba6bf4ab3445ef0b0a4a12..9206426ab4d5331d44a5bc4588bb975cc4162837 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-25.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-25.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, objFunction) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-26.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-26.js
index cf7f04d227926edc4e4a670fe6d6932aba2405da..71b633a2bccf4cfd9c78c7e3f0d5c67159d97f63 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-26.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-26.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, objArray) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-27.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-27.js
index 81b66a155f2293195e4412e9ef65a99faf6c3017..443a85437f3b1da9f5c516a388fda657cef91d6c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-27.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-27.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, objString) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-28.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-28.js
index 251e4e99bd17725797435e255e6babe8a40c5885..f7daeb0d27a72bd8ab2ffe642a902b89c0953a2f 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-28.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-28.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, objBoolean) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-29.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-29.js
index 00295be284cface28544e0092beef5a361260900..34739fa9e356095015e6effcb63f9316ffcc25d3 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-29.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-29.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, objNumber) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-3.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-3.js
index 0cae9aa05595735008f40b8de845aa43a6f26bc9..837fb6987c1742bf0d0f63d0035a991c688f27eb 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-3.js
@@ -39,4 +39,4 @@ function testcase() {
   if(arr.reduceRight(callbackfn,true) === true && bCalled === true)
     return true;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-30.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-30.js
index a8ef3f5756df92be3ccb32bc17e7727cb8b1c4e0..3d5f73db68fc1baa1a08706a53d2aaedaa0d0981 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-30.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-30.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, Math) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-31.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-31.js
index 5b427d9f3c061b680128e955f9cd6a59af33f443..ce3891c2de6adef9c374499fb4e406ad686b3e15 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-31.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-31.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, objDate) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-32.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-32.js
index 8b47a760c8928e1b5d687c72d99bb15020d7f70f..18c946e9229add44fa0868e491351c4abdbcedd7 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-32.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-32.js
@@ -37,4 +37,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, objRegExp) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-33.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-33.js
index 236facbc51af9f0a86ef3a76692b40c6f347d7ff..86fc236032ee996c8893cf1bf5a7129d3f71a172 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-33.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-33.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, JSON) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-34.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-34.js
index d91627e6da95b5ac90bc4ed08a54e5bf20418417..c8d395d42ff3f036232a43ca68be4140e9e885d6 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-34.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-34.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, objError) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-35.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-35.js
index a53002ebb0216040919d9a08285fe9ae90683346..0ce6751312d4de5b8f5245169a834885eb993af5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-35.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-35.js
@@ -42,4 +42,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, arg) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-37.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-37.js
index 5d1558e5d9599a92aec63c2304e231b5d4e4dcec..0d9a609f15491cbcb78b96eb1fcb002649cdbd6e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-37.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-37.js
@@ -36,4 +36,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, fnGlobalObject()) === true && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4-s.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4-s.js
index 7a08d5c94ff50ef1921ce2e562073e84ee369a8c..97c478f14b06e30a495c9ea9d753e9695cbc674e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4-s.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4-s.js
@@ -36,4 +36,4 @@ function testcase() {
   [0].reduceRight(callbackfn,true);
   return innerThisCorrect;    
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4.js
index ed418ef9abcc314c1894a3df195bfbc2547a0344..5241df860b8983c4e69dfbeca245b68b52002ecf 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4.js
@@ -42,4 +42,4 @@ function testcase() {
         arr.reduceRight(callbackfn, 1);
         return result && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-5.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-5.js
index 2cfa2640c1a55d704ca870ef8c4d8c566e62ea76..26612331c5a0ac6eaaa97a21d976b736b4074ee1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-5.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-5.js
@@ -48,4 +48,4 @@ function testcase() {
         arr.reduceRight(callbackfn, 1);
         return result && called === 4;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-7.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-7.js
index 0f4b726d83faebdc11bd8c9eb974aedd7b52e47c..a23fcc404f48ca38c6993a06f36e51133c3f6825 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-7.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-7.js
@@ -46,4 +46,4 @@ function testcase() {
             return !accessed;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-8.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-8.js
index fa9e45e69670867ca51df9b3ca1ed837184860fb..e39835ee1865af4aed161039f066d8857f66acd8 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-8.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-8.js
@@ -38,4 +38,4 @@ function testcase() {
 
         return Array.prototype.reduceRight.call(obj, callbackfn, 1) === false && accessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-9.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-9.js
index ad4d9c073131a7cda65b54b53979285beb5f2174..187533acb09f36c87faf5cb8e309eb194e3f62ca 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-9.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-9.js
@@ -35,4 +35,4 @@ function testcase() {
 
         return [11, 12].reduceRight(callbackfn, 11) === true && 2 === called;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-b-iii-3-b-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-b-iii-3-b-1.js
index 359e55a82af377ae53c301483e0243e6c6e1e527..53ddb9d58c12003ec0235499721ace78a18d2fd0 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-b-iii-3-b-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-b-iii-3-b-1.js
@@ -59,4 +59,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-c-i-1.js b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-c-i-1.js
index 0102de4f3a401259d01eb70530e268f1d053c56b..05080ce745f673d40ef88769c29261722382bbff 100644
--- a/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-c-i-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-c-i-1.js
@@ -63,4 +63,4 @@ function testcase() {
             delete Array.prototype[0];
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.5/15.4.5-1.js b/test/suite/converted/chapter15/15.4/15.4.5/15.4.5-1.js
index ee883ce844631c1fdd2e61613b18c1d0bb5e65dd..4ee3399636163dd50b7c5c88498425436b92104c 100644
--- a/test/suite/converted/chapter15/15.4/15.4.5/15.4.5-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.5/15.4.5-1.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-1.js b/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-1.js
index 9d23da965c56f8a6dd4edc66e593d4572ee324ef..77b82f7a38753897a6f6d13bc49e069258461625 100644
--- a/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-1.js
@@ -31,4 +31,4 @@ function testcase() {
 	if (e instanceof RangeError) return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-2.js b/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-2.js
index 869dbd9ed48f6872b023a56fc38c923153b9c2be..4bfa6ff3e3384b2aa51c54ab6ea17d5446313507 100644
--- a/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-2.js
@@ -31,4 +31,4 @@ function testcase() {
 	if (e instanceof RangeError) return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-3.js b/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-3.js
index edc490aa47c4c30474b96526b04dca3e90cb3915..c287aed5af3226c703f4b1e39785ab726df1b48e 100644
--- a/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-3.js
+++ b/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-3.js
@@ -29,4 +29,4 @@ function testcase() {
   a.length = 4294967295 ;
   return a.length===4294967295 ;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-5-1.js b/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-5-1.js
index 2a52dfd268a77f3eaf2308c74191935bbbca96ee..1ff09ad4bd9957ec4e12cfa264396f7cc71d6ff1 100644
--- a/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-5-1.js
+++ b/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-5-1.js
@@ -29,4 +29,4 @@ function testcase() {
   a[4294967295] = "not an array element" ;
   return a[4294967295] === "not an array element";
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-5-2.js b/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-5-2.js
index 4560a9179466af604dd2718cb0f23ce960c50552..84513ac8b1fb7359e57baf3467cee8ae5100a2e5 100644
--- a/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-5-2.js
+++ b/test/suite/converted/chapter15/15.4/15.4.5/15.4.5.1/15.4.5.1-5-2.js
@@ -29,4 +29,4 @@ function testcase() {
   a[4294967295] = "not an array element" ;
   return a.length===3;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-0-1.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-0-1.js
index d8caaa23bfd323ab01c9c10d41450f5181496c89..0e6ef45923d1363b7b853dfcc1c7767c0b869654 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-0-1.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-1.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-1.js
index bc32ee424c7ffdfb50a22120b8d97efc7efe2505..5a8da509eead84cb0b37b0a4294509b667fa9475 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-1.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-1.js
@@ -35,4 +35,4 @@ function testcase() {
     return e instanceof TypeError;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-2.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-2.js
index f0b390c1ffb2a860c63310ddd1ffa728ef911ecc..13bd02b6798aa3a6584b364733185d764ce4ec39 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-2.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-2.js
@@ -35,4 +35,4 @@ function testcase() {
     return e instanceof TypeError;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-3.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-3.js
index 9cc262b3b1f4bd5997b5983fe980a1cd5ac14aa3..20d44b49c1779ae6a4c4c13d596d6f2a342e15c0 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-3.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-3.js
@@ -34,4 +34,4 @@ function testcase() {
   {
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-4.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-4.js
index 0514dcbf2dff47f0adecf284af0b89bbbaf85e28..fbb84a964ec29c9ed051c0db2c90c5081e8550ac 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-4.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-4.js
@@ -34,4 +34,4 @@ function testcase() {
   {
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-5.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-5.js
index 77f2ea80699f242d02c906af01a83c8912202ac4..6c73d0aa67101884e9bb545f563a143ce3153afc 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-5.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-5.js
@@ -34,4 +34,4 @@ function testcase() {
   {
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-6.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-6.js
index fda450602537e1cde0f2e10dda7390d015c2f78f..10a5fd6c4c7937d6be0271c79ff249bbd0ff18c6 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-6.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-6.js
@@ -34,4 +34,4 @@ function testcase() {
   {
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-7.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-7.js
index 96acc470646f9da3d23d2bbd62af7ae064faaa3c..1205373b8261f39696ce4cd09325ece1fa47351c 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-7.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-7.js
@@ -34,4 +34,4 @@ function testcase() {
   {
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-8.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-8.js
index 34ca624f704c089e2be3faccdbd5983242258dcf..391d7af4adae9004736eb84fa074150728bc5c18 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-8.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-8.js
@@ -28,4 +28,4 @@ function testcase() {
         var strObj = String("    abc");
         return "abc" === strObj.trim() && strObj.toString() === "    abc";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-9.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-9.js
index 749441132d734d3281d4c2061824d28d920eb77c..fad7cf0025ebebeda854e005ab2ab839d4f5da22 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-9.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-9.js
@@ -28,4 +28,4 @@ function testcase() {
         var strObj = new String(undefined);
         return strObj.trim() === "undefined";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-38.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-38.js
index 7ddca470d8fae5be597dbc3a35538ac9bc96f329..63d0f4e6e3a903396a5609f24e387cfff91c2f25 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-38.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-38.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return (String.prototype.trim.call(obj) === "abc");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-39.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-39.js
index da4ade2b1f6bc6da6d744924b475d60e5f1bbbce..61a31e05f9952d8c1d1c0f8c091de432b97fccf2 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-39.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-39.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return (String.prototype.trim.call(obj) === "[object Object]");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-40.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-40.js
index 4fa60a2b8781e23bc48c344029498049cdfd9224..ddd2721e7d65d191766b9de76499421134bc4d88 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-40.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-40.js
@@ -39,4 +39,4 @@ function testcase() {
         };
         return (String.prototype.trim.call(obj) === "abc") && valueOfAccessed && toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-41.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-41.js
index d412581869efc06890407db952258267a3ad038d..9b1a54edcea5bb7cc57823d16b12a8f59e99a874 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-41.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-41.js
@@ -39,4 +39,4 @@ function testcase() {
         };
         return (String.prototype.trim.call(obj) === "abc") && !valueOfAccessed && toStringAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-42.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-42.js
index 6b14871fdfec528fb54878ddf337dd23bf55ca6e..d07560254cec5463f8e242a2b2a4b7e8d305516f 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-42.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-42.js
@@ -44,4 +44,4 @@ function testcase() {
             return valueOfAccessed && toStringAccessed && (e instanceof TypeError);
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-43.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-43.js
index 1075a17511123e5e2589d1f7cced28613176668d..6a92b040617c0753c7eb7539ca416df18b0b7fce 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-43.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-43.js
@@ -46,4 +46,4 @@ function testcase() {
         };
         return (String.prototype.trim.call(child) === "abc") && toStringAccessed && !valueOfAccessed;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-44.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-44.js
index 0e521ab7c7bec626a83ec17b59927aa06f044507..fe2ba62318e454e3ad0ec3786fd4d3c25f7d384e 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-44.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-44.js
@@ -28,4 +28,4 @@ function testcase() {
         var str = "SD咕噜";
         return str.trim() === str;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-45.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-45.js
index ac8e31cbd248fe98f1ede96e816dce694fe01496..3efae10554d7f948bde1f1adab0c439ddec39a9e 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-45.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-45.js
@@ -29,4 +29,4 @@ function testcase() {
         var str1 = "    " + str + "    ";
         return str1.trim() === str;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-46.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-46.js
index c1c14a49a4376e1728562efe7b7f47ff0c6529fc..1bff2339c023d85b0d4e64a4d0253b357541814f 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-46.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-46.js
@@ -28,4 +28,4 @@ function testcase() {
         var funObj = function () { return arguments; };
         return typeof(String.prototype.trim.call(funObj)) === "string";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-49.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-49.js
index 5ac971ff1bf0840cfdb6a42231210491aa5966e5..a3acba32fad6972f5f2d7cca9d4f37d6c262a4a9 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-49.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-49.js
@@ -28,4 +28,4 @@ function testcase() {
         var regObj = new RegExp(/test/);
         return String.prototype.trim.call(regObj) === "/test/";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-50.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-50.js
index 625468b382e7c4a67f1f5a9d5752e19c332ac568..fc325f21c12faca6b6205d751fca01cdfc3c943e 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-50.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-50.js
@@ -28,4 +28,4 @@ function testcase() {
         var errObj = new Error("test");
         return String.prototype.trim.call(errObj) === "Error: test";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-51.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-51.js
index 9fcb552327483d75d4acc0ad0c823fa09ccdf680..d2b2c000f9aea085d624e3230637dd832ef84300 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-51.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-51.js
@@ -28,4 +28,4 @@ function testcase() {
         var argObj = function () { return arguments; } (1, 2, true);
         return String.prototype.trim.call(argObj) === "[object Arguments]";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-1.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-1.js
index 2e33f47e33e0c0b86e696a72fafc2d82f7db6786..f0ab8eaee5be878c49a82c2ddf8d607936505c1d 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-1.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-1.js
@@ -29,4 +29,4 @@ function testcase() {
         var lineTerminatorsStr = "\u000A\u000D\u2028\u2029";
         return (lineTerminatorsStr.trim() === "");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-2.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-2.js
index 33ed4f391e91a336c226145ab515aa2c7211ad92..3cd72b2abcbe159e183c4f79b5b399d4b3fe0ede 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-2.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-2.js
@@ -29,4 +29,4 @@ function testcase() {
         var whiteSpacesStr = "\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF";
         return (whiteSpacesStr.trim() === "");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-3.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-3.js
index ced0ab989bd96d758552a5d1d65d797cef713237..1cadaa47c9dc7cdd2f00e6dfb95c89846f4ca6e9 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-3.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-3.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return (str.trim() === "");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-4.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-4.js
index e899efe5d76b43e24488a9685aebd72277ab0f09..67d5ef20957adbe1e97cc98fd0f98327a709631d 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-4.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-4.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return (str.trim() === "abc");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-5.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-5.js
index 6e2bf142d7cf3da3982a3db960d1d5ab5cf08dd0..a2ea6d5afa4a97d6d6d9e509621d73be1ef06a75 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-5.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-5.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return (str.trim() === "abc");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-6.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-6.js
index 302b55a4d96a9629b74d779a82ac2f5973bf37af..848fe5ec9fc99bb7507b8ea7ea202b43f1617bf5 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-6.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-6.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return (str.trim() === "abc");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-7.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-7.js
index 0f07c81cbc92a26355c99b0c978f0577b8341f64..268a9f2e884648314fb14410d52d31d6a8ee5184 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-7.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-7.js
@@ -31,4 +31,4 @@ function testcase() {
 
         return (str.trim() === str);
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-1.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-1.js
index 30b6b0aeaf5985c5543781c629fd41ce6e7b28c6..b6107592a9796f86d25ba627ea10016108561500 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-1.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-1.js
@@ -33,4 +33,4 @@ c \u0009"
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-59.js b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-59.js
index f97aab23bce3be407cb06c29cdab1375dda6546b..246670cffa1f95ebf9b3748694608a352741356d 100644
--- a/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-59.js
+++ b/test/suite/converted/chapter15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-59.js
@@ -31,4 +31,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-1-1.js b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-1-1.js
index e9c56dbe7ea12d3cc21fdb9aa58f7eaa2605e03e..2f0075184df548b494ac870840b6fc5b7a2bb62e 100644
--- a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-1-1.js
+++ b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-1-1.js
@@ -35,4 +35,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-1-2.js b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-1-2.js
index de76c93077da388333625634faa06211028c4290..a9015634da5b53c036ba0dd70b09f80aa986a72c 100644
--- a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-1-2.js
+++ b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-1-2.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-1.js b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-1.js
index 0b54711989752adad5ae8351e6db711f0d8e2e54..441cbe3c4401897d443b7e1b067fd255df863a40 100644
--- a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-1.js
+++ b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-1.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-2.js b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-2.js
index 9b537fed30f576dd85fa5655cc8bf6cb9ff23d50..83dc73ecad8b34c96525a3941d9e35231696a292 100644
--- a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-2.js
+++ b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-2.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-3.js b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-3.js
index d789560a7f8aa4005ec66543bc74340c14486a61..7a8e4a8d7ddae9b3bca62646a9ffe397fa388ff8 100644
--- a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-3.js
+++ b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-3.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-4.js b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-4.js
index e9688bfe5a8866ca3ca8585b1d0e4dbf44734545..96733af867ba35dfd4a72735ceaccc1ed4f30abb 100644
--- a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-4.js
+++ b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-4.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-5.js b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-5.js
index ec51ce435e86a642464cb01908f7d8cbb149c3ff..ced73d2956239daa27c13e9cad5ea1cd350eacc2 100644
--- a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-5.js
+++ b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-5.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-6.js b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-6.js
index 49779cbaeabdeb03e61b61fdd6ed8aed75fe2154..d69c277f4aa2a80787405d6c501a412907f20442 100644
--- a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-6.js
+++ b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-6.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-7.js b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-7.js
index 1cc7bd16486e2518d0b10ba1ec31c8564b70c15b..e04ce0701d390a010a28153df6735d96d0cab337 100644
--- a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-7.js
+++ b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-7.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-8.js b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-8.js
index 45783bf0bededb79ea45c1c5843c61fc1428b82c..aec37cd6705e08597d7f41a461682e05bc04083e 100644
--- a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-8.js
+++ b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-8.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-1.js b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-1.js
index 018aa44fd65ce2257df1d59436e8e34ae75c75f3..26ef47244d40c4d6a3ad04fd19d8f6fb6af0813f 100644
--- a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-1.js
+++ b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-1.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-2.js b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-2.js
index 3325b12842f2b758bdafb456562f1a1c81112191..0e10be9d851619c4df3492f4801b2674eb1a07df 100644
--- a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-2.js
+++ b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-2.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-3.js b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-3.js
index 4e51bd483d5e3eac4d49439f215edcc046960e19..99c324741a7c45f6692339d3a46feed8ae05fb2a 100644
--- a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-3.js
+++ b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-3.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-4.js b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-4.js
index 95a2921009d0b57feb6eb46495e201ee194e6b65..8ee51c1c1e015be83ba89224917d9b0a7ccff8fa 100644
--- a/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-4.js
+++ b/test/suite/converted/chapter15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-4.js
@@ -34,4 +34,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.7/15.7.3/15.7.3-2.js b/test/suite/converted/chapter15/15.7/15.7.3/15.7.3-2.js
index baa58cd5a918b56bfab5cd511ac650908a6e3e83..ae65b2e4706c90e8688a1d6e3f28a6d25b0ccfc5 100644
--- a/test/suite/converted/chapter15/15.7/15.7.3/15.7.3-2.js
+++ b/test/suite/converted/chapter15/15.7/15.7.3/15.7.3-2.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.7/15.7.3/15.7.3.1/15.7.3.1-1.js b/test/suite/converted/chapter15/15.7/15.7.3/15.7.3.1/15.7.3.1-1.js
index 323728eafb9906800b19293997f777aa81480037..cb18e5cac6184c5545b3cfabde9379b4a1e78c7c 100644
--- a/test/suite/converted/chapter15/15.7/15.7.3/15.7.3.1/15.7.3.1-1.js
+++ b/test/suite/converted/chapter15/15.7/15.7.3/15.7.3.1/15.7.3.1-1.js
@@ -33,4 +33,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.7/15.7.3/15.7.3.1/15.7.3.1-2.js b/test/suite/converted/chapter15/15.7/15.7.3/15.7.3.1/15.7.3.1-2.js
index 6c480262d717e6fd64401768ffa15542759dfdc4..78378bd934ddccf6c1e0209e1f86e5147918f4e8 100644
--- a/test/suite/converted/chapter15/15.7/15.7.3/15.7.3.1/15.7.3.1-2.js
+++ b/test/suite/converted/chapter15/15.7/15.7.3/15.7.3.1/15.7.3.1-2.js
@@ -28,4 +28,4 @@ function testcase() {
   // assume that Number.prototype has not been modified.
   return Object.getPrototypeOf(new Number(42))===Number.prototype;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.7/15.7.4/15.7.4-1.js b/test/suite/converted/chapter15/15.7/15.7.4/15.7.4-1.js
index bed2efee6466455802aa65b3e1f8937d785bc94e..96553717512465c9e29b8b525cf034b1d01f94fe 100644
--- a/test/suite/converted/chapter15/15.7/15.7.4/15.7.4-1.js
+++ b/test/suite/converted/chapter15/15.7/15.7.4/15.7.4-1.js
@@ -29,4 +29,4 @@ function testcase() {
   var s = Object.prototype.toString.call(numProto );
   return (s === '[object Number]') ;
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.1/15.9.1.15/15.9.1.15-1.js b/test/suite/converted/chapter15/15.9/15.9.1/15.9.1.15/15.9.1.15-1.js
index 4a39fa7a6bc841700fe41a3b0292158c41992479..388a024778b8261fe4ca29438378df12a5b7be3f 100644
--- a/test/suite/converted/chapter15/15.9/15.9.1/15.9.1.15/15.9.1.15-1.js
+++ b/test/suite/converted/chapter15/15.9/15.9.1/15.9.1.15/15.9.1.15-1.js
@@ -32,4 +32,4 @@ function testcase() {
         result = dateStr === expectedDateTimeStr;
         return result;
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.4/15.9.4.4/15.9.4.4-0-3.js b/test/suite/converted/chapter15/15.9/15.9.4/15.9.4.4/15.9.4.4-0-3.js
index 28fe6308f2eedd25751ac5a5ac21c914fe45f98b..375a04c243ec9630c8f3e94e3781064a1e9f7da9 100644
--- a/test/suite/converted/chapter15/15.9/15.9.4/15.9.4.4/15.9.4.4-0-3.js
+++ b/test/suite/converted/chapter15/15.9/15.9.4/15.9.4.4/15.9.4.4-0-3.js
@@ -29,4 +29,4 @@ function testcase() {
         var fun = Date.now;
         return (typeof (fun) === "function");
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-10.js b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-10.js
index b3a32db44e83c0366ac95f5039df30870c315520..80932aceb3921c2329bfcecfe30b2437cd7a51f1 100644
--- a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-10.js
+++ b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-10.js
@@ -45,4 +45,4 @@ function testcase() {
             return dateStr[dateStr.length - 1] === "Z";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-11.js b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-11.js
index 939de3abce9dfed6e5c22ca4fb97368dd13f8675..436536dcf08163d1e3e9181fbd2a5beb15c8382a 100644
--- a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-11.js
+++ b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-11.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return dateStr[dateStr.length - 1] === "Z";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-12.js b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-12.js
index c1fdd7b03e4b2e8f80a48ddb545d51e88bd9222c..aa9c2f4f2c71b76f0fa84971e4e58e7ae0f1c8ba 100644
--- a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-12.js
+++ b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-12.js
@@ -33,4 +33,4 @@ function testcase() {
 
         return dateStr[dateStr.length - 1] === "Z";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-13.js b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-13.js
index 917acc903036cb7426b30f3d97c2632b59384704..02f55e21834ed416272034d771231ce9cee2582c 100644
--- a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-13.js
+++ b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-13.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof RangeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-14.js b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-14.js
index c2121d5efcbccaa654a2949f26bff3d4f5b885e0..30c866aa43abc9a745583a906135c76026ce0363 100644
--- a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-14.js
+++ b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-14.js
@@ -33,4 +33,4 @@ function testcase() {
             return ex instanceof RangeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-15.js b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-15.js
index 798631d67c21a9400645e5aa571261f451a4749e..f78326cbba92f3c05d4d68146c46c73732634a16 100644
--- a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-15.js
+++ b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-15.js
@@ -33,4 +33,4 @@ function testcase() {
             return ex instanceof RangeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-16.js b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-16.js
index 1ef8989e7620d65cd738ff0c0a0049aed45bf355..b92f754623429f8d46b3169ad44487d9ee137d84 100644
--- a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-16.js
+++ b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-16.js
@@ -34,4 +34,4 @@ function testcase() {
             return ex instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-4.js b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-4.js
index a73333e9dbe07d1d67686a88a101159d1c4b4f96..f27b87600aeeb5060fb4dc1541357b20b94c074e 100644
--- a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-4.js
+++ b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-4.js
@@ -30,4 +30,4 @@ function testcase() {
 
         return localDate.toISOString() === "1999-10-10T10:10:10.010Z";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-5.js b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-5.js
index 09c8e3d59001e310d84ad1dd09c0f07fa92627fd..9d49b0cd929d699dd7e68cd19567f924959c3576 100644
--- a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-5.js
+++ b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-5.js
@@ -28,4 +28,4 @@ function testcase() {
         var dateStr = (new Date()).toISOString();
         return dateStr[dateStr.length - 1] === "Z";
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-6.js b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-6.js
index 43051fd3c1fba1c7b72416ad837cc07d1adbe6cc..377342476c97ee0730fce8e606aaff92cba1d857 100644
--- a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-6.js
+++ b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-6.js
@@ -33,4 +33,4 @@ function testcase() {
             return ex instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-7.js b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-7.js
index 7bdbab8caf634be09597ec92b01219946be54c5c..b74ec2d2d8685b968a547c3984eaa483c39acd7a 100644
--- a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-7.js
+++ b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-7.js
@@ -33,4 +33,4 @@ function testcase() {
             return ex instanceof TypeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-8.js b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-8.js
index 14ad645bf747b5d7decdd8ee3c49c8afb93fed9e..54af9ee184107c21ef61bbefad2a013ee0e08596 100644
--- a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-8.js
+++ b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-8.js
@@ -41,4 +41,4 @@ function testcase() {
             return e instanceof RangeError;
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-9.js b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-9.js
index 1505e074251b92a10c0c8eb665225e861f559b03..f62ce5196f7a25a004c5d2a394f7d69fd027a867 100644
--- a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-9.js
+++ b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.43/15.9.5.43-0-9.js
@@ -45,4 +45,4 @@ function testcase() {
             return dateStr[dateStr.length - 1] === "Z";
         }
     }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.44/15.9.5.44-0-1.js b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.44/15.9.5.44-0-1.js
index 54acbe3238097a4545c4eb6578d52cb1bf3bede5..99f45a55548b3ac5bb2ea211d9e90d142e1c5c3e 100644
--- a/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.44/15.9.5.44-0-1.js
+++ b/test/suite/converted/chapter15/15.9/15.9.5/15.9.5.44/15.9.5.44-0-1.js
@@ -30,4 +30,4 @@ function testcase() {
     return true;
   }
  }
-assertTrue(testcase.call(this));
+runTestCase(testcase);
diff --git a/tools/converter/convert.js b/tools/converter/convert.js
index 8ebb03de5ea7c700dabe7c2b982a2dbdf390c015..6c99aac4a7ef76290d93c71c04545964ede5addf 100644
--- a/tools/converter/convert.js
+++ b/tools/converter/convert.js
@@ -6,13 +6,35 @@
    "use strict";
 
    var t262 = global.t262;
+
    var platform = t262.platform;
-   var regExp = platform.regExp;
    var toRelPathStr = platform.toRelPathStr;
    var toPathStr    = platform.toPathStr;
    var toRelPath    = platform.toRelPath;
    var toPath       = platform.toPath;
 
+   var utils = t262.utils;
+   var forEach = utils.forEach;
+   var map     = utils.map;
+   var filter  = utils.filter;
+   var keys    = utils.keys;
+   var trim    = utils.trim;
+   var regExp  = utils.regExp;
+
+   var CONTRIB_DIRS = [
+     ['test', 'suite', 'other'],
+     ['test', 'suite', 'sputnik', 'Conformance'],
+     ['test', 'suite', 'ietestcenter']
+   ];
+
+   var CONVERTED_DIR = ['test', 'suite', 'converted'];
+
+   var OUT_DIR = ['website', 'resources', 'scripts', 'testcases2'];
+
+   var CONVERT_PATH = platform.CONVERTER_DIR.concat('convert.js');
+
+/////////////////////////////////////////////////////////////////
+
    var headerPattern = /(?:(?:\/\/.*)?\s*\n)*/;
    var captureCommentPattern = /\/\*\*?((?:\s|\S)*?)\*\/\s*\n/;
    var anyPattern = /(?:\s|\S)*/;
@@ -48,12 +70,14 @@
             /return\s+true;?/, blanksPattern,
             /\}$/);
 
+/////////////////////////////////////////////////////////////////
+
    /**
     * Strip the left margin "*"s that are found in the body of a
     * multiline doc-comment like this one.
     */
    function stripStars(text) {
-     return text.replace(/\s*\n\s*\*\s?/g, '\n').trim();
+     return trim(text.replace(/\s*\n\s*\*\s?/g, '\n'));
    }
 
    /**
@@ -77,12 +101,12 @@
        // Can't happen?
        throw new Error('unrecognized: ' + name);
      }
-     envelope.header = envelopeMatch[1].trim();
+     envelope.header = trim(envelopeMatch[1]);
 
      if (envelopeMatch[2]) {
        var propTexts = envelopeMatch[2].split(/\s*\n\s*\*\s*@/);
        envelope.comment = stripStars(propTexts.shift()), // notice side effect
-       propTexts.forEach(function(propText) {
+       forEach(propTexts, function(propText) {
          var propName = propText.match(/^\w+/)[0];
          var propVal = propText.substring(propName.length);
          // strip optional initial colon or final semicolon.
@@ -100,8 +124,8 @@
 
      var registerMatch = registerPattern.exec(envelope.rest);
      if (registerMatch) {
-       envelope.rest = registerMatch[1].trim();
-       envelope.registerExpr = registerMatch[2].trim();
+       envelope.rest = trim(registerMatch[1]);
+       envelope.registerExpr = trim(registerMatch[2]);
      } else if (envelope.rest.indexOf('ES5Harness.registerTest') >= 0) {
        print(' \n--header---\n|' + envelope.header +
              '|\n--rest-----\n|' + envelope.rest +
@@ -122,9 +146,10 @@
     * <p>Programs do not conveniently return any value, even their
     * completion value, so Programs in canonical test262 style instead
     * indicate success simply by completing normally, i.e., without
-    * throwing anything. The convertion assumes a one argument
-    * <code>assertTrue</code> function which throws an indication of
-    * test failure iff given a falsy argument.
+    * throwing anything. The conversion assumes a one argument
+    * <code>runTestCase</code> function which calls it function
+    * argument and throws an indication of test failure iff that
+    * function returns a falsy argument.
     *
     * <p>Unless it specifies otherwise, the Program source may be
     * executed strict and/or non-strict, and it may be exeuted within
@@ -137,25 +162,25 @@
      if (!cfnbMatch) {
        throw new Error('Could not recognize: "' + funcSrc + '"');
      }
-     var name = cfnbMatch[1].trim();
-     var body = cfnbMatch[2].trim();
+     var name = trim(cfnbMatch[1]);
+     var body = trim(cfnbMatch[2]);
 
      // Look for special cases
 
      var cebMatch = captureExprBodyPattern.exec(body);
      if (cebMatch) {
-       return 'assertTrue(' + cebMatch[1].trim() + ');';
+       return 'assertTrue(' + trim(cebMatch[1]) + ');';
      }
 
      var cpMatch = capturePredicatePattern.exec(body);
      if (cpMatch) {
-       return 'assertTrue(' + cpMatch[1].trim() + ');';
+       return 'assertTrue(' + trim(cpMatch[1]) + ');';
      }
 
      // General case
 
      return funcSrc + '\n' +
-       'assertTrue(' + name + '.call(this));';
+       'runTestCase(' + name + ');';
    }
 
    /**
@@ -164,7 +189,7 @@
     */
    function gatherOne(envelope, name) {
      if (envelope.testRecord) {
-       var propNames = Object.keys(envelope.testRecord);
+       var propNames = keys(envelope.testRecord);
        if (propNames.length >= 1) {
          // This need not be an error. It's just here so we notice the
          // first time it happens. This would happen if an
@@ -254,7 +279,7 @@
      var nextRelPath = relPath.concat([name]);
      var nextPath = inBase.concat(nextRelPath);
 
-     var src = platform.read(nextPath);
+     var src = platform.getText(nextPath);
      var testRecord;
      if (!src) {
        throw new Error('no src: ' + toPathStr(nextPath));
@@ -313,8 +338,8 @@
        result += ' * ' + testRecord.comment.replace(/\n/g, '\n * ') + '\n *\n';
      }
      delete testRecord.comment;
-     KNOWN_PROPS.forEach(addProp);
-     Object.keys(testRecord).forEach(addProp);
+     forEach(KNOWN_PROPS, addProp);
+     forEach(keys(testRecord), addProp);
      result += ' */\n\n' + test;
      return result;
    }
@@ -334,18 +359,6 @@
    }
    t262.convertTest = convertTest;
 
-   var SRC_DIRS = [
-     ['test', 'suite', 'other'],
-     ['test', 'suite', 'ietestcenter'],
-     ['test', 'suite', 'sputnik', 'Conformance']
-   ];
-
-   var CONV_DIR = ['test', 'suite', 'converted'];
-
-   var OUT_DIR = ['website', 'resources', 'scripts', 'testcases2'];
-
-   var ME_PATH = platform.CONVERTER_PATH.concat('convert.js');
-
    var writeSpawnFailures = [];
 
    /**
@@ -357,7 +370,7 @@
      var inPath = inBase.concat(relPath);
      var outPath = outBase.concat(relPath);
      platform.mkdir(outPath);
-     platform.ls(inPath).forEach(function(name) {
+     forEach(platform.ls(inPath), function(name) {
        var nextRelPath = relPath.concat([name]);
        if (platform.isDirectory(inBase.concat(nextRelPath))) {
          convertAll(inBase, outBase, nextRelPath);
@@ -365,8 +378,8 @@
          var outFilePath = outPath.concat([name]);
          try {
            platform.writeSpawn(
-             [ME_PATH],
-             'print(t262.convertTest("' + toPathStr(inBase) +
+             [CONVERT_PATH],
+             't262.show(t262.convertTest("' + toPathStr(inBase) +
                '", "' + toRelPathStr(nextRelPath) + '"));',
              void 0,
              outFilePath);
@@ -388,12 +401,12 @@
    function convert(opt_relPathStr) {
      var relPath = opt_relPathStr ? toRelPath(opt_relPathStr) : [];
      writeSpawnFailures = [];
-     SRC_DIRS.forEach(function(srcDir) {
-       convertAll(srcDir, CONV_DIR, relPath);
+     forEach(CONTRIB_DIRS, function(srcDir) {
+       convertAll(srcDir, CONVERTED_DIR, relPath);
      });
      if (writeSpawnFailures.length >= 1) {
        print('********* failures **********');
-       writeSpawnFailures.forEach(function(failure) {
+       forEach(writeSpawnFailures, function(failure) {
          print(failure.error + ': ' + toRelPathStr(failure.relPath));
        });
        throw writeSpawnFailures[0].error;
@@ -411,17 +424,17 @@
      var path = toPath(pathStr);
      if (!platform.isDirectory(path)) { throw new Error('not dir: ' + path); }
 
-     var jsFiles = platform.ls(path).filter(function(name) {
+     var jsFiles = filter(platform.ls(path), function(name) {
        return /\.js$/.test(name);
      });
-     var testRecords = jsFiles.map(function(name) {
+     var testRecords = map(jsFiles, function(name) {
        var testRecord = parseTestRecord(path, name);
 
        delete testRecord.header;
        delete testRecord.comment;
        return testRecord;
      });
-     testRecords = testRecords.filter(function(testRecord) {
+     testRecords = filter(testRecords, function(testRecord) {
        return testRecord !== null;
      });
      return {
@@ -441,7 +454,7 @@
    function buildAll(inBase, outBase, relPath) {
      var inPath = inBase.concat(relPath);
      var hasJS = false;
-     platform.ls(inPath).forEach(function(name) {
+     forEach(platform.ls(inPath), function(name) {
        var nextRelPath = relPath.concat([name]);
        if (platform.isDirectory(inBase.concat(nextRelPath))) {
          buildAll(inBase, outBase, nextRelPath);
@@ -454,9 +467,8 @@
        var outFilePath = outBase.concat([name]);
        try {
          platform.writeSpawn(
-           [ME_PATH],
-           'print(t262.asJSONTxt(t262.buildSection("' +
-             toPathStr(inPath) + '")));',
+           [CONVERT_PATH],
+           't262.showJSON(t262.buildSection("' + toPathStr(inPath) + '"));',
            void 0,
            outFilePath);
        } catch (err) {
@@ -479,10 +491,10 @@
     */
    function buildWebSite(opt_relPathStr) {
      var relPath = opt_relPathStr ? toRelPath(opt_relPathStr) : [];
-     SRC_DIRS.forEach(function(srcDir) {
+     forEach(CONTRIB_DIRS, function(srcDir) {
        buildAll(srcDir, OUT_DIR, relPath);
      });
-//     buildAll(CONV_DIR, OUT_DIR, relPath);
+//     buildAll(CONVERTED_DIR, OUT_DIR, relPath);
    }
    t262.buildWebSite = buildWebSite;
 
diff --git a/tools/converter/utils.js b/tools/converter/utils.js
new file mode 100644
index 0000000000000000000000000000000000000000..ba96748ec68b90eb7efd0c5b9ec1313840d2b1bf
--- /dev/null
+++ b/tools/converter/utils.js
@@ -0,0 +1,118 @@
+// Copyright 2011 by Google, Inc.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+
+/**
+ * General conveniences, including some functionality available in ES5
+ * but not ES3.
+ *
+ * <p>This file must be able to run in many browsers, and so should
+ * assume the platform may be anything from ES3+Reality forward,
+ * including somewhat non-conformant implementations. It must also be
+ * able to run in a non-browser environment, such as from the command
+ * line.
+ *
+ * <p>The conveniences that are analogs of similar ES5 features are
+ * not full emulations, but only emulations of the portion of their
+ * semantics we need.
+ */
+(function(global) {
+   "use strict";
+
+   global.t262 = global.t262 || {};
+
+   var utils = global.t262.utils = global.t262.utils || {};
+
+   ////////////////////////////////////////////////////////
+
+   /**
+    * Like ES5 call.bind([].forEach)(list, func), but supporting fewer
+    * optional arguments.
+    */
+   function forEach(list, func) {
+     for (var i = 0, len = list.length; i < len; i++) {
+       func(list[i], i);
+     }
+   }
+   utils.forEach = forEach;
+
+   /**
+    * Like ES5 call.bind([].map)(list, func), but supporting fewer
+    * optional arguments.
+    */
+   function map(list, func) {
+     var result = [];
+     for (var i = 0, len = list.length; i < len; i++) {
+       result.push(func(list[i], i));
+     }
+     return result;
+   }
+   utils.map = map;
+
+   /**
+    * Like ES5 call.bind([].filter)(list, pred), but supporting fewer
+    * optional arguments.
+    */
+   function filter(list, pred) {
+     var result = [];
+     for (var i = 0, len = list.length; i < len; i++) {
+       if (pred(list[i], i)) { result.push(list[i]); }
+     }
+     return result;
+   }
+   utils.filter = filter;
+
+   /**
+    * Like ES5 Object.keys(obj).
+    */
+   function keys(obj) {
+     var result = [];
+     var hop = {}.hasOwnProperty;
+     for (var k in obj) {
+       if (hop.call(obj, k)) { result.push(k); }
+     }
+     return result;
+   }
+   utils.keys = keys;
+
+   /**
+    * Like ES5 call.bind(''.trim)(string).
+    */
+   function trim(str) {
+     return str.replace(/^\s*/, '').replace(/\s*$/, '');
+   }
+   utils.trim = trim;
+
+   /**
+    * Appends a bunch of RegExps together into a single RegExp,
+    * solving both the RegExp-one-liner problem and the doubled
+    * backslash problem when composing literal strings.
+    *
+    * <p>The arguments can be any mixture of RegExps and strings. By
+    * expressing the portions that should be well formed regexps as
+    * regexps, we catch well-formedness errors within such a portion
+    * separately. The strings are added as is without escaping --
+    * BEWARE. By not escaping the strings, we can use them to
+    * represent the individually unbalanced fragments, like capturing
+    * parens, around other regexps. If arguments[0] is a RegExp, we
+    * use its flags on the resuting RegExp.
+    *
+    * <p>Not platform dependent, so does not really belong in this
+    * file.
+    */
+   function regExp(var_args) {
+     var args = [].slice.call(arguments, 0);
+     var reSrc = map(args, function(arg) {
+       return (typeof arg === 'string') ? arg : arg.source;
+     }).join('');
+     var flags = '';
+     if (typeof args[0] === 'object') {
+       var parts = (''+args[0]).split('/');
+       flags = parts[parts.length -1];
+     }
+     return new RegExp(reSrc, flags);
+   }
+   utils.regExp = regExp;
+
+
+ })(this);
\ No newline at end of file
diff --git a/tools/converter/v8PosixPlatform.js b/tools/converter/v8PosixPlatform.js
index a98d412dea83021a0227039db7815e041fcd5912..f2d9b6451096a605ab25e1da89224e6eed2ed992 100644
--- a/tools/converter/v8PosixPlatform.js
+++ b/tools/converter/v8PosixPlatform.js
@@ -7,7 +7,9 @@
  * engine peculiarities.
  *
  * <p>The implementation here is specific to the v8 shell running on a
- * Posix platform.
+ * Posix platform. Therefore, it may legitimately use ES5 features,
+ * although it generally avoids them for consistency with the rest of
+ * test262.
  */
 (function (global) {
    "use strict";
@@ -31,38 +33,11 @@
 
    var platform = global.t262.platform = {};
 
-   /**
-    * Appends a bunch of RegExps together into a single RegExp,
-    * solving both the RegExp-one-liner problem and the doubled
-    * backslash problem when composing literal strings.
-    *
-    * <p>The arguments can be any mixture of RegExps and strings. By
-    * expressing the portions that should be well formed regexps as
-    * regexps, we catch well-formedness errors within such a portion
-    * separately. The strings are added as is without escaping --
-    * BEWARE. By not escaping the strings, we can use them to
-    * represent the individually unbalanced fragments, like capturing
-    * parens, around other regexps. If arguments[0] is a RegExp, we
-    * use its flags on the resuting RegExp.
-    *
-    * <p>Not platform dependent, so does not really belong in this
-    * file.
-    */
-   function regExp(var_args) {
-     var args = [].slice.call(arguments, 0);
-     var reSrc = args.map(function(arg) {
-       return (typeof arg === 'string') ? arg : arg.source;
-     }).join('');
-     var flags = '';
-     if (typeof args[0] === 'object') {
-       var parts = (''+args[0]).split('/');
-       flags = parts[parts.length -1];
-     }
-     return new RegExp(reSrc, flags);
-   }
-   platform.regExp = regExp;
-
-   ////////////////// Needed for building and running //////////////
+   var utils = global.t262.utils;
+   var forEach = utils.forEach;
+   var map     = utils.map;
+   var keys    = utils.keys;
+   var trim    = utils.trim;
 
    try {
      read('tools/converter/v8PosixPlatform.js');
@@ -70,23 +45,31 @@
      throw new Error('Must run in a test262 source root');
    }
 
-   var ABS_ROOT = os.system('pwd', ['-P']).trim().split('/');
+   var ABS_ROOT = trim(os.system('pwd', ['-P'])).split('/');
 
    var TEST262_ROOT = ABSOLUTE_PATHSTR ? ABS_ROOT : [];
 
    var TEST262_ROOT_STR = TEST262_ROOT.join('/');
 
-   var CONVERTER_PATH = ['tools', 'converter'];
-   platform.CONVERTER_PATH = CONVERTER_PATH;
+   var HARNESS_DIR = ['test', 'harness'];
+   platform.HARNESS_DIR = HARNESS_DIR;
+
+   var CONVERTER_DIR = ['tools', 'converter'];
+   platform.CONVERTER_DIR = CONVERTER_DIR;
+
+   var PLATFORM_PATHS = [
+     CONVERTER_DIR.concat('utils.js'),
+     CONVERTER_DIR.concat('v8PosixPlatform.js')
+   ];
 
-   var ME_PATH = CONVERTER_PATH.concat('v8PosixPlatform.js');
+   ////////////////// Needed for building and running test //////////////
 
    /**
     *
     */
    function validatePath(path) {
      var pathStr = path.join('/');
-     path.forEach(function(segment) {
+     forEach(path, function(segment) {
        if (segment === '') {
          throw new Error('A path cannot have empty segments: ' + pathStr);
        }
@@ -129,31 +112,34 @@
    /**
     * Returns the text found at path, with newlines normalized and
     * any initial BOM (Unicode Byte Order Mark) removed.
-    *
-    * Note: Don't simply revise this (without renamings) to follow the
-    * general pattern of also defining a local 'read' function, as it
-    * will mask the v8 shell's read function, which we use.
     */
-   platform.read = function(path) {
-     var text = read(toPathStr(path)).
-       replace(/\r\n/g, '\n').
-       replace(/\r/g, '\n');
+   function getText(path) {
+     var text = read(toPathStr(path));
+     text = text.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
      if (text.charCodeAt(0) === 0xfeff) { return text.substring(1); }
      return text;
-   };
+   }
+   platform.getText = getText;
 
    /**
     * How one JavaScript script possibly spawns another and possibly
     * redirects its printed form to a chosen file (or resource).
     *
     * <p>For example, if !DRY_RUN, then<pre>
-    *   writeSpawn([], 'print(+arguments[0] + +arguments[1]);', ['3', '5'])
+    *   platform.writeSpawn([],
+    *                       't262.show(+arguments[0] + +arguments[1]);',
+    *                       ['3', '5'])
     * </pre>
-    * should return the string "8" if writeSpawn decides to spawn.
+    * should emit string "8" to stdout.
+    *
+    * <p>To spawn a platform distinct from the present one -- for
+    * example, as outer v8-based driver can drive a rhino-based child
+    * -- create a distinct object representing that other platform and
+    * invoke its writeSpawn method.
     *
     * @param scriptPaths An array of path arrays of JavaScript source
-    * files to be loaded into the spawned JS engine (in addition to
-    * the spawning platform file) if we are indeed spawning.
+    * files to be loaded into the spawned JS engine, after
+    * PLATFORM_PATHS, if we are indeed spawning.
     * @param opt_src A Program to be evaluated in an environment in
     * which "arguments" is bound to the list of strings provided by
     * opt_args. If spawned, the result is whatever the program writes
@@ -187,14 +173,14 @@
        return ''+(1,eval)(str).apply(void 0, opt_args || []);
      }
 
-     var cmd = 'v8 ' + toPathStr(ME_PATH) + ' ';
-     cmd += scriptPaths.map(toPathStr).join(' ');
+     var allScriptPaths = PLATFORM_PATHS.concat(scriptPaths);
+     var cmd = 'v8 ' + map(allScriptPaths, toPathStr).join(' ');
 
      if (opt_src) {
        cmd += ' -e ' + JSON.stringify(opt_src);
      }
      if (opt_args) {
-       cmd += ' -- ' + opt_args.map(JSON.stringify).join(' ');
+       cmd += ' -- ' + map(opt_args, JSON.stringify).join(' ');
      }
      if (opt_targetPath) {
        cmd += ' > ' + toPathStr(opt_targetPath);
@@ -207,8 +193,7 @@
        if (opt_targetPath) {
          // The error we catch is almost certainly less interesting
          // than the one unfortunately written to the target file.
-         var message = 'failed: ' + cmd + '\n' +
-           platform.read(opt_targetPath);
+         var message = 'failed: ' + cmd + '\n' + getText(opt_targetPath);
          os.system('rm', [toPathStr(opt_targetPath)]);
          throw new Error(message);
        }
@@ -218,24 +203,23 @@
    platform.writeSpawn = writeSpawn;
 
 
-   ////////////////// Only needed for building /////////////////////
+   ////////////////// Only needed for building tests /////////////////////
 
    /**
     * Calls a non-strict indirect eval function on exprSrc.
     *
-    * On platforms (like SES) where this can be a safely confining
+    * <p>On platforms (like SES) where this can be a safely confining
     * evaluation, it should be. The implementation here is not safe.
     */
    function evalExprIn(exprSrc, env, opt_forceNonStrict) {
-     var varNames = Object.getOwnPropertyNames(env);
+     var varNames = keys(env);
      var str = '(function(' + varNames.join(',') + ') {';
      if (opt_forceNonStrict !== 'forceNonStrict') {
        str += '"use strict";';
      }
      str += ' return (' + exprSrc + '); })';
-     return (1,eval)(str).apply(void 0, varNames.map(function(varName) {
-       return env[varName];
-     }));
+     var vals = map(varNames, function(varName) { return env[varName]; });
+     return (1,eval)(str).apply(void 0, vals);
    }
    platform.evalExprIn = evalExprIn;
 
@@ -270,11 +254,6 @@
     * Does path name a directory?
     */
    function isDirectory(path) {
-//     var fileOut = os.system('file', [toPathStr(path)]);
-//     var fileMatch = fileOut.match(/:\s*([^:]*)\s*$/);
-//     if (!fileMatch) { return null; }
-//     var fileType = fileMatch[1].trim();
-//     return fileType === 'directory';
      try {
        os.system('test', ['-d', toPathStr(path)]);
        return true;
@@ -293,7 +272,7 @@
      if (!isDirectory(path)) { return []; }
      var lines;
      try {
-       lines = os.system('ls', [pathStr]).trim();
+       lines = trim(os.system('ls', [pathStr]));
      } catch (err) {
        throw err;
      }
@@ -303,18 +282,8 @@
    platform.ls = ls;
 
    /**
-    * Emits the jsonRecord serialized as JSON, either compactly or
-    * readably according to VERBOSE.
+    * If the directory does not yet exist, create it.
     */
-   function asJSONTxt(jsonRecord) {
-     if (VERBOSE) {
-       return JSON.stringify(jsonRecord, void 0, ' ');
-     } else {
-       return JSON.stringify(jsonRecord);
-     }
-   }
-   global.t262.asJSONTxt = platform.asJSONTxt = asJSONTxt;
-
    function mkdir(path) {
      var pathStr = toPathStr(path);
      if (DRY_RUN) {
@@ -330,7 +299,28 @@
    }
    platform.mkdir = mkdir;
 
-   ////////////////// Only needed for running //////////////////////
+   /**
+    * Emits the text itself followed by a newline.
+    *
+    * <p>On the v8 shell, this is identical to "print".
+    */
+   var show = global.t262.show = print;
+
+   /**
+    * Emits the jsonRecord serialized as JSON, either compactly or
+    * readably according to VERBOSE.
+    */
+   function showJSON(jsonRecord) {
+     if (VERBOSE) {
+       print(JSON.stringify(jsonRecord, void 0, ' '));
+     } else {
+       print(JSON.stringify(jsonRecord));
+     }
+   }
+   global.t262.showJSON = platform.showJSON = showJSON;
+
+
+   ////////////////// Only needed for running tests //////////////////////
 
 
  })(this);