summaryrefslogtreecommitdiff
path: root/test/suite/sputnik
diff options
context:
space:
mode:
authorDavid Fugate <dfugate@microsoft.com>2011-06-27 16:20:31 -0700
committerDavid Fugate <dfugate@microsoft.com>2011-06-27 16:20:31 -0700
commited70f1a7a646d5fee7df05544fe21d635f55fd2f (patch)
treedb6531a69d243b27116394e99bca7c6bc04f01b7 /test/suite/sputnik
parentd4a997996545ba4b7da90d5547b86ccc44d377d0 (diff)
downloadtest262-ed70f1a7a646d5fee7df05544fe21d635f55fd2f.tar.gz
Ported Sputnik changes over from the 'external' directory to 'test/suite/sputnik'. Still need to convert
the tests over to test262 format.
Diffstat (limited to 'test/suite/sputnik')
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.1.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.12.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.13.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.14.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15.js27
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15ns.js13
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.17.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18.js27
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18ns.js13
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.19.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.2.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.20.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21.js26
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21ns.js13
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22.js26
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22ns.js13
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23.js27
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23ns.js13
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24.js26
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24ns.js13
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.25.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26.js26
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26ns.js13
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.28.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.29.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.3.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.30.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.31.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.4.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.8.js23
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.js35
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.js36
-rw-r--r--test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.js35
-rw-r--r--test/suite/sputnik/Conformance/12_Statement/12.10_The_with_Statement/S12.10_A3.3_T4.js116
-rw-r--r--test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A14.js155
-rw-r--r--test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A4.js71
-rw-r--r--test/suite/sputnik/Conformance/12_Statement/12.1_Block/S12.1_A1.js31
-rw-r--r--test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A7.js50
-rw-r--r--test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T1.js36
-rw-r--r--test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T2.js43
-rw-r--r--test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A1.js80
-rw-r--r--test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T1.js32
-rw-r--r--test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T2.js38
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A12.js18
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.12_The_JSON_Object/15.12.2_JSON.parse/S15.12.2_A1.js19
-rw-r--r--test/suite/sputnik/Conformance/15_Native/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.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/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.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/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.js14
-rw-r--r--test/suite/sputnik/Conformance/15_Native/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.js14
-rw-r--r--test/suite/sputnik/Conformance/15_Native/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.js14
-rw-r--r--test/suite/sputnik/Conformance/15_Native/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.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/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.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/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.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/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.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A14.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/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.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/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.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/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.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/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.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/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.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/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.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A10.js46
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A12.js13
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A13.js13
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A14.js13
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A15.js16
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A16.js18
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A1_T1.js36
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A13.js11
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A14.js11
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A15.js11
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A16.js27
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A13.js11
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A14.js11
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A15.js11
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A16.js27
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A1.js15
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A13.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A14.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A15.js12
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A16.js27
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A2.js16
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js32
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js38
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js44
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js35
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js36
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A8.js24
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A1.js11
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A2.js14
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js32
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A12.js23
-rw-r--r--test/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T1.js45
93 files changed, 1508 insertions, 832 deletions
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.1.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.1.js
index 67bf80508..d37ca0f53 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.1.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.1.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-abstract = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.1;
+ * @section: 7.5.3;
+ * @assertion: The "abstract" token can be used as identifier;
+ * @description: Checking if execution of "abstract=1" succeeds;
+ */
+
+abstract = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.12.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.12.js
index 8189b2ed5..2fbba1c64 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.12.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.12.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-final = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.12;
+ * @section: 7.5.3;
+ * @assertion: The "final" token can be used as identifier;
+ * @description: Checking if execution of "final=1" succeeds;
+ */
+
+final = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.13.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.13.js
index 783788d72..9e436929a 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.13.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.13.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-float = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.13;
+ * @section: 7.5.3;
+ * @assertion: The "float" token can be used as identifier;
+ * @description: Checking if execution of "float=1" succeeds;
+*/
+
+float = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.14.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.14.js
index 1163ee477..6399276b5 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.14.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.14.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-goto = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.14;
+ * @section: 7.5.3;
+ * @assertion: The "goto" token can be used as identifier;
+ * @description: Checking if execution of "goto=1" succeeds;
+ */
+
+goto = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15.js
index 2a00baa24..be59187b7 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15.js
@@ -1,12 +1,15 @@
-// Copyright 2009 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 not be used as identifier;
- * @description: Checking if execution of "implements=1" fails;
- * @negative
-*/
-
-implements = 1;
+// Copyright 2009 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 not be used as identifier in
+ * strict code;
+ * @description: Checking if execution of "implements=1" fails in
+ * strict code;
+ * @negative
+ */
+
+"use strict";
+implements = 1; \ No newline at end of file
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15ns.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.15ns.js
new file mode 100644
index 000000000..939f3fbf1
--- /dev/null
+++ b/test/suite/sputnik/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/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.17.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.17.js
index 99bee2c0a..5e7e72bde 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.17.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.17.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-int = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.17;
+ * @section: 7.5.3;
+ * @assertion: The "int" token can be used as identifier;
+ * @description: Checking if execution of "int=1" succeeds;
+*/
+
+int = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18.js
index a490cebc5..1ce3a1b13 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18.js
@@ -1,12 +1,15 @@
-// Copyright 2009 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 not be used as identifier;
- * @description: Checking if execution of "interface = 1" fails;
- * @negative
-*/
-
-interface = 1;
+// Copyright 2009 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 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/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18ns.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.18ns.js
new file mode 100644
index 000000000..787e65646
--- /dev/null
+++ b/test/suite/sputnik/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/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.19.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.19.js
index 68581ac45..1667d3905 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.19.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.19.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-long = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.19;
+ * @section: 7.5.3;
+ * @assertion: The "long" token can be used as identifier;
+ * @description: Checking if execution of "long=1" succeeds;
+ */
+
+long = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.2.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.2.js
index 551cd9f61..76c3c81c2 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.2.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.2.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-boolean = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.2;
+ * @section: 7.5.3;
+ * @assertion: The "boolean" token can be used as identifier;
+ * @description: Checking if execution of "boolean=1" succeeds;
+ */
+
+boolean = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.20.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.20.js
index b116451cc..979fff751 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.20.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.20.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-native = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.20;
+ * @section: 7.5.3;
+ * @assertion: The "native" token can be used as identifier;
+ * @description: Checking if execution of "native=1" succeeds;
+ */
+
+native = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21.js
index 289a066f7..05e0223ee 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21.js
@@ -1,12 +1,14 @@
-// Copyright 2009 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 not be used as identifier;
- * @description: Checking if execution of "package=1" fails;
- * @negative
-*/
-
-package = 1;
+// Copyright 2009 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 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/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21ns.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.21ns.js
new file mode 100644
index 000000000..65cbd9363
--- /dev/null
+++ b/test/suite/sputnik/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/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22.js
index d5eced439..96441b0b3 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22.js
@@ -1,12 +1,14 @@
-// Copyright 2009 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 not be used as identifier;
- * @description: Checking if execution of "private=1" fails;
- * @negative
-*/
-
-private = 1;
+// Copyright 2009 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 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/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22ns.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.22ns.js
new file mode 100644
index 000000000..e8b1040de
--- /dev/null
+++ b/test/suite/sputnik/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/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23.js
index d99fd2476..fb272f7bc 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23.js
@@ -1,12 +1,15 @@
-// Copyright 2009 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 not be used as identifier;
- * @description: Checking if execution of "protected=1" fails;
- * @negative
-*/
-
-protected = 1;
+// Copyright 2009 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 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/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23ns.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.23ns.js
new file mode 100644
index 000000000..19bc9f963
--- /dev/null
+++ b/test/suite/sputnik/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/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24.js
index bc3953b8c..ff3426949 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24.js
@@ -1,12 +1,14 @@
-// Copyright 2009 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 not be used as identifier;
- * @description: Checking if execution of "public=1" fails;
- * @negative
-*/
-
-public = 1;
+// Copyright 2009 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 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/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24ns.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.24ns.js
new file mode 100644
index 000000000..cd4b780b5
--- /dev/null
+++ b/test/suite/sputnik/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/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.25.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.25.js
index 0827f2a57..10218efbc 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.25.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.25.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-short = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.25;
+ * @section: 7.5.3;
+ * @assertion: The "short" token can be used as identifier;
+ * @description: Checking if execution of "short=1" succeeds;
+ */
+
+short = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26.js
index 05c7d1dc5..a26ad6d7f 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26.js
@@ -1,12 +1,14 @@
-// Copyright 2009 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 not be used as identifier;
- * @description: Checking if execution of "static=1" fails;
- * @negative
-*/
-
-static = 1;
+// Copyright 2009 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 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/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26ns.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.26ns.js
new file mode 100644
index 000000000..9d47c76d7
--- /dev/null
+++ b/test/suite/sputnik/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/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.28.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.28.js
index 1025b574d..d70f857ab 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.28.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.28.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-synchronized = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.28;
+ * @section: 7.5.3;
+ * @assertion: The "synchronized" token can be used as identifier;
+ * @description: Checking if execution of "synchronized=1" succeeds;
+*/
+
+synchronized = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.29.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.29.js
index 89d8f8b28..6aa1b70e4 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.29.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.29.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-throws = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.29;
+ * @section: 7.5.3;
+ * @assertion: The "throws" token can be used as identifier;
+ * @description: Checking if execution of "throws=1" succeeds;
+*/
+
+throws = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.3.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.3.js
index d89ffdbbb..5d17b3639 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.3.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.3.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-byte = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.3;
+ * @section: 7.5.3;
+ * @assertion: The "byte" token can be used as identifier;
+ * @description: Checking if execution of "byte=1" succeeds;
+ */
+
+byte = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.30.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.30.js
index 0d726ec79..23d1e296f 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.30.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.30.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-transient = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.30;
+ * @section: 7.5.3;
+ * @assertion: The "transient" token can be used as identifier;
+ * @description: Checking if execution of "transient=1" succeeds;
+ */
+
+transient = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.31.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.31.js
index c16a5ea50..67fcbc722 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.31.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.31.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-volatile = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.31;
+ * @section: 7.5.3;
+ * @assertion: The "volatile" token can be used as identifier;
+ * @description: Checking if execution of "volatile=1" succeeds;
+ */
+
+volatile = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.4.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.4.js
index edbfe20aa..589c6b553 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.4.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.4.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-char = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.4;
+ * @section: 7.5.3;
+ * @assertion: The "char" token can be used as identifier;
+ * @description: Checking if execution of "char=1" succeeds;
+ */
+
+char = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.8.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.8.js
index ab1ef74d7..40e509a3e 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.8.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.8.js
@@ -1,12 +1,11 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-double = 1;
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.5.3_A1.8;
+ * @section: 7.5.3;
+ * @assertion: The "double" token can be used as identifier;
+ * @description: Checking if execution of "double=1" succeeds;
+ */
+
+double = 1;
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.js
index f05423d27..4c112480b 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.js
@@ -1,20 +1,15 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.8.5_A3.1_T7;
- * @section: 7.8.5, 15.10.4.1;
- * @assertion: RegularExpressionFlags :: IdentifierPart;
- * @description: IdentifierPart :: \u0067 (g);
-*/
-
-//CHECK#1
-
-//Test262 Change
-//var regexp = /(?:)/\u0067;
-var regexp;
-eval('regexp = /(?:)/\\u0067;');
-
-if (regexp.global !== true) {
- $ERROR('#1: var regexp = /(?:)/\\u0067; regexp.global === true. Actual: ' + (regexp.global));
-}
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A3.1_T7;
+ * @section: 7.8.5, 15.10.4.1;
+ * @assertion: RegularExpressionFlags :: IdentifierPart;
+ * @description: IdentifierPart :: \u0067 (g);
+*/
+
+//CHECK#1
+var regexp = /(?:)/\u0067;
+if (regexp.global !== true) {
+ $ERROR('#1: var regexp = /(?:)/\\u0067; regexp.global === true. Actual: ' + (regexp.global));
+}
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.js
index b2021e6ad..75d4a72af 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.js
@@ -1,21 +1,15 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.8.5_A3.1_T8;
- * @section: 7.8.5, 15.10.4.1;
- * @assertion: RegularExpressionFlags :: IdentifierPart;
- * @description: IdentifierPart :: \u0069 (i);
-*/
-
-//CHECK#1
-
-//Test262 Change
-//var regexp = /(?:)/\u0069;
-
-var regexp;
-eval('regexp = /(?:)/\\u0069;');
-
-if (regexp.ignoreCase !== true) {
- $ERROR('#1: var regexp = /(?:)/\\u0069; regexp.ignoreCase === true. Actual: ' + (regexp.ignoreCase));
-}
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A3.1_T8;
+ * @section: 7.8.5, 15.10.4.1;
+ * @assertion: RegularExpressionFlags :: IdentifierPart;
+ * @description: IdentifierPart :: \u0069 (i);
+*/
+
+//CHECK#1
+var regexp = /(?:)/\u0069;
+if (regexp.ignoreCase !== true) {
+ $ERROR('#1: var regexp = /(?:)/\\u0069; regexp.ignoreCase === true. Actual: ' + (regexp.ignoreCase));
+}
diff --git a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.js b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.js
index ef3bc4d16..2086e12fe 100644
--- a/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.js
+++ b/test/suite/sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.js
@@ -1,20 +1,15 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S7.8.5_A3.1_T9;
- * @section: 7.8.5, 15.10.4.1;
- * @assertion: RegularExpressionFlags :: IdentifierPart;
- * @description: IdentifierPart :: \u006D (m);
-*/
-
-//CHECK#1
-
-//Test262 Change
-//var regexp = /(?:)/\u006D;
-var regexp;
-eval('regexp = /(?:)/\\u006D;');
-
-if (regexp.multiline !== true) {
- $ERROR('#1: var regexp = /(?:)/\\u006D; regexp.multiline === true. Actual: ' + (regexp.multiline));
-}
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S7.8.5_A3.1_T9;
+ * @section: 7.8.5, 15.10.4.1;
+ * @assertion: RegularExpressionFlags :: IdentifierPart;
+ * @description: IdentifierPart :: \u006D (m);
+*/
+
+//CHECK#1
+var regexp = /(?:)/\u006D;
+if (regexp.multiline !== true) {
+ $ERROR('#1: var regexp = /(?:)/\\u006D; regexp.multiline === true. Actual: ' + (regexp.multiline));
+}
diff --git a/test/suite/sputnik/Conformance/12_Statement/12.10_The_with_Statement/S12.10_A3.3_T4.js b/test/suite/sputnik/Conformance/12_Statement/12.10_The_with_Statement/S12.10_A3.3_T4.js
index 6cb0081c7..9932f9d9b 100644
--- a/test/suite/sputnik/Conformance/12_Statement/12.10_The_with_Statement/S12.10_A3.3_T4.js
+++ b/test/suite/sputnik/Conformance/12_Statement/12.10_The_with_Statement/S12.10_A3.3_T4.js
@@ -1,57 +1,59 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S12.10_A3.3_T4;
- * @section: 12.10;
- * @assertion: No matter how control leaves the embedded 'Statement',
- * the scope chain is always restored to its former state;
- * @description: Declaring "with" statement within a function constructor, leading to completion by exception;
- * @strict_mode_negative
- */
-
-this.p1 = 1;
-
-var result = "result";
-
-var myObj = {
- p1: 'a',
- value: 'myObj_value',
- valueOf : function(){return 'obj_valueOf';}
-}
-
-try {
- function __FACTORY(){
- with(myObj){
- p1 = 'x1';
- throw value;
- }
- }
- var obj = new __FACTORY();
-} catch(e){
- result = p1;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#1
-if(result !== 1){
- $ERROR('#1: result === 1. Actual: result ==='+ result );
-}
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#2
-if(p1 !== 1){
- $ERROR('#2: p1 === 1. Actual: p1 ==='+ p1 );
-}
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#3
-if(myObj.p1 !== "x1"){
- $ERROR('#3: myObj.p1 === "x1". Actual: myObj.p1 ==='+ myObj.p1 );
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S12.10_A3.3_T4;
+ * @section: 12.10;
+ * @assertion: No matter how control leaves the embedded 'Statement',
+ * the scope chain is always restored to its former state;
+ * @description: Declaring "with" statement within a function
+ * constructor, leading to completion by exception;
+ * @strict_mode_negative
+ */
+
+this.p1 = 1;
+
+var result = "result";
+
+var myObj = {
+ p1: 'a',
+ value: 'myObj_value',
+ valueOf : function(){return 'obj_valueOf';}
+};
+
+function __FACTORY(){
+ with(myObj){
+ var p1 = 'x1';
+ throw value;
+ }
+}
+
+try {
+ var obj = new __FACTORY();
+} catch(e){
+ result = p1;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#1
+if (result !== 1) {
+ $ERROR('#1: result === 1. Actual: result ==='+ result );
+}
+//
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#2
+if (p1 !== 1) {
+ $ERROR('#2: p1 === 1. Actual: p1 ==='+ p1 );
+}
+//
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#3
+if (myObj.p1 !== "x1") {
+ $ERROR('#3: myObj.p1 === "x1". Actual: myObj.p1 ==='+ myObj.p1 );
+}
+//
+//////////////////////////////////////////////////////////////////////////////
diff --git a/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A14.js b/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A14.js
index 3207e2d63..d6b9298d4 100644
--- a/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A14.js
+++ b/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A14.js
@@ -1,77 +1,78 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S12.14_A14;
- * @section: 12.14;
- * @assertion: Using "try" with "catch" or "finally" statement within/without a "with" statement;
- * @description: Using try/catch/finally in With and With in try/catch/finally;
- */
-
-var myObj = {p1: 'a',
- p2: 'b',
- p3: 'c',
- value: 'myObj_value',
- valueOf : function(){return 'obj_valueOf';},
- parseInt : function(){return 'obj_parseInt';},
- NaN : 'obj_NaN',
- Infinity : 'obj_Infinity',
- eval : function(){return 'obj_eval';},
- parseFloat : function(){return 'obj_parseFloat';},
- isNaN : function(){return 'obj_isNaN';},
- isFinite : function(){return 'obj_isFinite';}
-}
-
-// CHECK#1
-try{
- with(myObj){
- throw "ex";
- }
-}
-catch(e){
- if (e!=="ex") $ERROR('#1: Exception ==="ex". Actual: Exception ==='+ e );
-}
-
-// CHECK#2
-with(myObj){
- try{
- throw p1;
- }
- catch(e){
- if (e!=="a") $ERROR('#2.1: Exception ==="a". Actual: Exception ==='+ e );
- p1='pass';
- }
-}
-if(myObj.p1!=='pass') $ERROR('#2.2: "throw p1" lead to throwing exception');
-
-// CHECK#3
-with(myObj){
- try{
- p1='fail';
- throw p2;
- }
- catch(e){
- if (e!=="b") $ERROR('#3.1: Exception ==="b". Actual: Exception ==='+ e );
- p1='pass';
- }
- finally{
- p2='pass';
- }
-}
-if(myObj.p1!=='pass') $ERROR('#3.2: "throw p2" lead to throwing exception');
-if(myObj.p2!=='pass') $ERROR('#3.3: "finally" block must be evaluated');
-
-// CHECK#4
-myObj.p1='fail';
-try{
- with(myObj){
- try{
- throw p3;
- }
- finally{
- p1='pass';
- }
- }
-}
-catch(e){}
-if(myObj.p1!=='pass') $ERROR('#4: "finally" block must be evaluated');
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S12.14_A14;
+ * @section: 12.14;
+ * @assertion: Using "try" with "catch" or "finally" statement within/without a "with" statement;
+ * @description: Using try/catch/finally in With and With in try/catch/finally;
+ * @strict_mode_negative SyntaxError;
+ */
+
+var myObj = {p1: 'a',
+ p2: 'b',
+ p3: 'c',
+ value: 'myObj_value',
+ valueOf : function(){return 'obj_valueOf';},
+ parseInt : function(){return 'obj_parseInt';},
+ NaN : 'obj_NaN',
+ Infinity : 'obj_Infinity',
+ eval : function(){return 'obj_eval';},
+ parseFloat : function(){return 'obj_parseFloat';},
+ isNaN : function(){return 'obj_isNaN';},
+ isFinite : function(){return 'obj_isFinite';}
+}
+
+// CHECK#1
+try{
+ with(myObj){
+ throw "ex";
+ }
+}
+catch(e){
+ if (e!=="ex") $ERROR('#1: Exception ==="ex". Actual: Exception ==='+ e );
+}
+
+// CHECK#2
+with(myObj){
+ try{
+ throw p1;
+ }
+ catch(e){
+ if (e!=="a") $ERROR('#2.1: Exception ==="a". Actual: Exception ==='+ e );
+ p1='pass';
+ }
+}
+if(myObj.p1!=='pass') $ERROR('#2.2: "throw p1" lead to throwing exception');
+
+// CHECK#3
+with(myObj){
+ try{
+ p1='fail';
+ throw p2;
+ }
+ catch(e){
+ if (e!=="b") $ERROR('#3.1: Exception ==="b". Actual: Exception ==='+ e );
+ p1='pass';
+ }
+ finally{
+ p2='pass';
+ }
+}
+if(myObj.p1!=='pass') $ERROR('#3.2: "throw p2" lead to throwing exception');
+if(myObj.p2!=='pass') $ERROR('#3.3: "finally" block must be evaluated');
+
+// CHECK#4
+myObj.p1='fail';
+try{
+ with(myObj){
+ try{
+ throw p3;
+ }
+ finally{
+ p1='pass';
+ }
+ }
+}
+catch(e){}
+if(myObj.p1!=='pass') $ERROR('#4: "finally" block must be evaluated');
diff --git a/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A4.js b/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A4.js
index 7f5a06707..e76809232 100644
--- a/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A4.js
+++ b/test/suite/sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A4.js
@@ -1,35 +1,36 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @name: S12.14_A4;
- * @section: 12.14;
- * @assertion: Sanity test for "catch(Indetifier) statement";
- * @description: Checking if deleting an exception fails;
- */
-
-// CHECK#1
-try {
- throw "catchme";
- $ERROR('#1.1: throw "catchme" lead to throwing exception');
-}
-catch (e) {
- if (delete e){
- $ERROR('#1.2: Exception has DontDelete property');
- }
- if (e!=="catchme") {
- $ERROR('#1.3: Exception === "catchme". Actual: Exception ==='+ e );
- }
-}
-
-// CHECK#2
-try {
- throw "catchme";
- $ERROR('#2.1: throw "catchme" lead to throwing exception');
-}
-catch(e){}
-try{
- e;
- $ERROR('#2.2: Deleting catching exception after ending "catch" block');
-}
-catch(err){}
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S12.14_A4;
+ * @section: 12.14;
+ * @assertion: Sanity test for "catch(Indetifier) statement";
+ * @description: Checking if deleting an exception fails;
+ * @strict_mode_negative SyntaxError;
+ */
+
+// CHECK#1
+try {
+ throw "catchme";
+ $ERROR('#1.1: throw "catchme" lead to throwing exception');
+}
+catch (e) {
+ if (delete e){
+ $ERROR('#1.2: Exception has DontDelete property');
+ }
+ if (e!=="catchme") {
+ $ERROR('#1.3: Exception === "catchme". Actual: Exception ==='+ e );
+ }
+}
+
+// CHECK#2
+try {
+ throw "catchme";
+ $ERROR('#2.1: throw "catchme" lead to throwing exception');
+}
+catch(e){}
+try{
+ e;
+ $ERROR('#2.2: Deleting catching exception after ending "catch" block');
+}
+catch(err){}
diff --git a/test/suite/sputnik/Conformance/12_Statement/12.1_Block/S12.1_A1.js b/test/suite/sputnik/Conformance/12_Statement/12.1_Block/S12.1_A1.js
index 2f7a24e34..e9f3f79e2 100644
--- a/test/suite/sputnik/Conformance/12_Statement/12.1_Block/S12.1_A1.js
+++ b/test/suite/sputnik/Conformance/12_Statement/12.1_Block/S12.1_A1.js
@@ -1,13 +1,18 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S12.1_A1;
-* @section: 12.1;
-* @assertion: The production Block { } can't contain function declaration;
-* @description: Trying to declare function at the Block statement;
-* @negative;
-*/
-{
- function __func(){}
-}
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S12.1_A1;
+* @section: 12.1;
+* @assertion: The production Block { } in strict code can't contain
+* function declaration;
+* @description: Trying to declare function at the Block statement;
+* @negative SyntaxError;
+*/
+
+"use strict";
+if (!strict_mode) { throw new SyntaxError('unspecified case'); }
+
+{
+ function __func(){}
+}
diff --git a/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A7.js b/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A7.js
index 4968eb712..7d213f3c6 100644
--- a/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A7.js
+++ b/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A7.js
@@ -1,25 +1,25 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S12.5_A7;
-* @section: 12.5;
-* @assertion: In the "if" statement empty statement is allowed and is evaluated to "undefined";
-* @description: Checking by using eval "eval("if(1);"))";
-*/
-
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#1
-try {
- __evaluated = eval("if(1);");
- if (__evaluated !== undefined) {
- $ERROR('#1: __evaluated === undefined. Actual: __evaluated ==='+ __evaluated );
- }
-
-} catch (e) {
- $ERROR('#1.1: "__evaluated = eval("if(1);")" does not lead to throwing exception');
-
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S12.5_A7;
+* @section: 12.5;
+* @assertion: In the "if" statement empty statement is allowed and is evaluated to "undefined";
+* @description: Checking by using eval "eval("if(1);"))";
+*/
+
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#1
+try {
+ var __evaluated = eval("if(1);");
+ if (__evaluated !== undefined) {
+ $ERROR('#1: __evaluated === undefined. Actual: __evaluated ==='+ __evaluated );
+ }
+
+} catch (e) {
+ $ERROR('#1.1: "__evaluated = eval("if(1);")" does not lead to throwing exception');
+
+}
+//
+//////////////////////////////////////////////////////////////////////////////
diff --git a/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T1.js b/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T1.js
index 3613a982b..498bd3578 100644
--- a/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T1.js
+++ b/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T1.js
@@ -1,16 +1,20 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S12.5_A9_T1;
-* @section: 12.5;
-* @assertion: Function declaration within an "if" statement is not allowed;
-* @description: Declaring function within an "if" statement;
-* @negative;
-*/
-
-if (true) {
- function __func(){};
-} else {
- function __func(){};
-}
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S12.5_A9_T1;
+* @section: 12.5;
+* @assertion: Function declaration within an "if" statement in strict
+* code is not allowed;
+* @description: Declaring function within an "if" statement;
+* @negative SyntaxError;
+*/
+
+"use strict";
+if (!strict_mode) { throw new SyntaxError('unspecified case'); }
+
+if (true) {
+ function __func(){};
+} else {
+ function __func(){};
+}
diff --git a/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T2.js b/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T2.js
index 98c48f805..ae979d8f7 100644
--- a/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T2.js
+++ b/test/suite/sputnik/Conformance/12_Statement/12.5_The_if_Statement/S12.5_A9_T2.js
@@ -1,20 +1,23 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S12.5_A9_T2;
-* @section: 12.5;
-* @assertion: Function declaration within an "if" statement is not allowed;
-* @description: Declaring function within and "if" that is declared within the function call;
-* @negative;
-*/
-
-(function(){
-
-if (true) {
- function __func(){};
-} else {
- function __func(){};
-}
-
-})();
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S12.5_A9_T2;
+* @section: 12.5;
+* @assertion: Function declaration within an "if" statement in strict
+* code is not allowed;
+* @description: Declaring function within an "if" that is declared
+* within the strict function;
+* @negative SyntaxError;
+*/
+
+(function(){
+"use strict";
+
+if (true) {
+ function __func(){};
+} else {
+ function __func(){};
+}
+
+});
diff --git a/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A1.js b/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A1.js
index 1de59767f..e0436e37a 100644
--- a/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A1.js
+++ b/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A1.js
@@ -1,39 +1,41 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S12.6.1_A1;
-* @section: 12.6.1;
-* @assertion: When the production "do Statement while ( Expression )" is evaluated, Statement is evaluated first;
-* @description: Evaluating various Expressions;
-*/
-
-do __in__do=1; while ( false );
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#1
-if (__in__do!==1) {
- $ERROR('#1: false evaluates to false');
-}
-//
-//////////////////////////////////////////////////////////////////////////////
-
-do __in__do=2; while ( 0 );
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#2
-if (__in__do!==2) {
- $ERROR('#2: 0 evaluates to false');
-}
-//
-//////////////////////////////////////////////////////////////////////////////
-
-do __in__do=3; while ( "" );
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#3
-if (__in__do!==3) {
- $ERROR('#3: "" evaluates to false');
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S12.6.1_A1;
+* @section: 12.6.1;
+* @assertion: When the production "do Statement while ( Expression )" is evaluated, Statement is evaluated first;
+* @description: Evaluating various Expressions;
+*/
+
+var __in__do;
+
+do __in__do=1; while ( false );
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#1
+if (__in__do!==1) {
+ $ERROR('#1: false evaluates to false');
+}
+//
+//////////////////////////////////////////////////////////////////////////////
+
+do __in__do=2; while ( 0 );
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#2
+if (__in__do!==2) {
+ $ERROR('#2: 0 evaluates to false');
+}
+//
+//////////////////////////////////////////////////////////////////////////////
+
+do __in__do=3; while ( "" );
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#3
+if (__in__do!==3) {
+ $ERROR('#3: "" evaluates to false');
+}
+//
+//////////////////////////////////////////////////////////////////////////////
diff --git a/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T1.js b/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T1.js
index 9bd30414f..28e118c87 100644
--- a/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T1.js
+++ b/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T1.js
@@ -1,14 +1,18 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S12.6.1_A13_T1;
-* @section: 12.6.1, 13;
-* @assertion: FunctionDeclaration within a "do-while" Block is not allowed;
-* @description: Declaring function within a "do-while" loop;
-* @negative;
-*/
-
-do{
- function __func(){};
-} while(0);
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S12.6.1_A13_T1;
+* @section: 12.6.1, 13;
+* @assertion: FunctionDeclaration within a "do-while" Block in strict
+* code is not allowed;
+* @description: Declaring function within a "do-while" loop;
+* @negative SyntaxError;
+*/
+
+"use strict";
+if (!strict_mode) { throw new SyntaxError('unspecified case'); }
+
+do{
+ function __func(){};
+} while(0);
diff --git a/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T2.js b/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T2.js
index c62321a2e..78cd75881 100644
--- a/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T2.js
+++ b/test/suite/sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.1_The_do_while_Statement/S12.6.1_A13_T2.js
@@ -1,18 +1,20 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S12.6.1_A13_T2;
-* @section: 12.6.1, 13;
-* @assertion: FunctionDeclaration within a "do-while" Block is not allowed;
-* @description: Declaring a function within a "do-while" loop that is within a function call;
-* @negative;
-*/
-
-(function(){
-
-do{
- function __func(){};
-}while(0);
-
-})();
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S12.6.1_A13_T2;
+* @section: 12.6.1, 13;
+* @assertion: FunctionDeclaration within a "do-while" Block in strict
+* code is not allowed;
+* @description: Declaring a function within a "do-while" loop that is
+* within a strict function;
+* @negative SyntaxError;
+*/
+
+(function(){
+"use strict";
+do{
+ function __func(){};
+}while(0);
+
+});
diff --git a/test/suite/sputnik/Conformance/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A12.js b/test/suite/sputnik/Conformance/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A12.js
new file mode 100644
index 000000000..111aedb39
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A12.js
@@ -0,0 +1,18 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.10.6.2_A12;
+* @section: 15.10.6.2;
+* @assertion: regExp exec() acts like regExp.exec('undefined') (step 2);
+* @description: Checking RegExp.prototype.exec.length;
+*/
+
+(/foo/).test('xfoox');
+var match = new RegExp('(.|\r|\n)*','').exec()[0];
+if (match === 'xfoox') {
+ $FAIL('#1: regExp.exec() leaks match globally');
+}
+if (match !== 'undefined') {
+ $FAIL('#2: regExp.exec() must coerce absent first arg to "undefined"');
+}
diff --git a/test/suite/sputnik/Conformance/15_Native/15.12_The_JSON_Object/15.12.2_JSON.parse/S15.12.2_A1.js b/test/suite/sputnik/Conformance/15_Native/15.12_The_JSON_Object/15.12.2_JSON.parse/S15.12.2_A1.js
new file mode 100644
index 000000000..a7b140810
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.12_The_JSON_Object/15.12.2_JSON.parse/S15.12.2_A1.js
@@ -0,0 +1,19 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S15.12.2_A1;
+ * @section: 15.12.2;
+ * @assertion: JSON.parse must create a property with the given
+ * property name;
+ * @description: Tests that JSON.parse treats "__proto__" as a regular
+ * property name;
+ */
+
+var x = JSON.parse('{"__proto__":[]}');
+if (Object.getPrototypeOf(x) !== Object.prototype) {
+ $FAIL('#1: JSON.parse confused by "__proto__"');
+}
+if (!Array.isArray(x.__proto__)) {
+ $FAIL('#2: JSON.parse did not set "__proto__" as a regular property');
+}
diff --git a/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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 000000000..466ae756a
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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 000000000..f095a629b
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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 000000000..0ac2023ee
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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 000000000..2bcdb6bb9
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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 000000000..30e0ab548
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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 000000000..bf78b1aa4
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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 000000000..8bc052aaa
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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 000000000..fa1de95ec
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/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.valueOf.call(undefined);
diff --git a/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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 000000000..5094fed61
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/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.valueOf.call(null);
diff --git a/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A14.js b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A14.js
new file mode 100644
index 000000000..268ae9e87
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.2_Object_Objects/15.2.4_Properties_of_the_Object_Prototype_Object/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A14.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_A14;
+* @section: 15.2.4.4;
+* @assertion: Let O be the result of calling ToObject passing the this
+* value as the argument.
+* @negative
+*/
+
+(1,Object.prototype.valueOf)();
diff --git a/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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 000000000..321114150
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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 000000000..42a8861c0
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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 000000000..8572d61fa
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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 000000000..d12da2aaa
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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 000000000..71f73443e
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/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 000000000..ee855bdd1
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/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/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A10.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A10.js
index 9fc6c9394..f44729e95 100644
--- a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A10.js
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A10.js
@@ -1,23 +1,23 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S15.3.4.2_A10;
-* @section: 15.3.4.2;
-* @assertion: The Function.prototype.toString.length property has the attribute ReadOnly;
-* @description: Checking if varying the Function.prototype.toString.length property fails;
-*/
-
-//CHECK#1
-if (!(Function.prototype.toString.hasOwnProperty('length'))) {
- $FAIL('#1: the Function.prototype.toString has length property.');
-}
-
-obj = Function.prototype.toString.length;
-
-Function.prototype.toString.length = function(){return "shifted";};
-
-//CHECK#2
-if (Function.prototype.toString.length !== obj) {
- $ERROR('#2: the Function.prototype.toString length property has the attributes ReadOnly.');
-}
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.2_A10;
+* @section: 15.3.4.2;
+* @assertion: The Function.prototype.toString.length property has the attribute ReadOnly;
+* @description: Checking if varying the Function.prototype.toString.length property fails;
+*/
+
+//CHECK#1
+if (!(Function.prototype.toString.hasOwnProperty('length'))) {
+ $FAIL('#1: the Function.prototype.toString has length property.');
+}
+
+var obj = Function.prototype.toString.length;
+
+Function.prototype.toString.length = function(){return "shifted";};
+
+//CHECK#2
+if (Function.prototype.toString.length !== obj) {
+ $ERROR('#2: the Function.prototype.toString length property has the attributes ReadOnly.');
+}
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A12.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A12.js
new file mode 100644
index 000000000..6c26bd6a8
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A12.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: S15.3.4.2_A12;
+* @section: 15.3.4.2;
+* @assertion: The Function.prototype.toString function is not generic;
+* it throws a TypeError exception if its this value is not
+* a Function object.
+* @negative TypeError;
+*/
+
+Function.prototype.toString.call(undefined);
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A13.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A13.js
new file mode 100644
index 000000000..32a391302
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A13.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: S15.3.4.2_A13;
+* @section: 15.3.4.2;
+* @assertion: The toString function is not generic; it throws a
+* TypeError exception if its this value is not a Function
+* object.
+* @negative TypeError;
+*/
+
+Function.prototype.toString.call(null);
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A14.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A14.js
new file mode 100644
index 000000000..8ff48e6de
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A14.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: S15.3.4.2_A14;
+* @section: 15.3.4.2;
+* @assertion: The toString function is not generic; it throws a
+* TypeError exception if its this value is not a Function
+* object.
+* @negative TypeError;
+*/
+
+Function.prototype.toString.call({});
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A15.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A15.js
new file mode 100644
index 000000000..4dbd35928
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A15.js
@@ -0,0 +1,16 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.2_A15;
+* @section: 15.3.4.2;
+* @assertion: The toString function is not generic; it throws a
+* TypeError exception if its this value is not a Function
+* object.
+* @description: Whether or not they are callable, RegExp objects are
+* not Function objects, so toString should throw a
+* TypeError.
+* @negative TypeError;
+*/
+
+Function.prototype.toString.call(/x/);
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A16.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A16.js
new file mode 100644
index 000000000..6a51b0cee
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A16.js
@@ -0,0 +1,18 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.2_A16;
+* @section: 15.3.4.2;
+* @assertion: The toString function is not generic; it throws a
+* TypeError exception if its this value is not a Function
+* object.
+* @description: The String constructor, given an object, should invoke
+* that object's toString method as a method, i.e., with
+* its this value bound to that object.
+* @negative TypeError;
+*/
+
+var obj = {toString: Function.prototype.toString};
+
+String(obj);
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A1_T1.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A1_T1.js
index 9e14063d1..7cc0d5bf8 100644
--- a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A1_T1.js
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.2_Function.prototype.toString/S15.3.4.2_A1_T1.js
@@ -1,18 +1,18 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S15.3.4.2_A1_T1;
-* @section: 15.3.4.2;
-* @assertion: An implementation-dependent representation of the function is returned. This representation has the syntax of a FunctionDeclaration;
-* @description: For testing use Function.prototype.toString() function;
-*/
-
-f = function(x) {
- return x*x;
-}
-
-//CHECK#1
-if (eval(f.toString())(10) !== f(10)) {
- $ERROR('#1: An implementation-dependent representation of the function is returned. This representation has the syntax of a FunctionDeclaration');
-}
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.2_A1_T1;
+* @section: 15.3.4.2;
+* @assertion: An implementation-dependent representation of the function is returned. This representation has the syntax of a FunctionDeclaration;
+* @description: For testing use Function.prototype.toString() function;
+*/
+
+var f = function(x) {
+ return x*x;
+};
+
+//CHECK#1
+if (eval(f.toString())(10) !== f(10)) {
+ $ERROR('#1: An implementation-dependent representation of the function is returned. This representation has the syntax of a FunctionDeclaration');
+}
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A13.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A13.js
new file mode 100644
index 000000000..01196f9a0
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A13.js
@@ -0,0 +1,11 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.3_A13;
+* @section: 15.3.4.3;
+* @assertion: If IsCallable(func) is false, then throw a TypeError exception.
+* @negative TypeError;
+*/
+
+Function.prototype.apply.call(undefined, {}, []);
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A14.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A14.js
new file mode 100644
index 000000000..c756e4c41
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A14.js
@@ -0,0 +1,11 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.3_A14;
+* @section: 15.3.4.3;
+* @assertion: If IsCallable(func) is false, then throw a TypeError exception.
+* @negative TypeError;
+*/
+
+Function.prototype.apply.call(null, {}, []);
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A15.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A15.js
new file mode 100644
index 000000000..339d44689
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A15.js
@@ -0,0 +1,11 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.3_A15;
+* @section: 15.3.4.3;
+* @assertion: If IsCallable(func) is false, then throw a TypeError exception.
+* @negative TypeError;
+*/
+
+Function.prototype.apply.call({}, {}, []);
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A16.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A16.js
new file mode 100644
index 000000000..08425ed70
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A16.js
@@ -0,0 +1,27 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.3_A16;
+* @section: 15.3.4.3;
+* @assertion: If IsCallable(func) is false, then throw a TypeError exception.
+* @description: A RegExp is not a function, but it may be
+* callable. Iff it is, it's typeof should be 'function',
+* in which case apply should accept it as a valid this
+* value.
+*/
+
+var re = (/x/);
+if (typeof re === 'function') {
+ Function.prototype.apply.call(re, undefined, ['x']);
+} else {
+ try {
+ Function.prototype.bind.call(re, undefined);
+ $FAIL('#1: If IsCallable(func) is false, ' +
+ 'then (bind should) throw a TypeError exception');
+ } catch (e) {
+ if (!(e instanceof TypeError)) {
+ $ERROR('#1: TypeError expected. Actual: ' + e);
+ }
+ }
+}
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A13.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A13.js
new file mode 100644
index 000000000..6dcf1f960
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A13.js
@@ -0,0 +1,11 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.4_A13;
+* @section: 15.3.4.4;
+* @assertion: If IsCallable(func) is false, then throw a TypeError exception.
+* @negative TypeError;
+*/
+
+Function.prototype.call.call(undefined, {});
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A14.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A14.js
new file mode 100644
index 000000000..88a8ae002
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A14.js
@@ -0,0 +1,11 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.4_A14;
+* @section: 15.3.4.4;
+* @assertion: If IsCallable(func) is false, then throw a TypeError exception.
+* @negative TypeError;
+*/
+
+Function.prototype.call.call(null, {});
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A15.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A15.js
new file mode 100644
index 000000000..d337793eb
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A15.js
@@ -0,0 +1,11 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.4_A15;
+* @section: 15.3.4.4;
+* @assertion: If IsCallable(func) is false, then throw a TypeError exception.
+* @negative TypeError;
+*/
+
+Function.prototype.call.call({}, {});
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A16.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A16.js
new file mode 100644
index 000000000..2333f4ec4
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.4_Function.prototype.call/S15.3.4.4_A16.js
@@ -0,0 +1,27 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.4_A16;
+* @section: 15.3.4.4;
+* @assertion: If IsCallable(func) is false, then throw a TypeError exception.
+* @description: A RegExp is not a function, but it may be
+* callable. Iff it is, it's typeof should be 'function',
+* in which case call should accept it as a valid this
+* value.
+*/
+
+var re = (/x/);
+if (typeof re === 'function') {
+ Function.prototype.call.call(re, undefined, 'x');
+} else {
+ try {
+ Function.prototype.bind.call(re, undefined);
+ $FAIL('#1: If IsCallable(func) is false, ' +
+ 'then (bind should) throw a TypeError exception');
+ } catch (e) {
+ if (!(e instanceof TypeError)) {
+ $ERROR('#1: TypeError expected. Actual: ' + e);
+ }
+ }
+}
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A1.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A1.js
new file mode 100644
index 000000000..c58334ba2
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A1.js
@@ -0,0 +1,15 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.5_A1;
+* @section: 15.3.4.5;
+* @assertion: "caller" of bound function is poisoned (step 20);
+* @description A bound function should fail to find its "caller";
+* @negative TypeError;
+*/
+
+function foo() { return bar.caller; }
+var bar = foo.bind({});
+function baz() { return bar(); }
+baz();
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A13.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A13.js
new file mode 100644
index 000000000..9b677d8cd
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.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.3.4.5_A13;
+* @section: 15.3.4.5;
+* @assertion: If IsCallable(func) is false, then throw a TypeError exception.
+* @negative TypeError;
+*/
+
+Function.prototype.bind.call(undefined, {});
+
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A14.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A14.js
new file mode 100644
index 000000000..f3b209f24
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A14.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.3.4.5_A14;
+* @section: 15.3.4.5;
+* @assertion: If IsCallable(func) is false, then throw a TypeError exception.
+* @negative TypeError;
+*/
+
+Function.prototype.bind.call(null, {});
+
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A15.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A15.js
new file mode 100644
index 000000000..281983a64
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A15.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.3.4.5_A15;
+* @section: 15.3.4.5;
+* @assertion: If IsCallable(func) is false, then throw a TypeError exception.
+* @negative TypeError;
+*/
+
+Function.prototype.bind.call({}, {});
+
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A16.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A16.js
new file mode 100644
index 000000000..c0d57b81a
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A16.js
@@ -0,0 +1,27 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.5_A16;
+* @section: 15.3.4.5;
+* @assertion: If IsCallable(func) is false, then throw a TypeError exception.
+* @description: A RegExp is not a function, but it may be
+* callable. Iff it is, it's typeof should be 'function',
+* in which case bind should accept it as a valid this
+* value.
+*/
+
+var re = (/x/);
+if (typeof re === 'function') {
+ Function.prototype.bind.call(re, undefined);
+} else {
+ try {
+ Function.prototype.bind.call(re, undefined);
+ $FAIL('#1: If IsCallable(func) is false, ' +
+ 'then (bind should) throw a TypeError exception');
+ } catch (e) {
+ if (!(e instanceof TypeError)) {
+ $ERROR('#1: TypeError expected. Actual: ' + e);
+ }
+ }
+}
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A2.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A2.js
new file mode 100644
index 000000000..08e3489a5
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.5_Function.prototype.bind/S15.3.4.5_A2.js
@@ -0,0 +1,16 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.5_A1;
+* @section: 15.3.4.5;
+* @assertion: "arguments" of bound function is poisoned (step 21);
+* @description a bound function should fail to find the bound function
+* "arguments";
+* @negative TypeError;
+*/
+
+function foo() { return bar.arguments; }
+var bar = foo.bind({});
+function baz() { return bar(); }
+baz();
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js
index cfafdb143..4f4639648 100644
--- a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A1.js
@@ -1,17 +1,15 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @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]]+];
-*/
-
-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")');
-}
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4_A1;
+* @section: 15.3.4;
+* @assertion: The Function prototype object is itself a Function
+* object (its [[Class]] is "Function");
+* @description: Object.prototype.toString returns [object+[[Class]]+];
+*/
+
+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/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js
index cde3f50f4..423bf92f1 100644
--- a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/S15.3.4_A3_T1.js
@@ -1,21 +1,17 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @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);
-* @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)');
-}
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4_A3_T1;
+* @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;
+*/
+
+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/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js
index 88efb7e45..9f23a6efc 100644
--- a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5.1_A1_T1.js
@@ -1,21 +1,23 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @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;
-* @description: Checking length property of Function("arg1,arg2,arg3", null);
-*/
-
-f = new Function("arg1,arg2,arg3", null);
-
-//CHECK#1
-if (!(f.hasOwnProperty('length'))) {
- $FAIL('#1: the function has length property.');
-}
-
-//CHECK#2
-if (f.length !== 3) {
- $ERROR('#2: The value of the length property is usually an integer that indicates the "typical" number of arguments expected by the function');
-}
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @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;
+* @description: Checking length property of Function("arg1,arg2,arg3", null);
+*/
+
+f = new Function("arg1,arg2,arg3", null);
+
+//CHECK#1
+if (!(f.hasOwnProperty('length'))) {
+ $FAIL('#1: the function has length property.');
+}
+
+//CHECK#2
+if (f.length !== 3) {
+ $ERROR('#2: The value of the length property is usually an integer that indicates the "typical" number of arguments expected by the function');
+}
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js
index 88a0493d3..51444367a 100644
--- a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T1.js
@@ -1,20 +1,15 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @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;
-*/
-
-f = new Function;
-
-delete Function.prototype.toString;
-
-//CHECK#1
-if (f.toString() !== "[object "+"Function"+"]") {
- $ERROR('#1: The value of the [[Class]] property is "Function"');
-}
-
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.5_A1_T1;
+* @section: 15.3.5;
+* @assertion: The value of the [[Class]] property is "Function";
+* @description: For testing use variable f = new Function;
+*/
+
+var f = new Function;
+
+if (Object.prototype.toString.call(f) !== "[object Function]") {
+ $ERROR('#1: The value of the [[Class]] property is "Function"');
+}
diff --git a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js
index c5165874b..893dbc3ae 100644
--- a/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js
+++ b/test/suite/sputnik/Conformance/15_Native/15.3_Function_Objects/15.3.5_Properties_of_Function_Instances/S15.3.5_A1_T2.js
@@ -1,20 +1,16 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @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();
-*/
-
-f = Function();
-
-delete Function.prototype.toString;
-
-//CHECK#1
-if (f.toString() !== "[object "+"Function"+"]") {
- $ERROR('#1: The value of the [[Class]] property is "Function"');
-}
-
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.5_A1_T2;
+* @section: 15.3.5;
+* @assertion: The value of the [[Class]] property is "Function" ;
+* @description: For testing use variable f = Function();
+*/
+
+var f = Function();
+
+if (Object.prototype.toString.call(f) !== "[object Function]") {
+ $ERROR('#1: The value of the [[Class]] property is "Function"');
+}
+
diff --git a/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A8.js b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A8.js
new file mode 100644
index 000000000..b32842a7b
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.11_Array_prototype_sort/S15.4.4.11_A8.js
@@ -0,0 +1,24 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.4.4.11_A8;
+* @section: 15.4.4.11;
+* @assertion: Call the comparefn passing undefined as the this value
+* (step 13b);
+* @description: comparefn tests that its this value is undefined;
+*/
+
+var global = this;
+[2,3].sort(function(x,y) {
+ "use strict";
+
+ if (this === global) {
+ $FAIL('#1: Sort leaks global');
+ }
+ if (this !== undefined) {
+ $FAIL('#2: Sort comparefn should be called with this===undefined. ' +
+ 'Actual: ' + this);
+ }
+ return x - y;
+});
diff --git a/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A1.js b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A1.js
new file mode 100644
index 000000000..8497a0cdc
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A1.js
@@ -0,0 +1,11 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S15.4.4.18_A1;
+ * @section: 15.4.4.18;
+ * @assertion: array.forEach can be frozen while in progress
+ * @description: Freezes array.forEach during a forEach to see if it works
+*/
+
+['z'].forEach(function(){ Object.freeze(Array.prototype.forEach); });
diff --git a/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A2.js b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A2.js
new file mode 100644
index 000000000..e22dc1fbf
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/15.4.4.18_Array_prototype_forEach/S15.4.4.18_A2.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.4.4.18_A2;
+ * @section: 15.4.4.18;
+ * @assertion: array.forEach can be frozen while in progress
+ * @description: Freezes array.forEach during a forEach to see if it works
+*/
+
+function foo() {
+ ['z'].forEach(function(){ Object.freeze(Array.prototype.forEach); });
+}
+foo();
diff --git a/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js
index 259509ecd..e038e553d 100644
--- a/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js
+++ b/test/suite/sputnik/Conformance/15_Native/15.4_Array_Objects/15.4.4_Properties_of_the_Array_Prototype_Object/S15.4.4_A1.1_T2.js
@@ -1,17 +1,15 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
- * @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
-*/
-
-//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()));
-}
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S15.4.4_A1.1_T2;
+ * @section: 15.4.4;
+ * @assertion:The Array prototype object is itself an array; its
+* [[Class]] is "Array",
+*/
+
+//CHECK#1
+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/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A12.js b/test/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A12.js
new file mode 100644
index 000000000..bfc32db70
--- /dev/null
+++ b/test/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.11_String.prototype.replace/S15.5.4.11_A12.js
@@ -0,0 +1,23 @@
+// Copyright 2011 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.5.4.11_A12;
+* @section: 15.5.4.11;
+* @assertion: Call replaceValue passing undefined as the this value;
+* @description: replaceValue tests that its this value is undefined;
+*/
+
+var global = this;
+'x'.replace(/x/, function() {
+ "use strict";
+
+ if (this === global) {
+ $FAIL('#1: String replace leaks global');
+ }
+ if (this !== undefined) {
+ $FAIL('#2: replaceValue should be called with this===undefined. ' +
+ 'Actual: ' + this);
+ }
+ return 'y';
+});
diff --git a/test/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T1.js b/test/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T1.js
index c36c8847b..36b70ebd2 100644
--- a/test/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T1.js
+++ b/test/suite/sputnik/Conformance/15_Native/15.5_String_Objects/15.5.4_Properties_of_the_String_Prototype_Object/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T1.js
@@ -1,24 +1,21 @@
-// Copyright 2009 the Sputnik authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/**
-* @name: S15.5.4.8_A1_T1;
-* @section: 15.5.4.8;
-* @assertion: String.prototype.lastIndexOf(searchString, position);
-* @description: Arguments are false and true, and instance is object;
-*/
-
-var __instance = new Object(true);
-
-//Test262 Change
-//var __instance.lastIndexOf = String.prototype.lastIndexOf;
-__instance.lastIndexOf = String.prototype.lastIndexOf;
-
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#1
-if (__instance.lastIndexOf(true, false) !== 0) {
- $ERROR('#1: __instance = new Object(true); __instance.lastIndexOf = String.prototype.lastIndexOf; __instance.lastIndexOf(true, false) === 0. Actual: '+__instance.lastIndexOf(true, false) );
-}
-//
-//////////////////////////////////////////////////////////////////////////////
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.5.4.8_A1_T1;
+* @section: 15.5.4.8;
+* @assertion: String.prototype.lastIndexOf(searchString, position);
+* @description: Arguments are false and true, and instance is object;
+*/
+
+var __instance = new Object(true);
+
+var __instance.lastIndexOf = String.prototype.lastIndexOf;
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#1
+if (__instance.lastIndexOf(true, false) !== 0) {
+ $ERROR('#1: __instance = new Object(true); __instance.lastIndexOf = String.prototype.lastIndexOf; __instance.lastIndexOf(true, false) === 0. Actual: '+__instance.lastIndexOf(true, false) );
+}
+//
+//////////////////////////////////////////////////////////////////////////////