From 02e7fb9cfa922ffb0f02a026148c516c735b035c Mon Sep 17 00:00:00 2001
From: Mark Miller <erights@gmail.com>
Date: Thu, 23 Jun 2011 15:53:59 -0700
Subject: [PATCH] Updating Google's contribution to r95 of Sputnik tests.

---
 .../contributions/Google/sputniktests/AUTHORS |  3 ++-
 .../contributions/Google/sputniktests/LICENSE |  2 +-
 .../S7.5.3_A1.1.js                            |  7 +++----
 .../S7.5.3_A1.12.js                           |  7 +++----
 .../S7.5.3_A1.13.js                           |  5 ++---
 .../S7.5.3_A1.14.js                           |  7 +++----
 .../S7.5.3_A1.15.js                           | 11 ++++++----
 .../S7.5.3_A1.15ns.js                         | 13 ++++++++++++
 .../S7.5.3_A1.17.js                           |  5 ++---
 .../S7.5.3_A1.18.js                           |  9 ++++++---
 .../S7.5.3_A1.18ns.js                         | 13 ++++++++++++
 .../S7.5.3_A1.19.js                           |  7 +++----
 .../S7.5.3_A1.2.js                            |  7 +++----
 .../S7.5.3_A1.20.js                           |  7 +++----
 .../S7.5.3_A1.21.js                           |  8 +++++---
 .../S7.5.3_A1.21ns.js                         | 13 ++++++++++++
 .../S7.5.3_A1.22.js                           |  8 +++++---
 .../S7.5.3_A1.22ns.js                         | 13 ++++++++++++
 .../S7.5.3_A1.23.js                           |  9 ++++++---
 .../S7.5.3_A1.23ns.js                         | 13 ++++++++++++
 .../S7.5.3_A1.24.js                           |  8 +++++---
 .../S7.5.3_A1.24ns.js                         | 13 ++++++++++++
 .../S7.5.3_A1.25.js                           |  7 +++----
 .../S7.5.3_A1.26.js                           |  6 ++++--
 .../S7.5.3_A1.26ns.js                         | 13 ++++++++++++
 .../S7.5.3_A1.28.js                           |  5 ++---
 .../S7.5.3_A1.29.js                           |  5 ++---
 .../S7.5.3_A1.3.js                            |  7 +++----
 .../S7.5.3_A1.30.js                           |  7 +++----
 .../S7.5.3_A1.31.js                           |  7 +++----
 .../S7.5.3_A1.4.js                            |  7 +++----
 .../S7.5.3_A1.8.js                            |  7 +++----
 .../S15.2.4.2_A12.js                          | 12 +++++++++++
 .../S15.2.4.2_A13.js                          | 12 +++++++++++
 .../S15.2.4.2_A14.js                          | 14 +++++++++++++
 .../S15.2.4.2_A15.js                          | 14 +++++++++++++
 .../S15.2.4.2_A16.js                          | 14 +++++++++++++
 .../S15.2.4.3_A12.js                          | 12 +++++++++++
 .../S15.2.4.3_A13.js                          | 12 +++++++++++
 .../S15.2.4.4_A12.js                          | 12 +++++++++++
 .../S15.2.4.4_A13.js                          | 12 +++++++++++
 .../S15.2.4.5_A12.js                          | 12 +++++++++++
 .../S15.2.4.5_A13.js                          | 12 +++++++++++
 .../S15.2.4.6_A12.js                          | 12 +++++++++++
 .../S15.2.4.6_A13.js                          | 12 +++++++++++
 .../S15.2.4.7_A12.js                          | 12 +++++++++++
 .../S15.2.4.7_A13.js                          | 12 +++++++++++
 .../S15.3.4_A1.js                             | 14 ++++++-------
 .../S15.3.4_A3_T1.js                          | 20 ++++++++-----------
 .../S15.3.5.1_A1_T1.js                        |  4 +++-
 .../S15.3.5_A1_T1.js                          | 13 ++++--------
 .../S15.3.5_A1_T2.js                          | 12 ++++-------
 .../S15.4.4_A1.1_T2.js                        | 14 ++++++-------
 53 files changed, 393 insertions(+), 129 deletions(-)
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15ns.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18ns.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21ns.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22ns.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23ns.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24ns.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26ns.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A12.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A13.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A14.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A15.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A16.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A12.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A13.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A12.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A13.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A12.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A13.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A12.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A13.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A12.js
 create mode 100644 external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A13.js

