diff --git a/test/language/expressions/object/11.1.5-4-4-a-1-s.js b/test/language/expressions/object/11.1.5-4-4-a-1-s.js
deleted file mode 100644
index 6d3c6b353deb1c3688155a9af04173e5f4b2a85a..0000000000000000000000000000000000000000
--- a/test/language/expressions/object/11.1.5-4-4-a-1-s.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2012 Ecma International.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 11.1.5-4-4-a-1-s
-description: >
-    Object literal - No SyntaxError for duplicate data property names
----*/
-
-  eval("({foo:0,foo:1});");
diff --git a/test/language/expressions/object/11.1.5_6-2-2-s.js b/test/language/expressions/object/getter-body-strict-inside.js
similarity index 55%
rename from test/language/expressions/object/11.1.5_6-2-2-s.js
rename to test/language/expressions/object/getter-body-strict-inside.js
index 9ae348ff548de82caae8b53d1a76e40e82c5ba47..279175dfd9a5c4e68f0346650cbeae6296587899 100644
--- a/test/language/expressions/object/11.1.5_6-2-2-s.js
+++ b/test/language/expressions/object/getter-body-strict-inside.js
@@ -1,23 +1,22 @@
 // Copyright (c) 2012 Ecma International.  All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
-
 /*---
 es5id: 11.1.5_6-2-2-s
 description: >
     Strict Mode - SyntaxError is thrown when an assignment to a
     reserved word or a future reserved word is made inside a strict
     mode FunctionBody of a PropertyAssignment
+negative:
+  type: SyntaxError
+  phase: parse
 flags: [noStrict]
 ---*/
 
+throw "Test262: This statement should not be evaluated.";
 
-assert.throws(SyntaxError, function() {
-            eval("var obj = {\
-                get _11_1_5_6_2_2() {\
-                   \"use strict\";\
-                   public = 42;\
-                   return public;\
-                }\
-            };\
-            var _11_1_5_6_2_2 = obj._11_1_5_6_2_2;");
-});
+void {
+  get x() {
+    "use strict";
+    public = 42;
+  }
+};
diff --git a/test/language/expressions/object/11.1.5_6-2-1-s.js b/test/language/expressions/object/getter-body-strict-outside.js
similarity index 55%
rename from test/language/expressions/object/11.1.5_6-2-1-s.js
rename to test/language/expressions/object/getter-body-strict-outside.js
index 65035c0eacf39887f9d900ba72c9b3100d13b609..aaf13120c0aefbf360e96cca7c2f92dfe62631ad 100644
--- a/test/language/expressions/object/11.1.5_6-2-1-s.js
+++ b/test/language/expressions/object/getter-body-strict-outside.js
@@ -1,22 +1,20 @@
 // Copyright (c) 2012 Ecma International.  All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
-
 /*---
 es5id: 11.1.5_6-2-1-s
 description: >
     Strict Mode - SyntaxError is thrown when an assignment to a
     reserved word or a future reserved word is contained in strict code
+negative:
+  type: SyntaxError
+  phase: parse
 flags: [onlyStrict]
 ---*/
 
+throw "Test262: This statement should not be evaluated.";
 
-assert.throws(SyntaxError, function() {
-            eval("var obj = {\
-                get _11_1_5_6_2_1() {\
-                   public = 42;\
-                   return public;\
-                }\
-            };");
-
-            var _11_1_5_6_2_1 = obj._11_1_5_6_2_1;
-});
+void {
+  get x() {
+    public = 42;
+  }
+};
diff --git a/test/language/expressions/object/11.1.5_4-4-a-2.js b/test/language/expressions/object/prop-dup-data-data.js
similarity index 95%
rename from test/language/expressions/object/11.1.5_4-4-a-2.js
rename to test/language/expressions/object/prop-dup-data-data.js
index 743b075e31cb3ad04350a884141edc53783e5c05..58ed6925249814721d964bcdca1084a7d3d110db 100644
--- a/test/language/expressions/object/11.1.5_4-4-a-2.js
+++ b/test/language/expressions/object/prop-dup-data-data.js
@@ -14,4 +14,7 @@ description: >
     strict mode
 ---*/
 
-  eval("({foo:0,foo:1});");
+void {
+  foo: 0,
+  foo: 1
+};
diff --git a/test/language/expressions/object/11.1.5_4-4-b-2.js b/test/language/expressions/object/prop-dup-data-set.js
similarity index 89%
rename from test/language/expressions/object/11.1.5_4-4-b-2.js
rename to test/language/expressions/object/prop-dup-data-set.js
index 03b0c3a556e9ef87d1d0ee20b0a6d332224e1c26..5022d4a82264f900723d55b925b63b590ae70979 100644
--- a/test/language/expressions/object/11.1.5_4-4-b-2.js
+++ b/test/language/expressions/object/prop-dup-data-set.js
@@ -8,4 +8,7 @@ description: >
     followed by set accessor definition with the same name
 ---*/
 
