diff --git a/test/language/function-code/10.4.3-1-101-s.js b/test/language/function-code/10.4.3-1-101-s.js
index 129163c94344e89943b9aca67adbb76372175d50..442a00d351441d9c0df3fd4ed1feeaa759c07767 100644
--- a/test/language/function-code/10.4.3-1-101-s.js
+++ b/test/language/function-code/10.4.3-1-101-s.js
@@ -7,12 +7,9 @@ description: >
     Strict Mode - checking 'this' (non-strict function passed as arg
     to String.prototype.replace from strict context)
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 var x = 3;
 
 function f() {
@@ -20,6 +17,5 @@ function f() {
     return "a";
 }
 
-return (function() {"use strict"; return "ab".replace("b", f)==="aa";}()) && (x===fnGlobalObject());
-}
-runTestCase(testcase);
+assert.sameValue(function() {"use strict"; return "ab".replace("b", f);}(), "aa");
+assert.sameValue(x, fnGlobalObject(), 'x');
diff --git a/test/language/function-code/10.4.3-1-102-s.js b/test/language/function-code/10.4.3-1-102-s.js
index 53d6c781a5ba4e2a925a82a4d25a508b4f995951..a1dbfaea3436d8e2315951d950afd170a5b633e0 100644
--- a/test/language/function-code/10.4.3-1-102-s.js
+++ b/test/language/function-code/10.4.3-1-102-s.js
@@ -6,18 +6,15 @@ es5id: 10.4.3-1-102-s
 description: >
     Strict Mode - checking 'this' (strict anonymous function passed as
     arg to String.prototype.replace)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
 var x = 3;
 
-return ("ab".replace("b", (function () { 
+assert.sameValue("ab".replace("b", (function () {
                                 "use strict";
                                 return function () {
                                     x = this;
                                     return "a";
                                 }
-                           })())==="aa") && (x===undefined);
-}
-runTestCase(testcase);
+                           })()), "aa");
+assert.sameValue(x, undefined, 'x');
diff --git a/test/language/function-code/10.4.3-1-103.js b/test/language/function-code/10.4.3-1-103.js
index 655ec7f18ad1ce444c96dd9c09c5e34ed15470a7..608b144cb99831d0405faa3135eb0cc439511043 100644
--- a/test/language/function-code/10.4.3-1-103.js
+++ b/test/language/function-code/10.4.3-1-103.js
@@ -6,14 +6,9 @@ es5id: 10.4.3-1-103
 description: >
     Non strict mode should ToObject thisArg if not an object.
     Abstract equality operator should succeed.
-includes: [runTestCase.js]
 ---*/
 
-function testcase(){
   Object.defineProperty(Object.prototype, "x", { get: function () { return this; } }); 
-  if((5).x == 0) return false;
-  if(!((5).x == 5)) return false;
-  return true;
-}
 