diff --git a/external/contributions/Google/sputniktests/AUTHORS b/external/contributions/Google/sputniktests/AUTHORS
index ee60971666..13129a0fc0 100644
--- a/external/contributions/Google/sputniktests/AUTHORS
+++ b/external/contributions/Google/sputniktests/AUTHORS
@@ -5,5 +5,6 @@
 
 Google Inc.
 
-outofhanwell
+outofhanwell <outofhanwell@gmail.com>
+Pedro Del Gallego <pedro.delgallego@gmail.com>
 
diff --git a/external/contributions/Google/sputniktests/LICENSE b/external/contributions/Google/sputniktests/LICENSE
index eaebd2da68..9718525448 100644
--- a/external/contributions/Google/sputniktests/LICENSE
+++ b/external/contributions/Google/sputniktests/LICENSE
@@ -1,4 +1,4 @@
-Copyright 2009, Google Inc. All rights reserved.
+Copyright 2009, the Sputnik authors. All rights reserved.
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are
 met:
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.1.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.1.js
index c1f8c70f57..d37ca0f535 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.1.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.1.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.1;
  * @section: 7.5.3;
- * @assertion: The "abstract" token can not be used as identifier;
- * @description: Checking if execution of "abstract=1" fails;  
- * @negative
-*/
+ * @assertion: The "abstract" token can be used as identifier;
+ * @description: Checking if execution of "abstract=1" succeeds;
+ */
 
 abstract = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.12.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.12.js
index 5ec2b91bf5..2fbba1c645 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.12.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.12.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.12;
  * @section: 7.5.3;
- * @assertion: The "final" token can not be used as identifier;
- * @description: Checking if execution of "final=1" fails;  
- * @negative
-*/
+ * @assertion: The "final" token can be used as identifier;
+ * @description: Checking if execution of "final=1" succeeds;
+ */
 
 final = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.13.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.13.js
index 6b5f8fa0a2..9e436929a0 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.13.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.13.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.13;
  * @section: 7.5.3;
- * @assertion: The "float" token can not be used as identifier;
- * @description: Checking if execution of "float=1" fails;  
- * @negative
+ * @assertion: The "float" token can be used as identifier;
+ * @description: Checking if execution of "float=1" succeeds;
 */
 
 float = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.14.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.14.js
index 3858d50bd2..6399276b5f 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.14.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.14.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.14;
  * @section: 7.5.3;
- * @assertion: The "goto" token can not be used as identifier;
- * @description: Checking if execution of "goto=1" fails;  
- * @negative
-*/
+ * @assertion: The "goto" token can be used as identifier;
+ * @description: Checking if execution of "goto=1" succeeds;
+ */
 
 goto = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15.js
index 4f96e7f881..be59187b7d 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15.js
@@ -4,9 +4,12 @@
 /**
  * @name: S7.5.3_A1.15;
  * @section: 7.5.3;
- * @assertion: The "implements" token can not be used as identifier;
- * @description: Checking if execution of "implements=1" fails;  
+ * @assertion: The "implements" token can not be used as identifier in
+ *             strict code;
+ * @description: Checking if execution of "implements=1" fails in
+ *               strict code;
  * @negative
-*/
+ */
 
-implements = 1;
+"use strict";
+implements = 1;
\ No newline at end of file
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15ns.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15ns.js
new file mode 100644
index 0000000000..939f3fbf12
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15ns.js
@@ -0,0 +1,13 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.15;
+ * @section: 7.5.3;
+ * @assertion: The "implements" token can be used as identifier in
+ *             non-strict code;
+ * @description: Checking if execution of "implements=1" succeeds in
+ *               non-strict code;
+ */
+
+new Function('implements = 1');
\ No newline at end of file
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.17.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.17.js
index 926f312182..5e7e72bdea 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.17.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.17.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.17;
  * @section: 7.5.3;
- * @assertion: The "int" token can not be used as identifier;  
- * @description: Checking if execution of "int=1" fails;
- * @negative
+ * @assertion: The "int" token can be used as identifier;
+ * @description: Checking if execution of "int=1" succeeds;
 */
 
 int = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18.js
