diff --git a/test/built-ins/Array/isArray/15.4.3.2-0-5.js b/test/built-ins/Array/isArray/15.4.3.2-0-5.js
index f7659b6002595cbe5d91e48da48e5c42ad93dc4b..4616c5a2ab83d68ecf3602a6345e92a4b9d6d7ae 100644
--- a/test/built-ins/Array/isArray/15.4.3.2-0-5.js
+++ b/test/built-ins/Array/isArray/15.4.3.2-0-5.js
@@ -14,7 +14,7 @@ includes: [runTestCase.js]
 
 function testcase() {
   var b = Array.isArray(Array.prototype);
-  if (b === false) {
+  if (b === true) {
     return true;
   }
  }
diff --git a/test/built-ins/Array/prototype/S15.4.3.1_A5.js b/test/built-ins/Array/prototype/S15.4.3.1_A5.js
index 9d07b93cf198dac05a54d2ca991d083b3d7ed729..6c6f5bef4a7cd9d7fa6d24e8af703025dd98e144 100644
--- a/test/built-ins/Array/prototype/S15.4.3.1_A5.js
+++ b/test/built-ins/Array/prototype/S15.4.3.1_A5.js
@@ -2,12 +2,12 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The length property of Array.prototype is undefined
+info: The length property of Array.prototype is 0
 es5id: 15.4.3.1_A5
-description: Array.prototype.length === undefined
+description: Array.prototype.length === 0
 ---*/
 
 //CHECK#1
-if (Array.prototype.length !== undefined) {
-  $ERROR('#1.1: Array.prototype.length === undefined. Actual: ' + (Array.prototype.length));
+if (Array.prototype.length !== 0) {
+  $ERROR('#1.1: Array.prototype.length === 0. Actual: ' + (Array.prototype.length));
 }
diff --git a/test/built-ins/Array/prototype/S15.4.4_A1.1_T2.js b/test/built-ins/Array/prototype/S15.4.4_A1.1_T2.js
index cfdd8f8dbe531e1e18ccfced43e457456d3c8873..5438110067841b5d28a70c212a589c7d9f4a8e17 100644
--- a/test/built-ins/Array/prototype/S15.4.4_A1.1_T2.js
+++ b/test/built-ins/Array/prototype/S15.4.4_A1.1_T2.js
@@ -4,12 +4,12 @@
 /*---
 es5id: 15.4.4_A1.1_T2
 description: >
-    The Array prototype object is itself not an array; its [[Class]]
-    is "Object",
+    The Array prototype object is itself an array; its [[Class]]
+    is "Array",
 ---*/
 
 //CHECK#1
-if (Object.prototype.toString.call(Array.prototype) !== "[object Object]") {
-  $ERROR('The Array prototype object is itself not an array; its' +
-         '[[Class]] is "Object".');
+if (Object.prototype.toString.call(Array.prototype) !== "[object Array]") {
+  $ERROR('The Array prototype object is itself an array; its' +
+         '[[Class]] is "Array".');
 }
diff --git a/test/built-ins/Array/prototype/S15.4.4_A1.2_T1.js b/test/built-ins/Array/prototype/S15.4.4_A1.2_T1.js
index e048cf764dd95e90e1c2bf93219eb3c2ab3e9244..0c9cccb55967b542a05f486909bec8bfdb953a17 100644
--- a/test/built-ins/Array/prototype/S15.4.4_A1.2_T1.js
+++ b/test/built-ins/Array/prototype/S15.4.4_A1.2_T1.js
@@ -2,13 +2,13 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: The [[Class]] property of the Array prototype object is set to "Object"
+info: The [[Class]] property of the Array prototype object is set to "Array"
 es5id: 15.4.4_A1.2_T1
 description: Checking use Object.prototype.toString
 ---*/
 
 //CHECK#1
 Array.prototype.getClass = Object.prototype.toString;
-if (Array.prototype.getClass() !== "[object " + "Object" + "]") {
-  $ERROR('#1: Array.prototype.getClass = Object.prototype.toString; Array.prototype is Object object. Actual: ' + (Array.prototype.getClass()));
+if (Array.prototype.getClass() !== "[object " + "Array" + "]") {
+  $ERROR('#1: Array.prototype.getClass = Object.prototype.toString; Array.prototype is Array object. Actual: ' + (Array.prototype.getClass()));
 }
diff --git a/test/built-ins/Array/prototype/S15.4.4_A1.3_T1.js b/test/built-ins/Array/prototype/S15.4.4_A1.3_T1.js
index d812e56934f85bdf0fce33c3004e843bf38cdb7e..c1857e6da3377b2c00433e5f51fc6440acac7f30 100644
--- a/test/built-ins/Array/prototype/S15.4.4_A1.3_T1.js
+++ b/test/built-ins/Array/prototype/S15.4.4_A1.3_T1.js
@@ -2,12 +2,12 @@
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
-info: Array prototype object does not have a length property
+info: Array prototype object has a length property
 es5id: 15.4.4_A1.3_T1
-description: Array.prototype.length === undefined
+description: Array.prototype.length === 0
 ---*/
 
 //CHECK#1
-if (Array.prototype.length !== undefined) {
-  $ERROR('#1.1: Array.prototype.length === undefined. Actual: ' + (Array.prototype.length));
+if (Array.prototype.length !== 0) {
+  $ERROR('#1.1: Array.prototype.length === 0. Actual: ' + (Array.prototype.length));
 }
diff --git a/test/built-ins/Array/prototype/push/S15.4.4.7_A2_T2.js b/test/built-ins/Array/prototype/push/S15.4.4.7_A2_T2.js
index 00683a8fd16ef8a1b68297112e03672196d5da42..3c185778bcbccc6bef1fab1648c6d4dd18b0638c 100644
--- a/test/built-ins/Array/prototype/push/S15.4.4.7_A2_T2.js
+++ b/test/built-ins/Array/prototype/push/S15.4.4.7_A2_T2.js
@@ -34,19 +34,16 @@ if (obj["0"] !== -1) {
 
 //CHECK#4
 obj.length = Number.POSITIVE_INFINITY;
-var push = obj.push(-4);
-if (push !== 9007199254740992) {
-  $ERROR('#4: var obj = {}; obj.length = Number.POSITIVE_INFINITY; obj.push = Array.prototype.push; obj.push(-4) === 9007199254740992. Actual: ' + (push));
-}
+assert.throws(TypeError, function() { obj.push(-4); });
 
 //CHECK#5
-if (obj.length !== 9007199254740992) {
-  $ERROR('#6: var obj = {}; obj.length = Number.POSITIVE_INFINITY; obj.push = Array.prototype.push; obj.push(-4); obj.length === 9007199254740992. Actual: ' + (obj.length));
+if (obj.length !== Number.POSITIVE_INFINITY) {
+  $ERROR('#6: var obj = {}; obj.length = Number.POSITIVE_INFINITY; obj.push = Array.prototype.push; obj.push(-4); obj.length === Number.POSITIVE_INFINITY. Actual: ' + (obj.length));
 }
 
 //CHECK#6
-if (obj[9007199254740991] !== -4) {
-  $ERROR('#6: var obj = {}; obj.length = Number.POSITIVE_INFINITY; obj.push = Array.prototype.push; obj.push(-4); obj[9007199254740991] === -4. Actual: ' + (obj["0"]));
+if (obj[9007199254740991] !== undefined) {
+  $ERROR('#6: var obj = {}; obj.length = Number.POSITIVE_INFINITY; obj.push = Array.prototype.push; obj.push(-4); obj[9007199254740991] === undefined. Actual: ' + (obj["9007199254740991"]));
 }
 
 //CHECK#7
diff --git a/test/built-ins/Function/prototype/bind/15.3.4.5-15-2.js b/test/built-ins/Function/prototype/bind/15.3.4.5-15-2.js
index 198b9531a2c40b51117284efbb24d803bf699167..96da940c6f5981a5672259febcae171461bbc405 100644
--- a/test/built-ins/Function/prototype/bind/15.3.4.5-15-2.js
+++ b/test/built-ins/Function/prototype/bind/15.3.4.5-15-2.js
@@ -8,7 +8,6 @@
 es5id: 15.3.4.5-15-2
 description: >
     Function.prototype.bind, 'length' is a data valued own property
-    with default attributes (false)
 includes: [runTestCase.js]
 ---*/
 
@@ -21,7 +20,7 @@ function testcase() {
   if (desc.value === 0 &&
       desc.enumerable === false &&
       desc.writable === false &&
-      desc.configurable == false) {
+      desc.configurable == true) {
     return true;
   }
  }
diff --git a/test/built-ins/RegExp/15.10.4.1-1.js b/test/built-ins/RegExp/15.10.4.1-1.js
index aa4ec81a0c5c1ab52ab3e778be1c483468003cfb..c7974e62f4619d33b605858b602b2e075cec0523 100644
--- a/test/built-ins/RegExp/15.10.4.1-1.js
+++ b/test/built-ins/RegExp/15.10.4.1-1.js
@@ -7,20 +7,14 @@
 /*---
 es5id: 15.10.4.1-1
 description: >
-    RegExp - the thrown error is TypeError instead of RegExpError when
-    pattern is an object whose [[Class]] property is 'RegExp' and
-    flags is not undefined
+    RegExp - no TypeError is thrown when pattern is an object whose
+    [[Class]] property is 'RegExp' and flags is not undefined
 includes: [runTestCase.js]
 ---*/
 
 function testcase() {
-        var regObj = new RegExp();
-        try {
-            var regExpObj = new RegExp(regObj, true);
-
-            return false;
-        } catch (e) {
-            return e instanceof TypeError;
-        }
-    }
+    var regObj = new RegExp();
+    var regExpObj = new RegExp(regObj, "g");
+    return regExpObj.global;
+}
 runTestCase(testcase);
diff --git a/test/built-ins/RegExp/S15.10.3.1_A2_T1.js b/test/built-ins/RegExp/S15.10.3.1_A2_T1.js
index e200ecaa1ec890b721e3883d17a4aa7a50c61164..92056848295a7b0fb811dd006daf4693ed350a71 100644
--- a/test/built-ins/RegExp/S15.10.3.1_A2_T1.js
+++ b/test/built-ins/RegExp/S15.10.3.1_A2_T1.js
@@ -13,9 +13,9 @@ description: >
 
 //CHECK#1
 try {
-	$ERROR('#1.1: RegExp(new RegExp("\\d"), "1")) throw TypeError. Actual: ' + (RegExp(new RegExp("\d"), "1")));
+	$ERROR('#1.1: RegExp(new RegExp("\\d"), "1")) throw SyntaxError. Actual: ' + (RegExp(new RegExp("\d"), "1")));
 } catch (e) {
-	if ((e instanceof TypeError) !== true) {
-		$ERROR('#1.2: RegExp(new RegExp("\\d"), "1")) throw TypeError. Actual: ' + (e));
+	if ((e instanceof SyntaxError) !== true) {
+		$ERROR('#1.2: RegExp(new RegExp("\\d"), "1")) throw SyntaxError. Actual: ' + (e));
 	}
 }
diff --git a/test/built-ins/RegExp/S15.10.3.1_A2_T2.js b/test/built-ins/RegExp/S15.10.3.1_A2_T2.js
index df35130d217afdfb965935c64a9366f7e166848e..aa7f8617f7d41ab806b919a8b9bc767db06b0f9b 100644
--- a/test/built-ins/RegExp/S15.10.3.1_A2_T2.js
+++ b/test/built-ins/RegExp/S15.10.3.1_A2_T2.js
@@ -15,9 +15,9 @@ var x = 1;
 
 //CHECK#1
 try {
-	$ERROR('#1.1: var x = 1; RegExp(/[a-b]?/, x) throw TypeError. Actual: ' + (RegExp(/[a-b]?/, x)));
+	$ERROR('#1.1: var x = 1; RegExp(/[a-b]?/, x) throw SyntaxError. Actual: ' + (RegExp(/[a-b]?/, x)));
 } catch (e) {
-	if ((e instanceof TypeError) !== true) {
-		$ERROR('#1.2: var x = 1; RegExp(/[a-b]?/, x) throw TypeError. Actual: ' + (e));
+	if ((e instanceof SyntaxError) !== true) {
+		$ERROR('#1.2: var x = 1; RegExp(/[a-b]?/, x) throw SyntaxError. Actual: ' + (e));
 	} 
 }
diff --git a/test/built-ins/RegExp/S15.10.4.1_A2_T1.js b/test/built-ins/RegExp/S15.10.4.1_A2_T1.js
index 6272ef38f9c148f200a544fab66df5fbe75c25d1..367dc4da7b418549c34892017153f54626b8f1a6 100644
--- a/test/built-ins/RegExp/S15.10.4.1_A2_T1.js
+++ b/test/built-ins/RegExp/S15.10.4.1_A2_T1.js
@@ -3,19 +3,14 @@
 
 /*---
 info: >
-    If pattern is an object R whose [[Class]] property is "RegExp" and flags
-    is not undefined, then throw a TypeError exception
+    pattern is an object R whose [[Class]] property is "RegExp" and flags
+    is not undefined
 es5id: 15.10.4.1_A2_T1
 description: >
     Checking if execution of "new RegExp(pattern, "i")", where the
-    pattern is "/\u0042/i", fails
+    pattern is "/\u0042/i", does not fail
 ---*/
 
 //CHECK#1
-try {
-	$ERROR('#1.1: new RegExp(/\\u0042/i, "i") throw TypeError. Actual: ' + (new RegExp(/\u0042/i, "i"))); 
-} catch (e) {
-	if ((e instanceof TypeError) !== true) {
-		$ERROR('#1.2: new RegExp(/\\u0042/i, "i") throw TypeError. Actual: ' + (e));
-	}
-}
+var regExpObj = new RegExp(/\u0042/i, "i");
+assert(regExpObj.ignoreCase);
diff --git a/test/built-ins/RegExp/S15.10.4.1_A2_T2.js b/test/built-ins/RegExp/S15.10.4.1_A2_T2.js
index 432bb0d7b004dd85b6e97e9f35959e0c8cc26135..a1ea7305fbc7cd874d1b083f6dbbcde87ccab8ea 100644
--- a/test/built-ins/RegExp/S15.10.4.1_A2_T2.js
+++ b/test/built-ins/RegExp/S15.10.4.1_A2_T2.js
@@ -3,8 +3,9 @@
 
 /*---
 info: >
-    If pattern is an object R whose [[Class]] property is "RegExp" and flags
-    is not undefined, then throw a TypeError exception
+    pattern is an object R whose [[Class]] property is "RegExp" and flags
+    is not undefined. If ToString(pattern) is not a valid flags arguments,
+    then throw a SyntaxError exception
 es5id: 15.10.4.1_A2_T2
 description: >
     Checking if execution of "new RegExp(pattern, {})", where the
@@ -13,9 +14,9 @@ description: >
 
 //CHECK#1
 try {
-  $ERROR('#1.1: new RegExp(/1?1/mig, {}) throw TypeError. Actual: ' + (new RegExp(/1?1/mig, {}))); 
+  $ERROR('#1.1: new RegExp(/1?1/mig, {}) throw SyntaxError. Actual: ' + (new RegExp(/1?1/mig, {})));
 } catch (e) {
-  if ((e instanceof TypeError) !== true) {
-    $ERROR('#1.2: new RegExp(/1?1/mig, {}) throw TypeError. Actual: ' + (e));
+  if ((e instanceof SyntaxError) !== true) {
+    $ERROR('#1.2: new RegExp(/1?1/mig, {}) throw SyntaxError. Actual: ' + (e));
   }
 }
diff --git a/test/built-ins/RegExp/prototype/exec/S15.10.6.2_A5_T3.js b/test/built-ins/RegExp/prototype/exec/S15.10.6.2_A5_T3.js
index 80cf9c3951c01cb06bcd10cdb25d0d8cf0bf7f93..c878018b688c7e87dabd86be3dce0be1055681e1 100644
--- a/test/built-ins/RegExp/prototype/exec/S15.10.6.2_A5_T3.js
+++ b/test/built-ins/RegExp/prototype/exec/S15.10.6.2_A5_T3.js
@@ -4,8 +4,8 @@
 /*---
 info: >
     RegExp.prototype.exec behavior depends on global property.
-    Let global is true and let I = If ToInteger(lastIndex).
-    Then if I<0 orI>length then set lastIndex to 0 and return null
+    Let global is true and let I = If ToLength(lastIndex).
+    Then if I>length then set lastIndex to 0 and return null
 es5id: 15.10.6.2_A5_T3
 description: "Set lastIndex to -1 and call /(?:ab|cd)\\d?/g.exec(\"aacd22 \")"
 ---*/
@@ -15,24 +15,24 @@ __re.lastIndex=-1;
 __executed = __re.test("aacd22 ");
 
 //CHECK#1
-if (__executed) {
+if (!__executed) {
 	$ERROR('#1: __re = /(?:ab|cd)\\d?/g; __re.lastIndex=-1; __executed = __re.test("aacd22 "); __executed === true');
 }
 
 //CHECK#2
-if (__re.lastIndex !== 0) {
-	$ERROR('#2: __re = /(?:ab|cd)\\d?/g; __re.lastIndex=-1; __executed = __re.test("aacd22 "); __re.lastIndex === 0. Actual: ' + (__re.lastIndex));
+if (__re.lastIndex !== 5) {
+	$ERROR('#2: __re = /(?:ab|cd)\\d?/g; __re.lastIndex=-1; __executed = __re.test("aacd22 "); __re.lastIndex === 5. Actual: ' + (__re.lastIndex));
 }
 
 __re.lastIndex=-100;
 __executed = __re.test("aacd22 ");
 
 //CHECK#3
-if (__executed) {
+if (!__executed) {
 	$ERROR('#3: __re = /(?:ab|cd)\\d?/g; __re.lastIndex=-1; __executed = __re.test("aacd22 "); __re.lastIndex=-100; __executed = __re.test("aacd22 "); __executed === true');
 }
 
 //CHECK#4
-if (__re.lastIndex !== 0) {
-	$ERROR('#4: __re = /(?:ab|cd)\\d?/g; __re.lastIndex=-1; __executed = __re.test("aacd22 "); __re.lastIndex=-100; __executed = __re.test("aacd22 "); __re.lastIndex === 0. Actual: ' + (__re.lastIndex));
+if (__re.lastIndex !== 5) {
+	$ERROR('#4: __re = /(?:ab|cd)\\d?/g; __re.lastIndex=-1; __executed = __re.test("aacd22 "); __re.lastIndex=-100; __executed = __re.test("aacd22 "); __re.lastIndex === 5. Actual: ' + (__re.lastIndex));
 }
diff --git a/test/language/expressions/object/11.1.5-2gs.js b/test/language/expressions/object/11.1.5-2gs.js
index a64847246e0f65ea310f0e0d54a8e0208dd8061d..adaa8214dfbfd8a3284a8bd0cf6a15692efa3e9d 100644
--- a/test/language/expressions/object/11.1.5-2gs.js
+++ b/test/language/expressions/object/11.1.5-2gs.js
@@ -7,12 +7,8 @@
 /*---
 es5id: 11.1.5-2gs
 description: >
-    Strict Mode - SyntaxError is thrown when eval code contains an
-    ObjectLiteral with more than one definition of any data property
-negative: SyntaxError
-flags: [onlyStrict]
+    Duplicate definitions of data properties are allowed in ObjectLiterals.
 ---*/
 
-"use strict";
-throw NotEarlyError;
-var obj = { _11_1_5_2_gs: 10, _11_1_5_2_gs: 10 };
+var obj = { _11_1_5_2_gs: 10, _11_1_5_2_gs: 20 };
+assert.sameValue(obj._11_1_5_2_gs, 20);
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
index fb4c4790bf35ea504af4714fa01e8f4716598e84..5cc6ed13cd7f9db40659eb3e0f1a25ddd116f554 100644
--- 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
@@ -5,30 +5,14 @@
 // copyright and this notice and otherwise comply with the Use Terms.
 
 /*---
-info: >
-    Refer 11.1.5; 
-    The production
-    PropertyNameAndValueList :  PropertyNameAndValueList , PropertyAssignment
-    4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true
-    a. This production is contained in strict code and IsDataDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true
 es5id: 11.1.5-4-4-a-1-s
 description: >
-    Object literal - SyntaxError for duplicate date property name in
-    strict mode
-flags: [onlyStrict]
+    Object literal - No SyntaxError for duplicate data property names
 includes: [runTestCase.js]
 ---*/
 
 function testcase() {
-  
-  try
-  {
-    eval("'use strict'; ({foo:0,foo:1});");
-    return false;
-  }
-  catch(e)
-  {
-    return (e instanceof SyntaxError);
-  }
- }
+  eval("({foo:0,foo:1});");
+  return true;
+}
 runTestCase(testcase);
diff --git a/test/language/expressions/object/11.1.5_4-4-b-1.js b/test/language/expressions/object/11.1.5_4-4-b-1.js
index 395966412019373e25399967e2528698ac9dbed9..908d0bee427e8b054db3bf0201a37ee6476ebe90 100644
--- a/test/language/expressions/object/11.1.5_4-4-b-1.js
+++ b/test/language/expressions/object/11.1.5_4-4-b-1.js
@@ -5,28 +5,15 @@
 // copyright and this notice and otherwise comply with the Use Terms.
 
 /*---
-info: >
-    Refer 11.1.5; 
-    The production
-    PropertyNameAndValueList :  PropertyNameAndValueList , PropertyAssignment
-    4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true
-    b.IsDataDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true.
 es5id: 11.1.5_4-4-b-1
 description: >
-    Object literal - SyntaxError if a data property definition is
+    Object literal - No SyntaxError if a data property definition is
     followed by get accessor definition with the same name
 includes: [runTestCase.js]
 ---*/
 
 function testcase() {
-  try
-  {
-    eval("({foo : 1, get foo(){}});");
-    return false;
-  }
-  catch(e)
-  {
-    return e instanceof SyntaxError;
-  }
- }
+  eval("({foo : 1, get foo(){}});");
+  return true;
+}
 runTestCase(testcase);
diff --git a/test/language/expressions/object/11.1.5_4-4-b-2.js b/test/language/expressions/object/11.1.5_4-4-b-2.js
index c3594c113900776955b625d6cf1c91fdb942f06c..e0cc72a4827ea664b43e0c8ed8f0a2aa323e58f8 100644
--- a/test/language/expressions/object/11.1.5_4-4-b-2.js
+++ b/test/language/expressions/object/11.1.5_4-4-b-2.js
@@ -5,28 +5,15 @@
 // copyright and this notice and otherwise comply with the Use Terms.
 
 /*---
-info: >
-    Refer 11.1.5; 
-    The production
-    PropertyNameAndValueList :  PropertyNameAndValueList , PropertyAssignment
-    4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true
-    b.IsDataDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true.
 es5id: 11.1.5_4-4-b-2
 description: >
-    Object literal - SyntaxError if a data property definition is
+    Object literal - No SyntaxError if a data property definition is
     followed by set accessor definition with the same name
 includes: [runTestCase.js]
 ---*/
 
 function testcase() {
-  try
-  {
-    eval("({foo : 1, set foo(x){}});");
-    return false;
-  }
-  catch(e)
-  {
-    return e instanceof SyntaxError;
-  }
- }
+  eval("({foo : 1, set foo(x){}});");
+  return true;
+}
 runTestCase(testcase);
diff --git a/test/language/expressions/object/11.1.5_4-4-c-1.js b/test/language/expressions/object/11.1.5_4-4-c-1.js
index 26fc6ce12485b777cec41dce1e1fcd90a31e9b48..da757dd3362a7b9e0c9914482ee9b3fc40cebc3f 100644
--- a/test/language/expressions/object/11.1.5_4-4-c-1.js
+++ b/test/language/expressions/object/11.1.5_4-4-c-1.js
@@ -5,28 +5,15 @@
 // copyright and this notice and otherwise comply with the Use Terms.
 
 /*---
-info: >
-    Refer 11.1.5; 
-    The production
-    PropertyNameAndValueList :  PropertyNameAndValueList , PropertyAssignment
-    4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true
-    c.IsAccessorDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true.
 es5id: 11.1.5_4-4-c-1
 description: >
-    Object literal - SyntaxError if a get accessor property definition
+    Object literal - No SyntaxError if a get accessor property definition
     is followed by a data property definition with the same name
 includes: [runTestCase.js]
 ---*/
 
 function testcase() {
-  try
-  {
-    eval("({get foo(){}, foo : 1});");
-    return false;
-  }
-  catch(e)
-  {
-    return e instanceof SyntaxError;
-  }
- }
+  eval("({get foo(){}, foo : 1});");
+  return true;
+}
 runTestCase(testcase);
diff --git a/test/language/expressions/object/11.1.5_4-4-c-2.js b/test/language/expressions/object/11.1.5_4-4-c-2.js
index bce72625a17ffd07c287e8b11ec31162d89a4711..2dbf40c49b31568bf0f1c983c720264d87b3ea61 100644
--- a/test/language/expressions/object/11.1.5_4-4-c-2.js
+++ b/test/language/expressions/object/11.1.5_4-4-c-2.js
@@ -5,28 +5,15 @@
 // copyright and this notice and otherwise comply with the Use Terms.
 
 /*---
-info: >
-    Refer 11.1.5; 
-    The production
-    PropertyNameAndValueList :  PropertyNameAndValueList , PropertyAssignment
-    4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true
-    c.IsAccessorDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true.
 es5id: 11.1.5_4-4-c-2
 description: >
-    Object literal - SyntaxError if a set accessor property definition
+    Object literal - No SyntaxError if a set accessor property definition
     is followed by a data property definition with the same name
 includes: [runTestCase.js]
 ---*/
 
 function testcase() {
-  try
-  {
-    eval("({set foo(x){}, foo : 1});");
-    return false;
-  }
-  catch(e)
-  {
-    return e instanceof SyntaxError;
-  }
- }
+  eval("({set foo(x){}, foo : 1});");
+  return true;
+}
 runTestCase(testcase);
diff --git a/test/language/expressions/object/11.1.5_4-4-d-1.js b/test/language/expressions/object/11.1.5_4-4-d-1.js
index 2d3a2b619cb2b59a5f9b95b5ea49abbe99cb141e..7f158f64e6a0f95e41b8be60c21f9495bad5cadf 100644
--- a/test/language/expressions/object/11.1.5_4-4-d-1.js
+++ b/test/language/expressions/object/11.1.5_4-4-d-1.js
@@ -5,26 +5,13 @@
 // copyright and this notice and otherwise comply with the Use Terms.
 
 /*---
-info: >
-    Refer 11.1.5; 
-    The production
-    PropertyNameAndValueList :  PropertyNameAndValueList , PropertyAssignment
-    4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true
-    d.	IsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields
 es5id: 11.1.5_4-4-d-1
-description: Object literal - SyntaxError for duplicate property name (get,get)
+description: Object literal - No SyntaxError for duplicate property name (get,get)
 includes: [runTestCase.js]
 ---*/
 
 function testcase() {
-  try
-  {
-    eval("({get foo(){}, get foo(){}});");
-    return false;
-  }
-  catch(e)
-  {
-    return e instanceof SyntaxError;
-  }
- }
+  eval("({get foo(){}, get foo(){}});");
+  return true;
+}
 runTestCase(testcase);
diff --git a/test/language/expressions/object/11.1.5_4-4-d-2.js b/test/language/expressions/object/11.1.5_4-4-d-2.js
index 05b31725dace6bed71e3412f567b2b11a1f2ed60..42974b62a1ad5f11e0b988895dc364dc00bc7309 100644
--- a/test/language/expressions/object/11.1.5_4-4-d-2.js
+++ b/test/language/expressions/object/11.1.5_4-4-d-2.js
@@ -5,26 +5,13 @@
 // copyright and this notice and otherwise comply with the Use Terms.
 
 /*---
-info: >
-    Refer 11.1.5; 
-    The production
-    PropertyNameAndValueList :  PropertyNameAndValueList , PropertyAssignment
-    4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true
-    d.	IsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields
 es5id: 11.1.5_4-4-d-2
-description: Object literal - SyntaxError for duplicate property name (set,set)
+description: Object literal - No SyntaxError for duplicate property name (set,set)
 includes: [runTestCase.js]
 ---*/
 
 function testcase() {
-  try
-  {
-    eval("({set foo(arg){}, set foo(arg1){}});");
-    return false;
-  }
-  catch(e)
-  {
-    return e instanceof SyntaxError;
-  }
- }
+  eval("({set foo(arg){}, set foo(arg1){}});");
+  return true;
+}
 runTestCase(testcase);
diff --git a/test/language/expressions/object/11.1.5_4-4-d-3.js b/test/language/expressions/object/11.1.5_4-4-d-3.js
index c289c38f0346ac2dadbb1ab3535f799cb9052dd0..be4b01a73e8bc0deab2a0858dad8ee535a939436 100644
--- a/test/language/expressions/object/11.1.5_4-4-d-3.js
+++ b/test/language/expressions/object/11.1.5_4-4-d-3.js
@@ -5,28 +5,15 @@
 // copyright and this notice and otherwise comply with the Use Terms.
 
 /*---
-info: >
-    Refer 11.1.5; 
-    The production
-    PropertyNameAndValueList :  PropertyNameAndValueList , PropertyAssignment
-    4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true
-    d.	IsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields
 es5id: 11.1.5_4-4-d-3
 description: >
-    Object literal - SyntaxError for duplicate property name
+    Object literal - No SyntaxError for duplicate property name
     (get,set,get)
 includes: [runTestCase.js]
 ---*/
 
 function testcase() {
-  try
-  {
-    eval("({get foo(){}, set foo(arg){}, get foo(){}});");
-    return false;
-  }
-  catch(e)
-  {
-    return e instanceof SyntaxError;
-  }
- }
+  eval("({get foo(){}, set foo(arg){}, get foo(){}});");
+  return true;
+}
 runTestCase(testcase);
diff --git a/test/language/expressions/object/11.1.5_4-4-d-4.js b/test/language/expressions/object/11.1.5_4-4-d-4.js
index ef9c8c7468096af0d6cb6a13deb0825e9cac35a6..80e9b234e3ce7c56f36e695facbc3ad2fc17b178 100644
--- a/test/language/expressions/object/11.1.5_4-4-d-4.js
+++ b/test/language/expressions/object/11.1.5_4-4-d-4.js
@@ -5,28 +5,15 @@
 // copyright and this notice and otherwise comply with the Use Terms.
 
 /*---
-info: >
-    Refer 11.1.5; 
-    The production
-    PropertyNameAndValueList :  PropertyNameAndValueList , PropertyAssignment
-    4. If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true
-    d.	IsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true and either both previous and propId.descriptor have [[Get]] fields or both previous and propId.descriptor have [[Set]] fields
 es5id: 11.1.5_4-4-d-4
 description: >
-    Object literal - SyntaxError for duplicate property name
+    Object literal - No SyntaxError for duplicate property name
     (set,get,set)
 includes: [runTestCase.js]
 ---*/
 
 function testcase() {
-  try
-  {
-    eval("({set foo(arg){}, get foo(){}, set foo(arg1){}});");
-    return false;
-  }
-  catch(e)
-  {
-    return e instanceof SyntaxError;
-  }
- }
+  eval("({set foo(arg){}, get foo(){}, set foo(arg1){}});");
+  return true;
+}
 runTestCase(testcase);