-  eval("({foo : 1, set foo(x){}});");
+void {
+  foo: 1,
+  set foo(x) {}
+};
diff --git a/test/language/expressions/object/11.1.5_4-4-c-1.js b/test/language/expressions/object/prop-dup-get-data.js
similarity index 89%
rename from test/language/expressions/object/11.1.5_4-4-c-1.js
rename to test/language/expressions/object/prop-dup-get-data.js
index 4923c9411c7bf57542b3d0ce22bcd28deda6aca6..6f073c6047e1807ec2fdeea0d3a5800819f32d06 100644
--- a/test/language/expressions/object/11.1.5_4-4-c-1.js
+++ b/test/language/expressions/object/prop-dup-get-data.js
@@ -8,4 +8,7 @@ description: >
     is followed by a data property definition with the same name
 ---*/
 
-  eval("({get foo(){}, foo : 1});");
+void {
+  get foo() {},
+  foo: 1
+};
diff --git a/test/language/expressions/object/11.1.5_4-4-d-1.js b/test/language/expressions/object/prop-dup-get-get.js
similarity index 86%
rename from test/language/expressions/object/11.1.5_4-4-d-1.js
rename to test/language/expressions/object/prop-dup-get-get.js
index c9d0f2d25f5fc0ba60ad702cf5201d6323ff66a8..a31c65557d7b8e4a7650311d66012379a69399c6 100644
--- a/test/language/expressions/object/11.1.5_4-4-d-1.js
+++ b/test/language/expressions/object/prop-dup-get-get.js
@@ -6,4 +6,7 @@ es5id: 11.1.5_4-4-d-1
 description: Object literal - No SyntaxError for duplicate property name (get,get)
 ---*/
 
-  eval("({get foo(){}, get foo(){}});");
+void {
+  get foo() {},
+  get foo() {}
+};
diff --git a/test/language/expressions/object/11.1.5_4-4-d-3.js b/test/language/expressions/object/prop-dup-get-set-get.js
similarity index 81%
rename from test/language/expressions/object/11.1.5_4-4-d-3.js
rename to test/language/expressions/object/prop-dup-get-set-get.js
index 306ceeb5bbbe1d5b5229bce5fe000ffd558c7a39..3987448c6367d4c8e2085b953d7ec4f8dd36b7b2 100644
--- a/test/language/expressions/object/11.1.5_4-4-d-3.js
+++ b/test/language/expressions/object/prop-dup-get-set-get.js
@@ -8,4 +8,8 @@ description: >
     (get,set,get)
 ---*/
 
-  eval("({get foo(){}, set foo(arg){}, get foo(){}});");
+void {
+  get foo() {},
+  set foo(arg) {},
+  get foo() {}
+};
diff --git a/test/language/expressions/object/11.1.5_4-4-c-2.js b/test/language/expressions/object/prop-dup-set-data.js
similarity index 89%
rename from test/language/expressions/object/11.1.5_4-4-c-2.js
rename to test/language/expressions/object/prop-dup-set-data.js
index 45c121821d97c9bddd06d4ac4fc90c95f6d374be..c4fe786efe4d9ccae15cb7cf803452e69b94b554 100644
--- a/test/language/expressions/object/11.1.5_4-4-c-2.js
+++ b/test/language/expressions/object/prop-dup-set-data.js
@@ -8,4 +8,7 @@ description: >
     is followed by a data property definition with the same name
 ---*/
 
-  eval("({set foo(x){}, foo : 1});");
+void {
+  set foo(x) {},
+  foo: 1
+};
diff --git a/test/language/expressions/object/11.1.5_4-4-d-4.js b/test/language/expressions/object/prop-dup-set-get-set.js
similarity index 80%
rename from test/language/expressions/object/11.1.5_4-4-d-4.js
rename to test/language/expressions/object/prop-dup-set-get-set.js
index 83c9645b88fc145a5f91f90e76e5217325b4d546..d5ebc514bc3f2b3ceb963fed755b429c2b2dabf6 100644
--- a/test/language/expressions/object/11.1.5_4-4-d-4.js
+++ b/test/language/expressions/object/prop-dup-set-get-set.js
@@ -8,4 +8,8 @@ description: >
     (set,get,set)
 ---*/
 