-runTestCase(testcase);
+assert.sameValue((5).x == 0, false, '(5).x == 0');
+assert((5).x == 5, '(5).x == 5');
diff --git a/test/language/function-code/10.4.3-1-104.js b/test/language/function-code/10.4.3-1-104.js
index 70851570a9c54c0322c5b0913b781c31b4047d00..5275e225c74781fba8b977e4a690560e6c4f9dda 100644
--- a/test/language/function-code/10.4.3-1-104.js
+++ b/test/language/function-code/10.4.3-1-104.js
@@ -7,13 +7,8 @@ description: >
     Strict mode should not ToObject thisArg if not an object.  Strict
     equality operator should succeed.
 flags: [onlyStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase(){
   Object.defineProperty(Object.prototype, "x", { get: function () { return this; } }); 
-  if(!((5).x === 5)) return false;
-  return true;
-}
 
-runTestCase(testcase);
+assert((5).x === 5, '(5).x === 5');
diff --git a/test/language/function-code/10.4.3-1-105.js b/test/language/function-code/10.4.3-1-105.js
index 7613ecf67473d6d23d34e32ef51acb5515ffe8a7..28b3674ab87955ca260c7f6c85a78e60c1032549 100644
--- a/test/language/function-code/10.4.3-1-105.js
+++ b/test/language/function-code/10.4.3-1-105.js
@@ -10,14 +10,9 @@ description: >
     Non strict mode should ToObject thisArg if not an object.  Return
     type should be object and strict equality should fail.
 flags: [noStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase(){
   Object.defineProperty(Object.prototype, "x", { get: function () { return this; } }); 
-  if((5).x === 5) return false;
-  if(!(typeof (5).x === "object")) return false;
-  return true;
-}
 
-runTestCase(testcase);
+assert.sameValue((5).x === 5, false, '(5).x === 5');
+assert.sameValue(typeof (5).x, "object", 'typeof (5).x');
diff --git a/test/language/function-code/10.4.3-1-106.js b/test/language/function-code/10.4.3-1-106.js
index 4e2456fdebd5ebbef9a4aba4416f5dbdcbef5e17..481f05259e697abfe189ab3a009e76295515c6ca 100644
--- a/test/language/function-code/10.4.3-1-106.js
+++ b/test/language/function-code/10.4.3-1-106.js
@@ -10,13 +10,8 @@ description: >
     Strict mode should not ToObject thisArg if not an object.  Return
     type should be 'number'.
 flags: [onlyStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase(){
   Object.defineProperty(Object.prototype, "x", { get: function () { return this; } }); 
-  if(!(typeof (5).x === "number")) return false;
-  return true;
-}
 
-runTestCase(testcase);
+assert.sameValue(typeof (5).x, "number", 'typeof (5).x');
diff --git a/test/language/function-code/10.4.3-1-11-s.js b/test/language/function-code/10.4.3-1-11-s.js
index 8f246eb96312853006a5c465e61bbd496cfaf61c..d22deb841d55df0524f9f51e4a5f49f6f06dec53 100644
--- a/test/language/function-code/10.4.3-1-11-s.js
+++ b/test/language/function-code/10.4.3-1-11-s.js
@@ -7,12 +7,8 @@ description: >
     Strict Mode - checking 'this' (Anonymous FunctionExpression
     defined within strict mode)
 flags: [onlyStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-return (function () {
+assert.sameValue((function () {
     return typeof this;
-})() === "undefined";
-}
-runTestCase(testcase);
+})(), "undefined");
diff --git a/test/language/function-code/10.4.3-1-12-s.js b/test/language/function-code/10.4.3-1-12-s.js
index 523e15cef20d4de5ee98be2a2ffc727207172305..c67b8c96fadbba117d1dd97f7c915222a6e2f26f 100644
--- a/test/language/function-code/10.4.3-1-12-s.js
+++ b/test/language/function-code/10.4.3-1-12-s.js
@@ -7,13 +7,9 @@ description: >
     Strict Mode - checking 'this' (Anonymous FunctionExpression
     includes strict directive prologue)
 flags: [noStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-return (function () {
+assert.sameValue((function () {
     "use strict";
     return typeof this;
-})() === "undefined";
-}
-runTestCase(testcase);
+})(), "undefined");
diff --git a/test/language/function-code/10.4.3-1-17-s.js b/test/language/function-code/10.4.3-1-17-s.js
index 029f2d247f260c2812a537e570d3824a5741b93f..055382c1261e2346a4d96886280acbc80670bee9 100644
--- a/test/language/function-code/10.4.3-1-17-s.js
+++ b/test/language/function-code/10.4.3-1-17-s.js
@@ -5,12 +5,11 @@
 es5id: 10.4.3-1-17-s
 description: Strict Mode - checking 'this' (eval used within strict mode)
 flags: [onlyStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
 function testcase() {
-return (eval("typeof this") === "undefined") && (eval("this") !== fnGlobalObject());
+  assert.sameValue(eval("typeof this"), "undefined", 'eval("typeof this")');
+  assert.notSameValue(eval("this"), fnGlobalObject(), 'eval("this")');
 }
-runTestCase(testcase);
+testcase();
diff --git a/test/language/function-code/10.4.3-1-19-s.js b/test/language/function-code/10.4.3-1-19-s.js
index b6146fb5170e3af3ec4f673a1b7e25fb65065935..5aff016b91d49debd7f4bbff3345fdc9d2c91c3e 100644
--- a/test/language/function-code/10.4.3-1-19-s.js
+++ b/test/language/function-code/10.4.3-1-19-s.js
@@ -7,13 +7,11 @@ description: >
     Strict Mode - checking 'this' (indirect eval used within strict
     mode)
 flags: [onlyStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
 function testcase() {
 var my_eval = eval;
-return my_eval("this") === fnGlobalObject();
+assert.sameValue(my_eval("this"), fnGlobalObject(), 'my_eval("this")');
 }
-runTestCase(testcase);
+testcase();
diff --git a/test/language/function-code/10.4.3-1-20-s.js b/test/language/function-code/10.4.3-1-20-s.js
index 7394c8350aec3fe080908b587fd4568f65b77db3..24c27b3014a698b1c2b0ca90f0f45a99b77dc9c1 100644
--- a/test/language/function-code/10.4.3-1-20-s.js
+++ b/test/language/function-code/10.4.3-1-20-s.js
@@ -7,13 +7,11 @@ description: >
     Strict Mode - checking 'this' (indirect eval includes strict
     directive prologue)
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
 function testcase() {
 var my_eval = eval;
-return my_eval("\"use strict\";\nthis") === fnGlobalObject();
+assert.sameValue(my_eval("\"use strict\";\nthis"), fnGlobalObject());
 }
-runTestCase(testcase);
+testcase();
diff --git a/test/language/function-code/10.4.3-1-33-s.js b/test/language/function-code/10.4.3-1-33-s.js
index 106eeb65a084b4dca9a1ef2d70520363541a8a77..1e74d0d581a3cdcd164b538517a487f50babc157 100644
--- a/test/language/function-code/10.4.3-1-33-s.js
+++ b/test/language/function-code/10.4.3-1-33-s.js
@@ -7,15 +7,12 @@ description: >
     Strict Mode - checking 'this' (FunctionDeclaration defined within
     an Anonymous FunctionExpression inside strict mode)
 flags: [onlyStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-return (function () {
+(function () {
     function f() {
         return typeof this;
     }
-    return (f()==="undefined") && ((typeof this)==="undefined");
+    assert.sameValue(f(), "undefined", 'f()');
+    assert.sameValue(typeof this, "undefined", 'typeof this');
 })();
-}
-runTestCase(testcase);
diff --git a/test/language/function-code/10.4.3-1-34-s.js b/test/language/function-code/10.4.3-1-34-s.js
index bcc169a6fcb0c1d3eebdc195163d0382ac90e0b8..d5f47fb00461576e79c1724e2966f65f91aa0540 100644
--- a/test/language/function-code/10.4.3-1-34-s.js
+++ b/test/language/function-code/10.4.3-1-34-s.js
@@ -7,15 +7,12 @@ description: >
     Strict Mode - checking 'this' (FunctionExpression defined within
     an Anonymous FunctionExpression inside strict mode)
 flags: [onlyStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-return (function () {
+(function () {
     var f = function () {
         return typeof this;
     }
-    return (f()==="undefined") && ((typeof this)==="undefined");
+    assert.sameValue(f(), "undefined", 'f()');
+    assert.sameValue(typeof this, "undefined", 'typeof this');
 })();
-}
-runTestCase(testcase);
diff --git a/test/language/function-code/10.4.3-1-35-s.js b/test/language/function-code/10.4.3-1-35-s.js
index 5b500c56249cffdad41840fc3c58821aa245e494..ec009b0d9a33ffe4bb51d37693d0f3a36b29c843 100644
--- a/test/language/function-code/10.4.3-1-35-s.js
+++ b/test/language/function-code/10.4.3-1-35-s.js
@@ -7,14 +7,11 @@ description: >
     Strict Mode - checking 'this' (Anonymous FunctionExpression
     defined within an Anonymous FunctionExpression inside strict mode)
 flags: [onlyStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-return (function () {
-    return ((function () {
+(function () {
+    assert.sameValue((function () {
         return typeof this;
-    })()==="undefined") && ((typeof this)==="undefined");
+    })(), "undefined");
+    assert.sameValue(typeof this, "undefined", 'typeof this');
 })();
-}
-runTestCase(testcase);
diff --git a/test/language/function-code/10.4.3-1-42-s.js b/test/language/function-code/10.4.3-1-42-s.js
index cd6f0337c5524aad611599dee73b3a53c11424c3..d6e975bd62f3b7159b80294e7a6c79b3b04c27ee 100644
--- a/test/language/function-code/10.4.3-1-42-s.js
+++ b/test/language/function-code/10.4.3-1-42-s.js
@@ -7,16 +7,13 @@ description: >
     Strict Mode - checking 'this' (FunctionDeclaration defined within
     an Anonymous FunctionExpression with a strict directive prologue)
 flags: [noStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-return (function () {
+(function () {
     "use strict";
     function f() {
         return typeof this;
     }
-    return (f()==="undefined") && ((typeof this)==="undefined");
+    assert.sameValue(f(), "undefined", 'f()');
+    assert.sameValue(typeof this, "undefined", 'typeof this');
 })();
-}
-runTestCase(testcase);
diff --git a/test/language/function-code/10.4.3-1-43-s.js b/test/language/function-code/10.4.3-1-43-s.js
index 91dbb74f714ea5feadb3d8dbe5e2937053a1b418..85882b9e47f389a6602303abc61051114e46ff4a 100644
--- a/test/language/function-code/10.4.3-1-43-s.js
+++ b/test/language/function-code/10.4.3-1-43-s.js
@@ -7,16 +7,13 @@ description: >
     Strict Mode - checking 'this' (FunctionExpression defined within
     an Anonymous FunctionExpression with a strict directive prologue)
 flags: [noStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-return (function () {
+(function () {
     "use strict";
     var f = function () {
         return typeof this;
     }
-    return (f()==="undefined") && ((typeof this)==="undefined");
+    assert.sameValue(f(), "undefined", 'f()');
+    assert.sameValue(typeof this, "undefined", 'typeof this');
 })();
-}
-runTestCase(testcase);
diff --git a/test/language/function-code/10.4.3-1-44-s.js b/test/language/function-code/10.4.3-1-44-s.js
index cf75229638ace2822c45bb3216ddb61b6d2c8d71..db6bea254225c731350d26a20aee3fcdc4018d09 100644
--- a/test/language/function-code/10.4.3-1-44-s.js
+++ b/test/language/function-code/10.4.3-1-44-s.js
@@ -8,15 +8,12 @@ description: >
     defined within an Anonymous FunctionExpression with a strict
     directive prologue)
 flags: [noStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
-return (function () {
+(function () {
     "use strict";
-    return ((function () {
+    assert.sameValue((function () {
         return typeof this;
-    })()==="undefined") && ((typeof this)==="undefined");
+    })(), "undefined");
+    assert.sameValue(typeof this, "undefined", 'typeof this');
 })();
-}
-runTestCase(testcase);
diff --git a/test/language/function-code/10.4.3-1-51-s.js b/test/language/function-code/10.4.3-1-51-s.js
index 70f9147410961e80bfd1a9803bd49c7bf07f6601..399451d4e9d1b990e266dab0f42ddf4ef9af8fa4 100644
--- a/test/language/function-code/10.4.3-1-51-s.js
+++ b/test/language/function-code/10.4.3-1-51-s.js
@@ -7,18 +7,14 @@ description: >
     Strict Mode - checking 'this' (FunctionDeclaration with a strict
     directive prologue defined within an Anonymous FunctionExpression)
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
-return (function () {
+(function () {
     function f() {
         "use strict";
         return typeof this;
     }
-    return (f()==="undefined") && (this===fnGlobalObject());
+    assert.sameValue(f(), "undefined", 'f()');
+    assert.sameValue(this, fnGlobalObject(), 'this');
 })();
-}
-runTestCase(testcase);
diff --git a/test/language/function-code/10.4.3-1-52-s.js b/test/language/function-code/10.4.3-1-52-s.js
index 17a707a109112d28ec8987bf61fa1c2e8b871a7b..6ec647b5d102ec55d1583062351e00e0f9aae13d 100644
--- a/test/language/function-code/10.4.3-1-52-s.js
+++ b/test/language/function-code/10.4.3-1-52-s.js
@@ -7,18 +7,14 @@ description: >
     Strict Mode - checking 'this' (FunctionExpression with a strict
     directive prologue defined within an Anonymous FunctionExpression)
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
-return (function () {
+(function () {
     var f = function () {
         "use strict";
         return typeof this;
     }
-    return (f()==="undefined") && (this===fnGlobalObject());
+    assert.sameValue(f(), "undefined", 'f()');
+    assert.sameValue(this, fnGlobalObject(), 'this');
 })();
-}
-runTestCase(testcase);
diff --git a/test/language/function-code/10.4.3-1-53-s.js b/test/language/function-code/10.4.3-1-53-s.js
index 69792c8d7166f5ded1ad0d2371eb117462511782..598bdbe5594b1e96b7076f55f3fd0b1246f6a2bb 100644
--- a/test/language/function-code/10.4.3-1-53-s.js
+++ b/test/language/function-code/10.4.3-1-53-s.js
@@ -8,17 +8,13 @@ description: >
     strict directive prologue defined within an Anonymous
     FunctionExpression)
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
-return (function () {
-    return ((function () {
+(function () {
+    assert.sameValue((function () {
         "use strict";
         return typeof this;
-    })()==="undefined") && (this===fnGlobalObject());
+    })(), "undefined");
+    assert.sameValue(this, fnGlobalObject(), 'this');
 })();
-}
-runTestCase(testcase);
diff --git a/test/language/function-code/10.4.3-1-63-s.js b/test/language/function-code/10.4.3-1-63-s.js
index 5b2f958c7209dca28b2bc61b9a5a7bf56836adbf..620beee2aba583646cb9f03e82293c71db1875d5 100644
--- a/test/language/function-code/10.4.3-1-63-s.js
+++ b/test/language/function-code/10.4.3-1-63-s.js
@@ -5,11 +5,7 @@
 es5id: 10.4.3-1-63-s
 description: >
     checking 'this' (strict function declaration called by non-strict eval)
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
 function f() { "use strict"; return this===undefined;};
-return eval("f();");
-}
-runTestCase(testcase);
+assert(eval("f();"));
diff --git a/test/language/function-code/10.4.3-1-64-s.js b/test/language/function-code/10.4.3-1-64-s.js
index 49a20b277951b6b062c2dae4e5c9957d9853f63b..2c756125dc24fa0d84a6897cace509d7dfbfc203 100644
--- a/test/language/function-code/10.4.3-1-64-s.js
+++ b/test/language/function-code/10.4.3-1-64-s.js
@@ -6,13 +6,8 @@ es5id: 10.4.3-1-64-s
 description: >
     checking 'this' (strict function declaration called by non-strict Function
     constructor)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 fnGlobalObject().f = function() { "use strict"; return this===undefined;};
-return Function("return f();")();
-}
-runTestCase(testcase);
+assert(Function("return f();")());
diff --git a/test/language/function-code/10.4.3-1-65-s.js b/test/language/function-code/10.4.3-1-65-s.js
index 0725e797d244b6b5ad033b25f173834d08d88af3..f3d118076382a905f476db9db02b77b5a21862a5 100644
--- a/test/language/function-code/10.4.3-1-65-s.js
+++ b/test/language/function-code/10.4.3-1-65-s.js
@@ -6,13 +6,8 @@ es5id: 10.4.3-1-65-s
 description: >
     checking 'this' (strict function declaration called by non-strict new'ed
     Function constructor)
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 fnGlobalObject().f = function()  { "use strict"; return this===undefined;};
-return (new Function("return f();"))();
-}
-runTestCase(testcase);
+assert((new Function("return f();"))());
diff --git a/test/language/function-code/10.4.3-1-82-s.js b/test/language/function-code/10.4.3-1-82-s.js
index 146160f37fe06215c2eeb0369f7a5087d194e441..617dd2e0cb471dfc56403a0fbb6099d1072cb593 100644
--- a/test/language/function-code/10.4.3-1-82-s.js
+++ b/test/language/function-code/10.4.3-1-82-s.js
@@ -7,11 +7,7 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict eval)
 flags: [noStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
 function f() { return this!==undefined;};
-return (function () {"use strict"; return eval("f();");})();
-}
-runTestCase(testcase);
+assert((function () {"use strict"; return eval("f();");})());
diff --git a/test/language/function-code/10.4.3-1-83-s.js b/test/language/function-code/10.4.3-1-83-s.js
index 4b6331ddf88993a627a9f23aec5c20c363314495..d7d4583ae8cd73b6a0f54976f7fc5a1049f1e0dc 100644
--- a/test/language/function-code/10.4.3-1-83-s.js
+++ b/test/language/function-code/10.4.3-1-83-s.js
@@ -7,13 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function constructor)
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 fnGlobalObject().f = function() {return this!==undefined;};
-return (function () {return Function("\"use strict\";return f();")();})();
-}
-runTestCase(testcase);
+assert((function () {return Function("\"use strict\";return f();")();})());
diff --git a/test/language/function-code/10.4.3-1-84-s.js b/test/language/function-code/10.4.3-1-84-s.js
index f9807b800e1193c3baef000a5e8d73e229760859..467a323e553ca4a3ee3e30d8ea0873290b37052d 100644
--- a/test/language/function-code/10.4.3-1-84-s.js
+++ b/test/language/function-code/10.4.3-1-84-s.js
@@ -7,13 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict new'ed Function constructor)
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 fnGlobalObject().f = function()  { return this!==undefined;};
-return (function () {return new Function("\"use strict\";return f();")();})();
-}
-runTestCase(testcase);
+assert((function () {return new Function("\"use strict\";return f();")();})());
diff --git a/test/language/function-code/10.4.3-1-85-s.js b/test/language/function-code/10.4.3-1-85-s.js
index d292baf48746f9dd3ef0c089b98f106f2fa65049..ae4af0410e4f3df7c8a063a8427a8b945da6bfa2 100644
--- a/test/language/function-code/10.4.3-1-85-s.js
+++ b/test/language/function-code/10.4.3-1-85-s.js
@@ -7,11 +7,7 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function.prototype.apply())
 flags: [noStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
 function f() { return this!==undefined;};
-return (function () {"use strict"; return f.apply();})();
-}
-runTestCase(testcase);
+assert((function () {"use strict"; return f.apply();})());
diff --git a/test/language/function-code/10.4.3-1-86-s.js b/test/language/function-code/10.4.3-1-86-s.js
index 1cf7a495d34e1ed9e984220eb03ec97bf46c08b5..824d5d36b26f14fd49ba57dfbd4fa3083b623a15 100644
--- a/test/language/function-code/10.4.3-1-86-s.js
+++ b/test/language/function-code/10.4.3-1-86-s.js
@@ -7,13 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function.prototype.apply(null))
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 function f() { return this===fnGlobalObject();};
-return (function () {"use strict"; return f.apply(null);})();
-}
-runTestCase(testcase);
+assert((function () {"use strict"; return f.apply(null);})());
diff --git a/test/language/function-code/10.4.3-1-87-s.js b/test/language/function-code/10.4.3-1-87-s.js
index 92a9ef332b8d70d16b3ad9ce45950f31aaf231cf..f4a1313fea68daf40bec815566eab2dac003967a 100644
--- a/test/language/function-code/10.4.3-1-87-s.js
+++ b/test/language/function-code/10.4.3-1-87-s.js
@@ -7,13 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function.prototype.apply(undefined))
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 function f() { return this===fnGlobalObject()};
-return (function () {"use strict"; return f.apply(undefined);})();
-}
-runTestCase(testcase);
+assert((function () {"use strict"; return f.apply(undefined);})());
diff --git a/test/language/function-code/10.4.3-1-88-s.js b/test/language/function-code/10.4.3-1-88-s.js
index 54ecbd34099c5b4ba831bf486ccdbe2585191f82..a388bbca5f12b3abb30e4b0517d8f583e3fa1653 100644
--- a/test/language/function-code/10.4.3-1-88-s.js
+++ b/test/language/function-code/10.4.3-1-88-s.js
@@ -7,12 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function.prototype.apply(someObject))
 flags: [noStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
 var o = {};
 function f() { return this===o;};
-return (function () {"use strict"; return f.apply(o);})();
-}
-runTestCase(testcase);
+assert((function () {"use strict"; return f.apply(o);})());
diff --git a/test/language/function-code/10.4.3-1-89-s.js b/test/language/function-code/10.4.3-1-89-s.js
index 73e193b3f5d6841d50af3643e712e275c14fdd9b..799cb85f3f0d3003e48d8a226fc819b9f5d67838 100644
--- a/test/language/function-code/10.4.3-1-89-s.js
+++ b/test/language/function-code/10.4.3-1-89-s.js
@@ -7,13 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function.prototype.apply(globalObject))
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 function f() { return this;};
-return (function () {"use strict"; return f.apply(fnGlobalObject()); })() === fnGlobalObject();
-}
-runTestCase(testcase);
+assert.sameValue((function () {"use strict"; return f.apply(fnGlobalObject()); })(), fnGlobalObject());
diff --git a/test/language/function-code/10.4.3-1-90-s.js b/test/language/function-code/10.4.3-1-90-s.js
index 65063ddd1608e8ac30609a871a3dadb261ce7e6f..60005ca836a4e614cb227dd6de44dbbaea37aa61 100644
--- a/test/language/function-code/10.4.3-1-90-s.js
+++ b/test/language/function-code/10.4.3-1-90-s.js
@@ -7,13 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function.prototype.call())
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 function f() { return this===fnGlobalObject();};
-return (function () {"use strict"; return f.call(); })();
-}
-runTestCase(testcase);
+assert((function () {"use strict"; return f.call(); })());
diff --git a/test/language/function-code/10.4.3-1-91-s.js b/test/language/function-code/10.4.3-1-91-s.js
index e1d0dd932af765bac42783cc981dfbc6e1bcec81..3bb35a53cf1997a3806205a566b62edf8cf1c124 100644
--- a/test/language/function-code/10.4.3-1-91-s.js
+++ b/test/language/function-code/10.4.3-1-91-s.js
@@ -7,13 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function.prototype.call(null))
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 function f() { return this===fnGlobalObject();};
-return (function () {"use strict"; return f.call(null); })();
-}
-runTestCase(testcase);
+assert((function () {"use strict"; return f.call(null); })());
diff --git a/test/language/function-code/10.4.3-1-92-s.js b/test/language/function-code/10.4.3-1-92-s.js
index c058527cdc63879494328303230374f91dd323b5..0f0993db96a5fe72237351249a9dd6cf8906f8c8 100644
--- a/test/language/function-code/10.4.3-1-92-s.js
+++ b/test/language/function-code/10.4.3-1-92-s.js
@@ -7,13 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function.prototype.call(undefined))
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 function f() { return this===fnGlobalObject();};
-return (function () {"use strict"; return f.call(undefined);})();
-}
-runTestCase(testcase);
+assert((function () {"use strict"; return f.call(undefined);})());
diff --git a/test/language/function-code/10.4.3-1-93-s.js b/test/language/function-code/10.4.3-1-93-s.js
index ecda8c11f9200d23c34884f2dfc53d56fc38d823..3a7299e7bc364063372c2e74dd189e8d0f099482 100644
--- a/test/language/function-code/10.4.3-1-93-s.js
+++ b/test/language/function-code/10.4.3-1-93-s.js
@@ -7,12 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function.prototype.call(someObject))
 flags: [noStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
 var o = {};
 function f() { return this===o;};
-return (function () {"use strict"; return f.call(o); })();
-}
-runTestCase(testcase);
+assert((function () {"use strict"; return f.call(o); })());
diff --git a/test/language/function-code/10.4.3-1-94-s.js b/test/language/function-code/10.4.3-1-94-s.js
index ee4817c543e59c9960e4663e58c8e22272a46b80..cee5d05553b15ea0a52c7cbd7f9b1f563c867ba0 100644
--- a/test/language/function-code/10.4.3-1-94-s.js
+++ b/test/language/function-code/10.4.3-1-94-s.js
@@ -7,13 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function.prototype.call(globalObject))
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 function f() { return this===fnGlobalObject();};
-return (function () {"use strict"; return f.call(fnGlobalObject());})();
-}
-runTestCase(testcase);
+assert((function () {"use strict"; return f.call(fnGlobalObject());})());
diff --git a/test/language/function-code/10.4.3-1-95-s.js b/test/language/function-code/10.4.3-1-95-s.js
index c7306f101593674f3b0088b4c1e531329c622f33..4148fd9a4c14cbdbda128dcc920885f30baf6362 100644
--- a/test/language/function-code/10.4.3-1-95-s.js
+++ b/test/language/function-code/10.4.3-1-95-s.js
@@ -7,13 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function.prototype.bind()())
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 function f() { return this===fnGlobalObject();};
-return (function () {"use strict"; return f.bind()(); })();
-}
-runTestCase(testcase);
+assert((function () {"use strict"; return f.bind()(); })());
diff --git a/test/language/function-code/10.4.3-1-96-s.js b/test/language/function-code/10.4.3-1-96-s.js
index 4da2545f9ec2f8f8b21d7cc637a6f4a13a19e048..8e5a67919a396881613543ea1f853b8db6966afe 100644
--- a/test/language/function-code/10.4.3-1-96-s.js
+++ b/test/language/function-code/10.4.3-1-96-s.js
@@ -7,13 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function.prototype.bind(null)())
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 function f() { return this===fnGlobalObject();};
-return (function () {"use strict"; return f.bind(null)(); })();
-}
-runTestCase(testcase);
+assert((function () {"use strict"; return f.bind(null)(); })());
diff --git a/test/language/function-code/10.4.3-1-97-s.js b/test/language/function-code/10.4.3-1-97-s.js
index 1f569b3619803942e9b7bd1d73c2c58d9deb3863..1eded33e68764de1f2885c556de7ff136b0e44ca 100644
--- a/test/language/function-code/10.4.3-1-97-s.js
+++ b/test/language/function-code/10.4.3-1-97-s.js
@@ -7,13 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function.prototype.bind(undefined)())
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 function f() { return this===fnGlobalObject();};
-return (function () {"use strict"; return f.bind(undefined)();})();
-}
-runTestCase(testcase);
+assert((function () {"use strict"; return f.bind(undefined)();})());
diff --git a/test/language/function-code/10.4.3-1-98-s.js b/test/language/function-code/10.4.3-1-98-s.js
index 36360dffa4590669ea62c61692e6ddce0833e3d6..232b2e74555b932c5d9c7c364285ed86c0f4c2b5 100644
--- a/test/language/function-code/10.4.3-1-98-s.js
+++ b/test/language/function-code/10.4.3-1-98-s.js
@@ -7,12 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function.prototype.bind(someObject)())
 flags: [noStrict]