index 3aa60424fd..1ce3a1b13c 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18.js
@@ -4,9 +4,12 @@
 /**
  * @name: S7.5.3_A1.18;
  * @section: 7.5.3;
- * @assertion: The "interface" token can not be used as identifier;  
- * @description: Checking if execution of "interface = 1" fails;
+ * @assertion: The "interface" token can not be used as identifier in
+ *             strict code;
+ * @description: Checking if execution of "interface = 1" fails in
+ *               strict code;
  * @negative
-*/
+ */
 
+"use strict";
 interface = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18ns.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18ns.js
new file mode 100644
index 0000000000..787e656467
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18ns.js
@@ -0,0 +1,13 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.18;
+ * @section: 7.5.3;
+ * @assertion: The "interface" token can be used as identifier in
+ *             non-strict code;
+ * @description: Checking if execution of "interface = 1" succeeds in
+ *               strict code;
+ */
+
+new Function('interface = 1');
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.19.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.19.js
index 3270d4f9b4..1667d3905c 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.19.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.19.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.19;
  * @section: 7.5.3;
- * @assertion: The "long" token can not be used as identifier;
- * @description: Checking if execution of "long=1" fails;  
- * @negative
-*/
+ * @assertion: The "long" token can be used as identifier;
+ * @description: Checking if execution of "long=1" succeeds;
+ */
 
 long = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.2.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.2.js
index 5e613d3ac2..76c3c81c2c 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.2.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.2.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.2;
  * @section: 7.5.3;
- * @assertion: The "boolean" token can not be used as identifier;
- * @description: Checking if execution of "boolean=1" fails;  
- * @negative
-*/
+ * @assertion: The "boolean" token can be used as identifier;
+ * @description: Checking if execution of "boolean=1" succeeds;
+ */
 
 boolean = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.20.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.20.js
index 09372fd5d8..979fff751e 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.20.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.20.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.20;
  * @section: 7.5.3;
- * @assertion: The "native" token can not be used as identifier;
- * @description: Checking if execution of "native=1" fails;  
- * @negative
-*/
+ * @assertion: The "native" token can be used as identifier;
+ * @description: Checking if execution of "native=1" succeeds;
+ */
 
 native = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21.js
index 16ddd18c3c..05e0223eef 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21.js
@@ -4,9 +4,11 @@
 /**
  * @name: S7.5.3_A1.21;
  * @section: 7.5.3;
- * @assertion: The "package" token can not be used as identifier;
- * @description: Checking if execution of "package=1" fails;  
+ * @assertion: The "package" token can not be used as identifier in
+ *             strict code;
+ * @description: Checking if execution of "package=1" fails in strict code;
  * @negative
-*/
+ */
 
+"use strict";
 package = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21ns.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21ns.js
new file mode 100644
index 0000000000..65cbd93632
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21ns.js
@@ -0,0 +1,13 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.21;
+ * @section: 7.5.3;
+ * @assertion: The "package" token can be used as identifier in
+ *             non-strict code;
+ * @description: Checking if execution of "package=1" succeeds in
+ *               non-strict code;
+ */
+
+new Function('package = 1');
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22.js
index ce9555e898..96441b0b37 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22.js
@@ -4,9 +4,11 @@
 /**
  * @name: S7.5.3_A1.22;
  * @section: 7.5.3;
- * @assertion: The "private" token can not be used as identifier;
- * @description: Checking if execution of "private=1" fails;  
+ * @assertion: The "private" token can not be used as identifier in
+ *             strict code;
+ * @description: Checking if execution of "private=1" fails in strict code;
  * @negative
-*/
+ */
 
+"use strict";
 private = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22ns.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22ns.js
new file mode 100644
index 0000000000..e8b1040def
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22ns.js
@@ -0,0 +1,13 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.22;
+ * @section: 7.5.3;
+ * @assertion: The "private" token can be used as identifier in
+ *             non-strict code;
+ * @description: Checking if execution of "private=1" succeeds in
+ *               non-strict code;
+ */
+
+new Function('private = 1');
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23.js
index 9d5cdedcf6..fb272f7bcb 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23.js
@@ -4,9 +4,12 @@
 /**
  * @name: S7.5.3_A1.23;
  * @section: 7.5.3;
- * @assertion: The "protected" token can not be used as identifier;
- * @description: Checking if execution of "protected=1" fails;  
+ * @assertion: The "protected" token can not be used as identifier in
+ *             strict code;
+ * @description: Checking if execution of "protected=1" fails in
+ * strict code;
  * @negative
-*/
+ */
 