-  eval("({set foo(arg){}, get foo(){}, set foo(arg1){}});");
+void {
+  set foo(arg) {},
+  get foo() {},
+  set foo(arg1) {}
+};
diff --git a/test/language/expressions/object/11.1.5_4-4-d-2.js b/test/language/expressions/object/prop-dup-set-set.js
similarity index 84%
rename from test/language/expressions/object/11.1.5_4-4-d-2.js
rename to test/language/expressions/object/prop-dup-set-set.js
index 14e52d0dcdd195eb783834f70d1378f794d53f9f..69621473739b1cde08e32106bbb9297d7fe87bd3 100644
--- a/test/language/expressions/object/11.1.5_4-4-d-2.js
+++ b/test/language/expressions/object/prop-dup-set-set.js
@@ -6,4 +6,7 @@ es5id: 11.1.5_4-4-d-2
 description: Object literal - No SyntaxError for duplicate property name (set,set)
 ---*/
 
-  eval("({set foo(arg){}, set foo(arg1){}});");
+void {
+  set foo(arg) {},
+  set foo(arg1) {}
+};
diff --git a/test/language/expressions/object/11.1.5_7-2-2-s.js b/test/language/expressions/object/setter-body-strict-inside.js
similarity index 51%
rename from test/language/expressions/object/11.1.5_7-2-2-s.js
rename to test/language/expressions/object/setter-body-strict-inside.js
index 08cfe79dfc650ad3a04c99b6e8224a4d04d2a2a3..56e776a04f2d11e09b62a0f00f9bdc6f13b30ace 100644
--- a/test/language/expressions/object/11.1.5_7-2-2-s.js
+++ b/test/language/expressions/object/setter-body-strict-inside.js
@@ -1,23 +1,22 @@
 // Copyright (c) 2012 Ecma International.  All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
-
 /*---
 es5id: 11.1.5_7-2-2-s
 description: >
     Strict Mode - SyntaxError is thrown when an assignment to a
     reserved word is made in  a strict FunctionBody of a
     PropertyAssignment
-flags: [onlyStrict]
+negative:
+  type: SyntaxError
+  phase: parse
+flags: [noStrict]
 ---*/
 
+throw "Test262: This statement should not be evaluated.";
 
-assert.throws(SyntaxError, function() {
-            eval("var data = \"data\";\
-            var obj = {\
-                set _11_1_5_7_2_2(value) {\
-                    public = 42;\
-                    data = value;\
-                }\
-            };\
-            obj._11_1_5_7_2_2 = 1;");
-});
+void {
+  set x(value) {
+    "use strict";
+    public = 42;
+  }
+};
diff --git a/test/language/expressions/object/11.1.5_7-2-1-s.js b/test/language/expressions/object/setter-body-strict-outside.js
similarity index 51%
rename from test/language/expressions/object/11.1.5_7-2-1-s.js
rename to test/language/expressions/object/setter-body-strict-outside.js
index f71697741698b585650d63232a14f7a9428e0e45..3587afb53c48ab12c2e483898613c497f0a9d11c 100644
--- a/test/language/expressions/object/11.1.5_7-2-1-s.js
+++ b/test/language/expressions/object/setter-body-strict-outside.js
@@ -1,22 +1,20 @@
 // Copyright (c) 2012 Ecma International.  All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
-
 /*---
 es5id: 11.1.5_7-2-1-s
 description: >
     Strict Mode - SyntaxError is thrown when an assignment to a
     reserved word is contained in strict code
+negative:
+  type: SyntaxError
+  phase: parse
 flags: [onlyStrict]
 ---*/
 
+throw "Test262: This statement should not be evaluated.";
 
-assert.throws(SyntaxError, function() {
-            eval("var data = \"data\";\
-            var obj = {\
-                set _11_1_5_7_2_1(value) {\
-                    public = 42;\
-                    data = value;\
-                }\
-            };\
-            obj._11_1_5_7_2_1 = 1;");
-});
+void {
+  set x(value) {
+    public = 42;
+  }
+};
diff --git a/test/language/expressions/object/11.1.5-4-s.js b/test/language/expressions/object/setter-param-arguments-strict-inside.js
similarity index 70%
rename from test/language/expressions/object/11.1.5-4-s.js
rename to test/language/expressions/object/setter-param-arguments-strict-inside.js
index dc1613906276c1bf30dd5d465892301c45faff66..d5a19e5c77c64bc9c2447cb4856376af88bd2118 100644
--- a/test/language/expressions/object/11.1.5-4-s.js
+++ b/test/language/expressions/object/setter-param-arguments-strict-inside.js
@@ -1,16 +1,21 @@
 // Copyright (c) 2012 Ecma International.  All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