-includes: [runTestCase.js]
 ---*/
 
-function testcase() {
 var o = {};
 function f() { return this===o;};
-return (function () {"use strict"; return f.bind(o)();})();
-}
-runTestCase(testcase);
+assert((function () {"use strict"; return f.bind(o)();})());
diff --git a/test/language/function-code/10.4.3-1-99-s.js b/test/language/function-code/10.4.3-1-99-s.js
index 8f0f2f6f3a394de91f18caea0c1da7bd065d6c39..081abf47b52fbebce8b89d9d505ad30ed390be3f 100644
--- a/test/language/function-code/10.4.3-1-99-s.js
+++ b/test/language/function-code/10.4.3-1-99-s.js
@@ -7,13 +7,8 @@ description: >
     Strict Mode - checking 'this' (non-strict function declaration
     called by strict Function.prototype.bind(globalObject)())
 flags: [noStrict]
-includes:
-    - runTestCase.js
-    - fnGlobalObject.js
+includes: [fnGlobalObject.js]
 ---*/
 
-function testcase() {
 function f() { return this===fnGlobalObject();};
-return (function () {"use strict"; return f.bind(fnGlobalObject())();})();
-}
-runTestCase(testcase);
+assert((function () {"use strict"; return f.bind(fnGlobalObject())();})());