+"use strict";
 protected = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23ns.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23ns.js
new file mode 100644
index 0000000000..19bc9f963d
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23ns.js
@@ -0,0 +1,13 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.23;
+ * @section: 7.5.3;
+ * @assertion: The "protected" token can be used as identifier in
+ *             non-strict code;
+ * @description: Checking if execution of "protected=1" succeeds in
+ *               non-strict code;
+ */
+
+new Function('protected = 1');
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24.js
index 3947a856e9..ff34269494 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24.js
@@ -4,9 +4,11 @@
 /**
  * @name: S7.5.3_A1.24;
  * @section: 7.5.3;
- * @assertion: The "public" token can not be used as identifier;
- * @description: Checking if execution of "public=1" fails;  
+ * @assertion: The "public" token can not be used as identifier in
+ *             strict code;
+ * @description: Checking if execution of "public=1" fails in strict code;
  * @negative
-*/
+ */
 
+"use strict";
 public = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24ns.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24ns.js
new file mode 100644
index 0000000000..cd4b780b52
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24ns.js
@@ -0,0 +1,13 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.24;
+ * @section: 7.5.3;
+ * @assertion: The "public" token can be used as identifier in
+ *             non-strict code;
+ * @description: Checking if execution of "public=1" succeeds in
+ *               non-strict code;
+ */
+
+new Function('public = 1');
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.25.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.25.js
index 3ebe35a0ad..10218efbcb 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.25.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.25.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.25;
  * @section: 7.5.3;
- * @assertion: The "short" token can not be used as identifier;
- * @description: Checking if execution of "short=1" fails;  
- * @negative
-*/
+ * @assertion: The "short" token can be used as identifier;
+ * @description: Checking if execution of "short=1" succeeds;
+ */
 
 short = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26.js
index b1013c0f90..a26ad6d7f9 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26.js
@@ -4,9 +4,11 @@
 /**
  * @name: S7.5.3_A1.26;
  * @section: 7.5.3;
- * @assertion: The "static" token can not be used as identifier;
- * @description: Checking if execution of "static=1" fails;  
+ * @assertion: The "static" token can not be used as identifier in
+ *             strict code;
+ * @description: Checking if execution of "static=1" fails in strict code;
  * @negative
 */
 
+"use strict";
 static = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26ns.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26ns.js
new file mode 100644
index 0000000000..9d47c76d70
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26ns.js
@@ -0,0 +1,13 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.26;
+ * @section: 7.5.3;
+ * @assertion: The "static" token can be used as identifier in
+ *             non-strict code;
+ * @description: Checking if execution of "static=1" succeeds in
+ *               non-strict code;
+ */
+
+new Function('static = 1');
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.28.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.28.js
index b2b6a9833d..d70f857abf 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.28.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.28.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.28;
  * @section: 7.5.3;
- * @assertion: The "synchronized" token can not be used as identifier;
- * @description: Checking if execution of "synchronized=1" fails;  
- * @negative
+ * @assertion: The "synchronized" token can be used as identifier;
+ * @description: Checking if execution of "synchronized=1" succeeds;
 */
 
 synchronized = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.29.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.29.js
index 88a9574123..6aa1b70e4d 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.29.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.29.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.29;
  * @section: 7.5.3;
- * @assertion: The "throws" token can not be used as identifier;
- * @description: Checking if execution of "throws=1" fails;  
- * @negative
+ * @assertion: The "throws" token can be used as identifier;
+ * @description: Checking if execution of "throws=1" succeeds;
 */
 
 throws = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.3.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.3.js
index 7b2f84c4d0..5d17b3639f 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.3.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.3.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.3;
  * @section: 7.5.3;
- * @assertion: The "byte" token can not be used as identifier;
- * @description: Checking if execution of "byte=1" fails;  
- * @negative
-*/
+ * @assertion: The "byte" token can be used as identifier;
+ * @description: Checking if execution of "byte=1" succeeds;
+ */
 
 byte = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.30.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.30.js
index 6d931c83b8..23d1e296f5 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.30.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.30.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.30;
  * @section: 7.5.3;