-
 /*---
 es5id: 11.1.5-4-s
 description: >
     Strict Mode - SyntaxError is thrown when 'arguments'  occurs as
     the Identifier in a PropertySetParameterList of a
     PropertyAssignment  if its FunctionBody is strict code
+negative:
+  type: SyntaxError
+  phase: parse
 flags: [noStrict]
 ---*/
 
+throw "Test262: This statement should not be evaluated.";
 
-assert.throws(SyntaxError, function() {
-            eval("var obj = {set _11_1_5_4_fun(arguments) {\"use strict\";}};");
-});
+void {
+  set x(arguments) {
+    "use strict";
+  }
+};
diff --git a/test/language/expressions/object/11.1.5-2-s.js b/test/language/expressions/object/setter-param-arguments-strict-outside.js
similarity index 73%
rename from test/language/expressions/object/11.1.5-2-s.js
rename to test/language/expressions/object/setter-param-arguments-strict-outside.js
index 7a4c054df9974164b024125027a952b50d1181cf..1cf1d58c3b7ca9817a4d11cab659b09327f2eb2e 100644
--- a/test/language/expressions/object/11.1.5-2-s.js
+++ b/test/language/expressions/object/setter-param-arguments-strict-outside.js
@@ -1,16 +1,19 @@
 // Copyright (c) 2012 Ecma International.  All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
-
 /*---
 es5id: 11.1.5-2-s
 description: >
     Strict Mode - SyntaxError is thrown when 'arguments' occurs as the
     Identifier in a PropertySetParameterList of a PropertyAssignment
     that is contained in strict code
+negative:
+  type: SyntaxError
+  phase: parse
 flags: [onlyStrict]
 ---*/
 
+throw "Test262: This statement should not be evaluated.";
 
-assert.throws(SyntaxError, function() {
-            eval("var obj = {set _11_1_5_2_fun(arguments) {} };");
-});
+void {
+  set x(arguments) {}
+};
diff --git a/test/language/expressions/object/11.1.5-3-s.js b/test/language/expressions/object/setter-param-eval-strict-inside.js
similarity index 71%
rename from test/language/expressions/object/11.1.5-3-s.js
rename to test/language/expressions/object/setter-param-eval-strict-inside.js
index 831a8019443e715a498b69c983928dcba0a0c32b..f666963945a664a8fa19b4a6c8ad8774d7e33c4f 100644
--- a/test/language/expressions/object/11.1.5-3-s.js
+++ b/test/language/expressions/object/setter-param-eval-strict-inside.js
@@ -1,16 +1,21 @@
 // Copyright (c) 2012 Ecma International.  All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
-
 /*---
 es5id: 11.1.5-3-s
 description: >
     Strict Mode - SyntaxError is thrown when  'evals'  occurs as the
     Identifier in a PropertySetParameterList of a PropertyAssignment
     if its FunctionBody is strict code
+negative:
+  type: SyntaxError
+  phase: parse
 flags: [noStrict]
 ---*/
 
+throw "Test262: This statement should not be evaluated.";
 
-assert.throws(SyntaxError, function() {
-            eval("var obj = {set _11_1_5_3_fun(eval) { \"use strict\"; }};");
-});
+void {
+  set x(eval) {
+    "use strict";
+  }
+};
diff --git a/test/language/expressions/object/11.1.5-1-s.js b/test/language/expressions/object/setter-param-eval-strict-outside.js
similarity index 74%
rename from test/language/expressions/object/11.1.5-1-s.js
rename to test/language/expressions/object/setter-param-eval-strict-outside.js
index abc491dcbe2fabd3da88ff90c9db63e085c0baa0..d2643f55badb1039f1fde5c9c996148026bd6768 100644
--- a/test/language/expressions/object/11.1.5-1-s.js
+++ b/test/language/expressions/object/setter-param-eval-strict-outside.js
@@ -1,16 +1,19 @@
 // Copyright (c) 2012 Ecma International.  All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
-
 /*---
 es5id: 11.1.5-1-s
 description: >
     Strict Mode - SyntaxError is thrown when 'eval' occurs as the
     Identifier in a PropertySetParameterList of a PropertyAssignment
     that is contained in strict code
+negative:
+  type: SyntaxError
+  phase: parse
 flags: [onlyStrict]
 ---*/
 
+throw "Test262: This statement should not be evaluated.";
 
-assert.throws(SyntaxError, function() {
-            eval("var obj = {set _11_1_5_1_fun(eval) {}};");
-});
+void {
+  set x(eval) {}
+};