From ab5f9c379f8404b9525a1f546bb6acba140f9718 Mon Sep 17 00:00:00 2001
From: David Fugate <dfugate@microsoft.com>
Date: Fri, 13 Jan 2012 11:31:20 -0800
Subject: [PATCH] https://bugs.ecmascript.org/show_bug.cgi?id=23 resolved.

---
 .../15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T3.js     | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T3.js b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T3.js
index 96c30069b2..6eb2ff4b95 100644
--- a/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T3.js
+++ b/test/suite/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T3.js
@@ -8,18 +8,17 @@
  * @description Checking by using eval
  */
 
-var match = String.prototype.match;
+var match = String.prototype.match.bind(fnGlobalObject());
 
-if (typeof toString === "undefined"){
-    toString = Object.prototype.toString;
-}
-
-var __class__ = toString();
+try {
+    fnGlobalObject().toString = Object.prototype.toString;
+} catch (e) { ; }
 
 //////////////////////////////////////////////////////////////////////////////
 //CHECK#1
-if (match(eval("\"bj\""))[0] !== "bj") {
-  $ERROR('#1: match = String.prototype.match; match(eval("\\"bj\\""))[0] === "bj". Actual: '+match(eval("\"bj\""))[0] );
+if ((fnGlobalObject().toString === Object.prototype.toString)  && //Ensure we could overwrite global obj's toString
+    (match(eval("\"bj\""))[0] !== "bj")) {
+  $ERROR('#1: match = String.prototype.match.bind(this); match(eval("\\"bj\\""))[0] === "bj". Actual: '+match(eval("\"bj\""))[0] );
 }
 //
 //////////////////////////////////////////////////////////////////////////////
-- 
GitLab