- * @assertion: The "transient" token can not be used as identifier;
- * @description: Checking if execution of "transient=1" fails;  
- * @negative
-*/
+ * @assertion: The "transient" token can be used as identifier;
+ * @description: Checking if execution of "transient=1" succeeds;
+ */
 
 transient = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.31.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.31.js
index 91fbeedcd3..67fcbc7228 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.31.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.31.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.31;
  * @section: 7.5.3;
- * @assertion: The "volatile" token can not be used as identifier;
- * @description: Checking if execution of "volatile=1" fails;  
- * @negative
-*/
+ * @assertion: The "volatile" token can be used as identifier;
+ * @description: Checking if execution of "volatile=1" succeeds;
+ */
 
 volatile = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.4.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.4.js
index 0cecea07c9..589c6b5533 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.4.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.4.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.4;
  * @section: 7.5.3;
- * @assertion: The "char" token can not be used as identifier;
- * @description: Checking if execution of "char=1" fails;  
- * @negative
-*/
+ * @assertion: The "char" token can be used as identifier;
+ * @description: Checking if execution of "char=1" succeeds;
+ */
 
 char = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.8.js b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.8.js
index c27966f9f6..40e509a3e7 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.8.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.8.js
@@ -4,9 +4,8 @@
 /**
  * @name: S7.5.3_A1.8;
  * @section: 7.5.3;
- * @assertion: The "double" token can not be used as identifier;
- * @description: Checking if execution of "double=1" fails;  
- * @negative
-*/
+ * @assertion: The "double" token can be used as identifier;
+ * @description: Checking if execution of "double=1" succeeds;
+ */
 
 double = 1;
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A12.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A12.js
new file mode 100644
index 0000000000..466ae756a2
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A12.js
@@ -0,0 +1,12 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.2.4.2_A12;
+* @section: 15.2.4.2;
+* @assertion: If the this value is undefined, return "[object Undefined]".
+*/
+
+if (Object.prototype.toString.call(undefined) !== "[object Undefined]") {
+  $ERROR('If the this value is undefined, return "[object Undefined]".');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A13.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A13.js
new file mode 100644
index 0000000000..f095a629bc
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A13.js
@@ -0,0 +1,12 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.2.4.2_A13;
+* @section: 15.2.4.2;
+* @assertion: If the this value is null, return "[object Null]".
+*/
+
+if (Object.prototype.toString.call(null) !== "[object Null]") {
+  $ERROR('If the this value is null, return "[object Null]".');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A14.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A14.js
new file mode 100644
index 0000000000..0ac2023ee3
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A14.js
@@ -0,0 +1,14 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.2.4.2_A14;
+* @section: 15.2.4.2;
+* @assertion: Let O be the result of calling ToObject passing the this
+*             value as the argument.
+*/
+
+if (Object.prototype.toString.call(33) !== "[object Number]") {
+  $ERROR('Let O be the result of calling ToObject passing the this ' +
+         'value as the argument.');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A15.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A15.js
new file mode 100644
index 0000000000..2bcdb6bb91
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A15.js
@@ -0,0 +1,14 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.2.4.2_A15;
+* @section: 15.2.4.2;
+* @assertion: Let O be the result of calling ToObject passing the this
+*             value as the argument.
+*/
+
+if (Object.prototype.toString.call(true) !== "[object Boolean]") {
+  $ERROR('Let O be the result of calling ToObject passing the this ' +
+         'value as the argument.');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A16.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A16.js
new file mode 100644
index 0000000000..30e0ab548e
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.2_Object.prototype.toString/S15.2.4.2_A16.js
@@ -0,0 +1,14 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.2.4.2_A16;
+* @section: 15.2.4.2;
+* @assertion: Let O be the result of calling ToObject passing the this
+*             value as the argument.
+*/
+
+if (Object.prototype.toString.call('foo') !== "[object String]") {
+  $ERROR('Let O be the result of calling ToObject passing the this ' +
+         'value as the argument.');
+}
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A12.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A12.js
new file mode 100644
index 0000000000..bf78b1aa4c
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A12.js
@@ -0,0 +1,12 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.2.4.3_A12;
+* @section: 15.2.4.3;
+* @assertion: Let O be the result of calling ToObject passing the this
+*             value as the argument.
+* @negative
+*/
+
+Object.prototype.toLocaleString.call(undefined);
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A13.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A13.js
new file mode 100644
index 0000000000..8bc052aaad
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A13.js
@@ -0,0 +1,12 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.2.4.3_A13;
+* @section: 15.2.4.3;
+* @assertion: Let O be the result of calling ToObject passing the this
+*             value as the argument.
+* @negative
+*/
+
+Object.prototype.toLocaleString.call(null);
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A12.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A12.js
new file mode 100644
index 0000000000..41f87fbd7f
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A12.js
@@ -0,0 +1,12 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.2.4.4_A12;
+* @section: 15.2.4.4;
+* @assertion: Let O be the result of calling ToObject passing the this
+*             value as the argument.
+* @negative
+*/
+
+Object.prototype.toLocaleString.call(undefined);
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A13.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A13.js
new file mode 100644
index 0000000000..fceb7609fd
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A13.js
@@ -0,0 +1,12 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.2.4.4_A13;
+* @section: 15.2.4.4;
+* @assertion: Let O be the result of calling ToObject passing the this
+*             value as the argument.
+* @negative
+*/
+
+Object.prototype.toLocaleString.call(null);
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A12.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A12.js
new file mode 100644
index 0000000000..3211141503
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A12.js
@@ -0,0 +1,12 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.2.4.5_A12;
+* @section: 15.2.4.5;
+* @assertion: Let O be the result of calling ToObject passing the this
+*             value as the argument.
+* @negative
+*/
+
+Object.prototype.hasOwnProperty.call(undefined, 'foo');
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A13.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A13.js
new file mode 100644
index 0000000000..42a8861c0e
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A13.js
@@ -0,0 +1,12 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.2.4.5_A13;
+* @section: 15.2.4.5;
+* @assertion: Let O be the result of calling ToObject passing the this
+*             value as the argument.
+* @negative
+*/
+
+Object.prototype.hasOwnProperty.call(null, 'foo');
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A12.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A12.js
new file mode 100644
index 0000000000..8572d61fa3
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A12.js
@@ -0,0 +1,12 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.2.4.6_A12;
+* @section: 15.2.4.6;
+* @assertion: Let O be the result of calling ToObject passing the this
+*             value as the argument.
+* @negative
+*/
+
+Object.prototype.isPrototypeOf.call(undefined, {});
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A13.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A13.js
new file mode 100644
index 0000000000..d12da2aaa9
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A13.js
@@ -0,0 +1,12 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.2.4.6_A13;
+* @section: 15.2.4.6;
+* @assertion: Let O be the result of calling ToObject passing the this
+*             value as the argument.
+* @negative
+*/
+
+Object.prototype.isPrototypeOf.call(null, {});
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A12.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A12.js
new file mode 100644
index 0000000000..71f73443ee
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A12.js
@@ -0,0 +1,12 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.2.4.7_A12;
+* @section: 15.2.4.7;
+* @assertion: Let O be the result of calling ToObject passing the this
+*             value as the argument.
+* @negative
+*/
+
+Object.prototype.propertyIsEnumerable.call(undefined, 'foo');
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A13.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A13.js
new file mode 100644
index 0000000000..ee855bdd16
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A13.js
@@ -0,0 +1,12 @@
+// Copyright 2011 the Sputnik authors.  All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.2.4.7_A13;
+* @section: 15.2.4.7;
+* @assertion: Let O be the result of calling ToObject passing the this
+*             value as the argument.
+* @negative
+*/
+
+Object.prototype.propertyIsEnumerable.call(null, 'foo');
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js
index 99485b95ad..4f46396488 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js
@@ -4,14 +4,12 @@
 /**
 * @name: S15.3.4_A1;
 * @section: 15.3.4;
-* @assertion: The Function prototype object is itself a Function object (its [[Class]] is "Function");
-* @description: first we delete Function.prototype.toString cause it overrides Object prototype toString. 
-* Object.prototype.toString returns [object+[[class]]+];
+* @assertion: The Function prototype object is itself a Function
+*             object (its [[Class]] is "Function");
+* @description: Object.prototype.toString returns [object+[[Class]]+];
 */
 
-delete Function.prototype.toString;
-
-//CHECK#1
-if (Function.prototype.toString() !== "[object "+"Function"+"]") {
-  $ERROR('#1: The Function prototype object is itself a Function object (its [[Class]] is "Function")');
+if (Object.prototype.toString.call(Function.prototype) !== "[object Function]") {
+  $ERROR('#2: The Function prototype object is itself a Function ' +
+         'object (its [[Class]] is "Function") (15.3.4)');
 }
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js
index dfe8f8000a..423bf92f12 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js
@@ -3,19 +3,15 @@
 
 /**
 * @name: S15.3.4_A3_T1;
-* @section: 15.3.4, 15.3.2.1;
-* @assertion: The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.2.1);
+* @section: 15.3.4;
+* @assertion: The value of the internal [[Prototype]] property of the
+*             Function prototype object is the Object prototype object
+*             (15.3.4);
 * @description: Checking prototype of Function.prototype;
 */
 
-//CHECK#1
-if (!(Object.prototype.isPrototypeOf(Function.prototype))) {
-  $ERROR('#1: The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.2.1)');
-}
-
-delete Function.prototype.toString;
-
-//CHECK#2
-if (Function.prototype.toString() !== "[object "+"Function"+"]") {
-  $ERROR('#2: The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.2.1)');
+if (Object.getPrototypeOf(Function.prototype) !== Object.prototype) {
+  $ERROR('#1: The value of the internal [[Prototype]] property of ' +
+         'the Function prototype object is the Object prototype ' +
+         'object (15.3.4)');
 }
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js
index 1b02ea9a55..9f23a6efce 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js
@@ -4,7 +4,9 @@
 /**
 * @name: S15.3.5.1_A1_T1;
 * @section: 15.3.5.1;
-* @assertion: The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function;
+* @assertion: The value of the length property is usually an integer
+*             that indicates the 'typical' number of arguments
+*             expected by the function;
 * @description: Checking length property of Function("arg1,arg2,arg3", null);
 */
 
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js
index cca1d9eca2..51444367a7 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js
@@ -4,17 +4,12 @@
 /**
 * @name: S15.3.5_A1_T1;
 * @section: 15.3.5;
-* @assertion: The value of the [[Class]] property is "Function" ;
-* @description: We delete Function.prototype.toString method to access Object.prototype.toString method. 
-* For testing use variable f = new Function;
+* @assertion: The value of the [[Class]] property is "Function";
+* @description: For testing use variable f = new Function;
 */
 
-f = new Function;
+var f = new Function;
 
-delete Function.prototype.toString;
-
-//CHECK#1
-if (f.toString() !== "[object "+"Function"+"]") {
+if (Object.prototype.toString.call(f) !== "[object Function]") {
   $ERROR('#1: The value of the [[Class]] property is "Function"');
 }
- 
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js
index eda387dede..893dbc3ae1 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js
@@ -5,16 +5,12 @@
 * @name: S15.3.5_A1_T2;
 * @section: 15.3.5;
 * @assertion: The value of the [[Class]] property is "Function" ;
-* @description: We delete Function.prototype.toString method to access Object.prototype.toString method 
-* For testing use variable f = Function();
+* @description: For testing use variable f = Function();
 */
 
-f = Function();
+var f = Function();
 
-delete Function.prototype.toString;
-
-//CHECK#1
-if (f.toString() !== "[object "+"Function"+"]") {
+if (Object.prototype.toString.call(f) !== "[object Function]") {
   $ERROR('#1: The value of the [[Class]] property is "Function"');
 }
- 
+
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js
index 240c71d7bf..e038e553de 100644
--- a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js
+++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js
@@ -3,15 +3,13 @@
 
 /**
  * @name: S15.4.4_A1.1_T2;
- * @section: 15.4.4, 11.4.1;
- * @assertion: The value of the internal [[Prototype]] property of 
- * the Array prototype object is the Object prototype object;
- * @description: delete Array.prototype.toString;
- * @strict_mode_negative
+ * @section: 15.4.4;
+ * @assertion:The Array prototype object is itself an array; its
+*             [[Class]] is "Array",
 */
 
 //CHECK#1
-delete Array.prototype.toString;
-if (Array.prototype.toString() !== "[object " + "Array" + "]") {
-  $ERROR('#1: delete Array.prototype.toString; var Array.prototype = Object(); Array.prototype.toString() === "[object " + "Array" + "]". Actual: ' + (Array.prototype.toString()));
+if (Object.prototype.toString.call(Array.prototype) !== "[object Array]") {
+  $ERROR('The Array prototype object is itself an array; its' +
+         '[[Class]] is "Array".');
 }
-- 
GitLab