aboutsummaryrefslogtreecommitdiffstats
path: root/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12')
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-1.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-2.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-3.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-4.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-1.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-5.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-1.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-1.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-2.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-3.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-4.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-5.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-6.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-7.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.2/15.12.2-0-1.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.2/15.12.2-0-2.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.2/15.12.2-0-3.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-0-1.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-0-2.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-0-3.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-1.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-10.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-11.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-12.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-13.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-14.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-15.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-2.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-3.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-4.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-5.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-6.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-7.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-8.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-9.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-4-1.js39
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-5-a-i-1.js37
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-5-b-i-1.js37
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-a-1.js37
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-a-2.js37
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-1.js37
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-2.js37
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-3.js37
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-4.js39
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-7-a-1.js37
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-1.js37
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-2.js37
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-3.js37
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-4.js37
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-5.js37
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-1.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-2.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-3.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-3-a-1.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-3-a-2.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-3-a-3.js36
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_4-1-1.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_4-1-2.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_4-1-3.js42
81 files changed, 3242 insertions, 0 deletions
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-1.js
new file mode 100644
index 000000000..37a3960f0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-1.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+This test should be run without any built-ins being added/augmented.
+The name JSON must be bound to an object.
+4.2 calls out JSON as one of the built-in objects.
+*/
+
+
+ES5Harness.registerTest( {
+id: "15.12-0-1",
+
+path: "TestCases/chapter15/15.12/15.12-0-1.js",
+
+description: "JSON must be a built-in object",
+
+test: function testcase() {
+ var o = JSON;
+ if (typeof(o) === "object") {
+ return true;
+ }
+ },
+
+ precondition: function preq () {
+ return JSON !== undefined;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-2.js
new file mode 100644
index 000000000..8cc03e433
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-2.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+This test should be run without any built-ins being added/augmented.
+The name JSON must be bound to an object, and must not support [[Construct]].
+step 4 in 11.2.2 should throw a TypeError exception.
+*/
+
+
+ES5Harness.registerTest( {
+id: "15.12-0-2",
+
+path: "TestCases/chapter15/15.12/15.12-0-2.js",
+
+description: "JSON must not support the [[Construct]] method",
+
+test: function testcase() {
+ var o = JSON;
+
+ try {
+ var j = new JSON();
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ },
+
+ precondition: function preq () {
+ return JSON !== undefined;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-3.js
new file mode 100644
index 000000000..97a7d6014
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-3.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+This test should be run without any built-ins being added/augmented.
+The name JSON must be bound to an object, and must not support [[Call]].
+step 5 in 11.2.3 should throw a TypeError exception.
+*/
+
+
+ES5Harness.registerTest( {
+id: "15.12-0-3",
+
+path: "TestCases/chapter15/15.12/15.12-0-3.js",
+
+description: "JSON must not support the [[Call]] method",
+
+test: function testcase() {
+ var o = JSON;
+
+ try {
+ var j = JSON();
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ },
+
+ precondition: function preq () {
+ return JSON !== undefined;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-4.js
new file mode 100644
index 000000000..da6ce9e07
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12-0-4.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+This test should be run without any built-ins being added/augmented.
+The last paragraph in section 15 says "every other property described
+in this section has the attribute {... [[Enumerable]] : false ...}
+unless otherwise specified. This default applies to the properties on
+JSON, and we should not be able to enumerate them.
+*/
+
+
+ES5Harness.registerTest( {
+id: "15.12-0-4",
+
+path: "TestCases/chapter15/15.12/15.12-0-4.js",
+
+description: "JSON object's properties must be non enumerable",
+
+test: function testcase() {
+ var o = JSON;
+ var i = 0;
+ for (var p in o) {
+ i++;
+ }
+
+ if (i === 0) {
+ return true;
+ }
+ } ,
+
+ precondition: function preq () {
+ return JSON !== undefined;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js
new file mode 100644
index 000000000..86a02c6f5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-0-1",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-1.js",
+
+description: "The JSON lexical grammar treats whitespace as a token seperator",
+
+test: function testcase() {
+
+ try {
+ JSON.parse('12\t\r\n 34'); // should produce a syntax error as whitespace results in two tokens
+ }
+ catch (e) {
+ if (e.name === 'SyntaxError') return true;
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) && JSON.parse('1234')===1234;
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js
new file mode 100644
index 000000000..1689a18a7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-0-2",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-2.js",
+
+description: "<VT> is not valid JSON whitespace as specified by the production JSONWhitespace.",
+
+test: function testcase() {
+
+ try {
+ JSON.parse('\u000b1234'); // should produce a syntax error
+ }
+ catch (e) {
+ return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) && JSON.parse(' 1234')===1234;
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js
new file mode 100644
index 000000000..2f152c27a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-0-3",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-3.js",
+
+description: "<FF> is not valid JSON whitespace as specified by the production JSONWhitespace.",
+
+test: function testcase() {
+
+ try {
+ JSON.parse('\u000c1234'); // should produce a syntax error
+ }
+ catch (e) {
+ return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) && JSON.parse(' 1234')===1234;
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js
new file mode 100644
index 000000000..77c2f5711
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-0-4",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-4.js",
+
+description: "<NBSP> is not valid JSON whitespace as specified by the production JSONWhitespace.",
+
+test: function testcase() {
+
+ try {
+ JSON.parse('\u00a01234'); // should produce a syntax error
+ }
+ catch (e) {
+ return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) && JSON.parse(' 1234')===1234;
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js
new file mode 100644
index 000000000..7aa872e83
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-0-5",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-5.js",
+
+description: "<ZWSPP> is not valid JSON whitespace as specified by the production JSONWhitespace.",
+
+test: function testcase() {
+
+ try {
+ JSON.parse('\u200b1234'); // should produce a syntax error
+ }
+ catch (e) {
+ return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) && JSON.parse(' 1234')===1234;
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js
new file mode 100644
index 000000000..3f76186e5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-0-6",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-6.js",
+
+description: "<BOM> is not valid JSON whitespace as specified by the production JSONWhitespace.",
+
+test: function testcase() {
+
+ try {
+ JSON.parse('\ufeff1234'); // should produce a syntax error a
+ }
+ catch (e) {
+ return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) && JSON.parse(' 1234')===1234;
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js
new file mode 100644
index 000000000..b97675f45
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-0-7",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-7.js",
+
+description: "other category z spaces are not valid JSON whitespace as specified by the production JSONWhitespace.",
+
+test: function testcase() {
+
+ try {
+ // the following should produce a syntax error
+ JSON.parse('\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u30001234');
+ }
+ catch (e) {
+ return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) && JSON.parse(' 1234')===1234;
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js
new file mode 100644
index 000000000..5ebf10b65
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-0-8",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-8.js",
+
+description: "U+2028 and U+2029 are not valid JSON whitespace as specified by the production JSONWhitespace.",
+
+test: function testcase() {
+
+ try {
+ JSON.parse('\u2028\u20291234'); // should produce a syntax error
+ }
+ catch (e) {
+ return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) && JSON.parse(' 1234')===1234;
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js
new file mode 100644
index 000000000..96757e9ea
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-0-9",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-0-9.js",
+
+description: "Whitespace characters can appear before/after any JSONtoken",
+
+test: function testcase() {
+
+ JSON.parse('\t\r \n{\t\r \n'+
+ '"property"\t\r \n:\t\r \n{\t\r \n}\t\r \n,\t\r \n' +
+ '"prop2"\t\r \n:\t\r \n'+
+ '[\t\r \ntrue\t\r \n,\t\r \nnull\t\r \n,123.456\t\r \n]'+
+ '\t\r \n}\t\r \n'); // should JOSN parse without error
+ return true;
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) && JSON.parse('1234')===1234;
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js
new file mode 100644
index 000000000..27b029232
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g1-1",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g1-1.js",
+
+description: "The JSON lexical grammar treats <TAB> as a whitespace character",
+
+test: function testcase() {
+ if (JSON.parse('\t1234')!==1234) return false; // <TAB> should be ignored
+ try {
+ JSON.parse('12\t34'); // <TAB> should produce a syntax error as whitespace results in two tokens
+ }
+ catch (e) {
+ return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) && JSON.parse('1234')===1234;
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js
new file mode 100644
index 000000000..3b6f3775a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g1-2",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g1-2.js",
+
+description: "The JSON lexical grammar treats <CR> as a whitespace character",
+
+test: function testcase() {
+ if (JSON.parse('\r1234')!==1234) return false; // <cr> should be ignored
+ try {
+ JSON.parse('12\r34'); // <CR> should produce a syntax error as whitespace results in two tokens
+ }
+ catch (e) {
+ if (e.name === 'SyntaxError') return true;
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) && JSON.parse('1234')===1234;
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js
new file mode 100644
index 000000000..15098dac9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g1-3",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g1-3.js",
+
+description: "The JSON lexical grammar treats <LF> as a whitespace character",
+
+test: function testcase() {
+ if (JSON.parse('\n1234')!==1234) return false; // <LF> should be ignored
+ try {
+ JSON.parse('12\n34'); // <LF> should produce a syntax error as whitespace results in two tokens
+ }
+ catch (e) {
+ if (e.name === 'SyntaxError') return true;
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) && JSON.parse('1234')===1234;
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js
new file mode 100644
index 000000000..71259b352
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g1-4",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g1-4.js",
+
+description: "The JSON lexical grammar treats <SP> as a whitespace character",
+
+test: function testcase() {
+ if (JSON.parse(' 1234')!=1234) return false; // <SP> should be ignored
+ try {
+ JSON.parse('12 34'); // <SP> should produce a syntax error as whitespace results in two tokens
+ }
+ catch (e) {
+ if (e.name === 'SyntaxError') return true;
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& JSON.parse('1234')===1234;
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-1.js
new file mode 100644
index 000000000..85ca8b3b1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-1.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g2-1",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g2-1.js",
+
+description: "JSONStrings can be written using double quotes",
+
+test: function testcase() {
+ return JSON.parse('"abc"')==="abc";
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) ;
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js
new file mode 100644
index 000000000..3d90176f2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js
@@ -0,0 +1,41 @@
+ /// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g2-2",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g2-2.js",
+
+description: "A JSONString may not be delimited by single quotes ",
+
+test: function testcase() {
+ try {
+ if (JSON.parse("'abc'") ==='abc') return false;
+ }
+ catch (e) {
+ return true;
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js
new file mode 100644
index 000000000..80d2111d8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js
@@ -0,0 +1,41 @@
+ /// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g2-3",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g2-3.js",
+
+description: "A JSONString may not be delimited by Uncode escaped quotes ",
+
+test: function testcase() {
+ try {
+ if (JSON.parse("\\u0022abc\\u0022") ==='abc') return false;
+ }
+ catch (e) {
+ return true;
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) && JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js
new file mode 100644
index 000000000..ea82bdb10
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js
@@ -0,0 +1,41 @@
+ /// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g2-4",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g2-4.js",
+
+description: "A JSONString must both begin and end with double quotes",
+
+test: function testcase() {
+ try {
+ if (JSON.parse('"ab'+"c'") ==='abc') return false;
+ }
+ catch (e) {
+ return true;
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) && JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-5.js
new file mode 100644
index 000000000..877ba3ebf
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-5.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g2-5",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g2-5.js",
+
+description: "A JSONStrings can contain no JSONStringCharacters (Empty JSONStrings)",
+
+test: function testcase() {
+ return JSON.parse('""')==="";
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse) && JSON.parse('"1234"')==='1234';
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js
new file mode 100644
index 000000000..b5ee9280b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g4-1",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g4-1.js",
+
+description: "The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0000 thru U+0007",
+
+test: function testcase() {
+ try {
+ JSON.parse('"\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007"'); // invalid string characters should produce a syntax error
+ }
+ catch (e) {
+ return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js
new file mode 100644
index 000000000..a3279099a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g4-2",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g4-2.js",
+
+description: "The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0008 thru U+000F",
+
+test: function testcase() {
+ try {
+ JSON.parse('"\u0008\u0009\u000a\u000b\u000c\u000d\u000e\u000f"'); // invalid string characters should produce a syntax error
+ }
+ catch (e) {
+ return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js
new file mode 100644
index 000000000..181d5623e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g4-3",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g4-3.js",
+
+description: "The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0010 thru U+0017",
+
+test: function testcase() {
+ try {
+ JSON.parse('"\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017"'); // invalid string characters should produce a syntax error
+ }
+ catch (e) {
+ return true; // treat any exception as a pass, other tests ensure that JSON.parse throws SyntaxError exceptions
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js
new file mode 100644
index 000000000..aa7a67d23
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g4-4",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g4-4.js",
+
+description: "The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0018 thru U+001F",
+
+test: function testcase() {
+ try {
+ JSON.parse('"\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f"'); // invalid string characters should produce a syntax error
+ }
+ catch (e) {
+ if (e.name === 'SyntaxError') return true;
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-1.js
new file mode 100644
index 000000000..f175bc24f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-1.js
@@ -0,0 +1,36 @@
+ /// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g5-1",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g5-1.js",
+
+description: "The JSON lexical grammar allows Unicode escape sequences in a JSONString",
+
+test: function testcase() {
+ return JSON.parse('"\\u0058"')==='X';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& '\u0058'==='X' && JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js
new file mode 100644
index 000000000..8bb27a362
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js
@@ -0,0 +1,41 @@
+ /// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g5-2",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g5-2.js",
+
+description: "A JSONStringCharacter UnicodeEscape may not have fewer than 4 hex characters",
+
+test: function testcase() {
+ try {
+ JSON.parse('"\\u005"')
+ }
+ catch (e) {
+ return e.name==='SyntaxError'
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& '\u0058'==='X' && JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js
new file mode 100644
index 000000000..0087e2d28
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js
@@ -0,0 +1,41 @@
+ /// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g5-3",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g5-3.js",
+
+description: "A JSONStringCharacter UnicodeEscape may not include any non=hex characters",
+
+test: function testcase() {
+ try {
+ JSON.parse('"\\u0X50"')
+ }
+ catch (e) {
+ return e.name==='SyntaxError'
+ }
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& '\u0058'==='X' && JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-1.js
new file mode 100644
index 000000000..5ff49b40e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-1.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g6-1",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g6-1.js",
+
+description: "The JSON lexical grammer allows '/' as a JSONEscapeCharacter after '\' in a JSONString",
+
+test: function testcase() {
+ return JSON.parse('"\\/"')==='/';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-2.js
new file mode 100644
index 000000000..78e9c2696
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-2.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g6-2",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g6-2.js",
+
+description: "The JSON lexical grammer allows '\' as a JSONEscapeCharacter after '\' in a JSONString",
+
+test: function testcase() {
+ return JSON.parse('"\\\\"')==='\\';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-3.js
new file mode 100644
index 000000000..fd038d1c4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-3.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g6-3",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g6-3.js",
+
+description: "The JSON lexical grammer allows 'b' as a JSONEscapeCharacter after '\' in a JSONString",
+
+test: function testcase() {
+ return JSON.parse('"\\b"')==='\b';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-4.js
new file mode 100644
index 000000000..6be18c47b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-4.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g6-4",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g6-4.js",
+
+description: "The JSON lexical grammer allows 'f' as a JSONEscapeCharacter after '\' in a JSONString",
+
+test: function testcase() {
+ return JSON.parse('"\\f"')==='\f';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-5.js
new file mode 100644
index 000000000..55366b5ca
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-5.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g6-5",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g6-5.js",
+
+description: "The JSON lexical grammer allows 'n' as a JSONEscapeCharacter after '\' in a JSONString",
+
+test: function testcase() {
+ return JSON.parse('"\\n"')==='\n';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-6.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-6.js
new file mode 100644
index 000000000..e4e1982cb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-6.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g6-6",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g6-6.js",
+
+description: "The JSON lexical grammer allows 'r' as a JSONEscapeCharacter after '\' in a JSONString",
+
+test: function testcase() {
+ return JSON.parse('"\\r"')==='\r';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-7.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-7.js
new file mode 100644
index 000000000..431d4dd0c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-7.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.1.1-g6-7",
+
+path: "TestCases/chapter15/15.12/15.12.1/25.12.1.1/15.12.1.1-g6-7.js",
+
+description: "The JSON lexical grammer allows 't' as a JSONEscapeCharacter after '\' in a JSONString",
+
+test: function testcase() {
+ return JSON.parse('"\\t"')==='\t';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.parse)&& JSON.parse('"1234"')==="1234";
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.2/15.12.2-0-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.2/15.12.2-0-1.js
new file mode 100644
index 000000000..7e9596032
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.2/15.12.2-0-1.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+This test should be run without any built-ins being added/augmented.
+The name JSON must be bound to an object.
+
+Section 15 says that every built-in Function object described in this
+section — whether as a constructor, an ordinary function, or both — has
+a length property whose value is an integer. Unless otherwise specified,
+this value is equal to the largest number of named arguments shown in
+the section headings for the function description, including optional
+parameters.
+
+This default applies to JSON.parse, and it must exist as a function
+taking 2 parameters.
+*/
+
+
+ES5Harness.registerTest( {
+id: "15.12.2-0-1",
+
+path: "TestCases/chapter15/15.12/15.12.2/15.12.2-0-1.js",
+
+description: "JSON.parse must exist as a function",
+
+test: function testcase() {
+ var f = JSON.parse;
+
+ if (typeof(f) === "function") {
+ return true;
+ }
+ },
+
+ precondition: function preq () {
+ return JSON !== undefined;
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.2/15.12.2-0-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.2/15.12.2-0-2.js
new file mode 100644
index 000000000..e7f9aa527
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.2/15.12.2-0-2.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+This test should be run without any built-ins being added/augmented.
+The name JSON must be bound to an object.
+
+Section 15 says that every built-in Function object described in this
+section — whether as a constructor, an ordinary function, or both — has
+a length property whose value is an integer. Unless otherwise specified,
+this value is equal to the largest number of named arguments shown in
+the section headings for the function description, including optional
+parameters.
+
+This default applies to JSON.parse, and it must exist as a function
+taking 2 parameters.
+*/
+
+
+ES5Harness.registerTest( {
+id: "15.12.2-0-2",
+
+path: "TestCases/chapter15/15.12/15.12.2/15.12.2-0-2.js",
+
+description: "JSON.parse must exist as a function taking 2 parameters",
+
+test: function testcase() {
+ var f = JSON.parse;
+
+ if (typeof(f) === "function" && f.length === 2) {
+ return true;
+ }
+ },
+
+ precondition: function preq () {
+ return JSON !== undefined;
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.2/15.12.2-0-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.2/15.12.2-0-3.js
new file mode 100644
index 000000000..98caca9f5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.2/15.12.2-0-3.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+This test should be run without any built-ins being added/augmented.
+The initial value of [[Configurable]] on JSON is true. This means we
+should be able to delete (8.6.2.5) the stringify and parse properties.
+*/
+
+
+ES5Harness.registerTest( {
+id: "15.12.2-0-3",
+
+path: "TestCases/chapter15/15.12/15.12.2/15.12.2-0-3.js",
+
+description: "JSON.parse must be deletable (configurable)",
+
+test: function testcase() {
+ var o = JSON;
+ var desc = Object.getOwnPropertyDescriptor(o, "parse");
+ return desc.configurable === true;
+ },
+
+ precondition: function preq () {
+ return typeof JSON != "undefined" && fnExists(Object.getOwnPropertyDescriptor)
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-0-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-0-1.js
new file mode 100644
index 000000000..c21cc8b47
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-0-1.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+This test should be run without any built-ins being added/augmented.
+The name JSON must be bound to an object.
+
+Section 15 says that every built-in Function object described in this
+section — whether as a constructor, an ordinary function, or both — has
+a length property whose value is an integer. Unless otherwise specified,
+this value is equal to the largest number of named arguments shown in
+the section headings for the function description, including optional
+parameters.
+
+This default applies to JSON.stringify, and it must exist as a function
+taking 3 parameters.
+*/
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-0-1",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-0-1.js",
+
+description: "JSON.stringify must exist as be a function",
+
+test: function testcase() {
+ var f = JSON.stringify;
+
+ if (typeof(f) === "function") {
+ return true;
+ }
+ },
+
+ precondition: function preq () {
+ return JSON !== undefined;
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-0-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-0-2.js
new file mode 100644
index 000000000..0915aa4cd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-0-2.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+This test should be run without any built-ins being added/augmented.
+The name JSON must be bound to an object.
+
+Section 15 says that every built-in Function object described in this
+section — whether as a constructor, an ordinary function, or both — has
+a length property whose value is an integer. Unless otherwise specified,
+this value is equal to the largest number of named arguments shown in
+the section headings for the function description, including optional
+parameters.
+
+This default applies to JSON.stringify, and it must exist as a function
+taking 3 parameters.
+*/
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-0-2",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-0-2.js",
+
+description: "JSON.stringify must exist as be a function taking 3 parameters",
+
+test: function testcase() {
+ var f = JSON.stringify;
+
+ if (typeof(f) === "function" && f.length === 3) {
+ return true;
+ }
+ },
+
+ precondition: function preq () {
+ return JSON !== undefined;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-0-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-0-3.js
new file mode 100644
index 000000000..8d6549691
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-0-3.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+This test should be run without any built-ins being added/augmented.
+The initial value of [[Configurable]] on JSON is true. This means we
+should be able to delete (8.6.2.5) the stringify and parse properties.
+*/
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-0-3",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-0-3.js",
+
+description: "JSON.stringify must be deletable (configurable)",
+
+test: function testcase() {
+ var o = JSON;
+ var desc = Object.getOwnPropertyDescriptor(o, "stringify");
+ if (desc.configurable === true) {
+ return true;
+ }
+ },
+
+ precondition: function preq () {
+ return typeof JSON != "undefined" && fnExists(Object.getOwnPropertyDescriptor)
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-1.js
new file mode 100644
index 000000000..96da2c66c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-1.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-11-1",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-11-1.js",
+
+description: "JSON.stringify(undefined) returns undefined",
+
+test: function testcase() {
+ return JSON.stringify(undefined) === undefined;
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-10.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-10.js
new file mode 100644
index 000000000..ed5a889f4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-10.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-11-10",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-11-10.js",
+
+description: "A JSON.stringify replacer function applied to a top level scalar value can return undefined.",
+
+test: function testcase() {
+ return JSON.stringify(42, function(k, v) { return undefined }) === undefined;
+ },
+
+precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-11.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-11.js
new file mode 100644
index 000000000..a44253f1b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-11.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-11-11",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-11-11.js",
+
+description: "A JSON.stringify replacer function applied to a top level Object can return undefined.",
+
+test: function testcase() {
+ return JSON.stringify({prop:1}, function(k, v) { return undefined }) === undefined;
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-12.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-12.js
new file mode 100644
index 000000000..d13a14854
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-12.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-11-12",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-11-12.js",
+
+description: "A JSON.stringify replacer function applied to a top level scalar can return an Array.",
+
+test: function testcase() {
+ return JSON.stringify(42, function(k, v) { return v==42 ?[4,2]:v }) === '[4,2]';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-13.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-13.js
new file mode 100644
index 000000000..a493c4ee3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-13.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-11-13",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-11-13.js",
+
+description: "A JSON.stringify replacer function applied to a top level scalar can return an Object.",
+
+test: function testcase() {
+ return JSON.stringify(42, function(k, v) { return v==42 ? {forty:2}: v}) === '{"forty":2}';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-14.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-14.js
new file mode 100644
index 000000000..36ddac1fb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-14.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-11-14",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-11-14.js",
+
+description: "Applying JSON.stringify to a function returns undefined.",
+
+test: function testcase() {
+ return JSON.stringify(function() {}) === undefined;
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-15.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-15.js
new file mode 100644
index 000000000..110fbb6ba
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-15.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-11-15",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-11-15.js",
+
+description: "Applying JSON.stringify with a replacer function to a function returns the replacer value.",
+
+test: function testcase() {
+ return JSON.stringify(function() {}, function(k,v) {return 99}) === '99';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-2.js
new file mode 100644
index 000000000..ff41a7da6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-2.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-11-2",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-11-2.js",
+
+description: "A JSON.stringify replacer function works is applied to a top level undefined value.",
+
+test: function testcase() {
+ return JSON.stringify(undefined, function(k, v) { return "replacement" }) === '"replacement"';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-3.js
new file mode 100644
index 000000000..8d6a55f85
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-3.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-11-3",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-11-3.js",
+
+description: "A JSON.stringify correctly works on top level string values.",
+
+test: function testcase() {
+ return JSON.stringify("a string") === '"a string"';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-4.js
new file mode 100644
index 000000000..b20b27d41
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-4.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-11-4",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-11-4.js",
+
+description: "JSON.stringify correctly works on top level Number values.",
+
+test: function testcase() {
+ return JSON.stringify(123) === '123';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-5.js
new file mode 100644
index 000000000..aedd2514e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-5.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-11-5",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-11-5.js",
+
+description: "JSON.stringify correctly works on top level Boolean values.",
+
+test: function testcase() {
+ return JSON.stringify(true) === 'true';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-6.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-6.js
new file mode 100644
index 000000000..b9f664e5c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-6.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-11-6",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-11-6.js",
+
+description: "JSON.stringify correctly works on top level null values.",
+
+test: function testcase() {
+ return JSON.stringify(null) === 'null';
+ },
+
+ precodition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-7.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-7.js
new file mode 100644
index 000000000..3122ce363
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-7.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-11-7",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-11-7.js",
+
+description: "JSON.stringify correctly works on top level Number objects.",
+
+test: function testcase() {
+ return JSON.stringify(new Number(42)) === '42';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-8.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-8.js
new file mode 100644
index 000000000..6959cd440
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-8.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-11-8",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-11-8.js",
+
+description: "JSON.stringify correctly works on top level String objects.",
+
+test: function testcase() {
+ return JSON.stringify(new String('wrappered')) === '"wrappered"';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-9.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-9.js
new file mode 100644
index 000000000..331e25d49
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-11-9.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-11-9",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-11-9.js",
+
+description: "JSON.stringify correctly works on top level Boolean objects.",
+
+test: function testcase() {
+ return JSON.stringify(new Boolean(false)) === 'false';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-4-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-4-1.js
new file mode 100644
index 000000000..3ca39f05c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-4-1.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-4-1",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-4-1.js",
+
+description: "JSON.stringify ignores replacer aruguments that are not functions or arrays..",
+
+test: function testcase() {
+ try {
+ return JSON.stringify([42],{})=== '[42]';
+ }
+ catch (e) {return false}
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-5-a-i-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-5-a-i-1.js
new file mode 100644
index 000000000..df0f0b2e8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-5-a-i-1.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-5-a-i-1",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-5-a-i-1.js",
+
+description: "JSON.stringify converts Number wrapper object space aruguments to Number values",
+
+test: function testcase() {
+ var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
+ return JSON.stringify(obj,null, new Number(5))=== JSON.stringify(obj,null, 5);
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-5-b-i-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-5-b-i-1.js
new file mode 100644
index 000000000..a5ddd965f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-5-b-i-1.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-5-b-i-1",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-5-b-i-1.js",
+
+description: "JSON.stringify converts String wrapper object space aruguments to String values",
+
+test: function testcase() {
+ var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
+ return JSON.stringify(obj,null, new String('xxx'))=== JSON.stringify(obj,null, 'xxx');
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-a-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-a-1.js
new file mode 100644
index 000000000..21f0feed0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-a-1.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-6-a-1",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-6-a-1.js",
+
+description: "JSON.stringify treats numeric space arguments greater than 10 the same as a space argument of 10.",
+
+test: function testcase() {
+ var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
+ return JSON.stringify(obj,null, 10)=== JSON.stringify(obj,null, 100);
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-a-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-a-2.js
new file mode 100644
index 000000000..774117cb0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-a-2.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-6-a-2",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-6-a-2.js",
+
+description: "JSON.stringify truccates non-integer numeric space arguments to their integer part.",
+
+test: function testcase() {
+ var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
+ return JSON.stringify(obj,null, 5.99999)=== JSON.stringify(obj,null, 5);
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-1.js
new file mode 100644
index 000000000..ae1cdb112
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-1.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-6-b-1",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-6-b-1.js",
+
+description: "JSON.stringify treats numeric space arguments less than 1 (0.999999)the same as emptry string space argument.",
+
+test: function testcase() {
+ var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
+ return JSON.stringify(obj,null, 0.999999)=== JSON.stringify(obj); /* emptry string should be same as no space arg */
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-2.js
new file mode 100644
index 000000000..ace11de6e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-2.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-6-b-2",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-6-b-2.js",
+
+description: "JSON.stringify treats numeric space arguments less than 1 (0)the same as emptry string space argument.",
+
+test: function testcase() {
+ var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
+ return JSON.stringify(obj,null, 0)=== JSON.stringify(obj); /* emptry string should be same as no space arg */
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-3.js
new file mode 100644
index 000000000..3d439a1fb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-3.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-6-b-3",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-6-b-3.js",
+
+description: "JSON.stringify treats numeric space arguments less than 1 (-5) the same as emptry string space argument.",
+
+test: function testcase() {
+ var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
+ return JSON.stringify(obj,null, -5)=== JSON.stringify(obj); /* emptry string should be same as no space arg */
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-4.js
new file mode 100644
index 000000000..8e7940c4f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-6-b-4.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-6-b-4",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-6-b-4.js",
+
+description: "JSON.stringify treats numeric space arguments (in the range 1..10) is equivalent to a string of spaces of that length.",
+
+test: function testcase() {
+ var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
+ var fiveSpaces = ' ';
+ // '12345'
+ return JSON.stringify(obj,null, 5)=== JSON.stringify(obj, null, fiveSpaces);
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-7-a-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-7-a-1.js
new file mode 100644
index 000000000..4980617f5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-7-a-1.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-7-a-1",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-7-a-1.js",
+
+description: "JSON.stringify only uses the first 10 characters of a string space arguments.",
+
+test: function testcase() {
+ var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
+ return JSON.stringify(obj,null, '0123456789xxxxxxxxx')=== JSON.stringify(obj,null, '0123456789');
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-1.js
new file mode 100644
index 000000000..9c6c9d87a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-1.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-8-a-1",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-8-a-1.js",
+
+description: "JSON.stringify treats an empty string space argument the same as a missing space argument.",
+
+test: function testcase() {
+ var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
+ return JSON.stringify(obj)=== JSON.stringify(obj,null, '');
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-2.js
new file mode 100644
index 000000000..6a59d89eb
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-2.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-8-a-2",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-8-a-2.js",
+
+description: "JSON.stringify treats an Boolean space argument the same as a missing space argument.",
+
+test: function testcase() {
+ var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
+ return JSON.stringify(obj)=== JSON.stringify(obj,null, true);
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-3.js
new file mode 100644
index 000000000..c96bcf595
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-3.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-8-a-3",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-8-a-3.js",
+
+description: "JSON.stringify treats an null space argument the same as a missing space argument.",
+
+test: function testcase() {
+ var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
+ return JSON.stringify(obj)=== JSON.stringify(obj,null, null);
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-4.js
new file mode 100644
index 000000000..41b04a5ca
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-4.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-8-a-4",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-8-a-4.js",
+
+description: "JSON.stringify treats an Boolean wrapper space argument the same as a missing space argument.",
+
+test: function testcase() {
+ var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
+ return JSON.stringify(obj)=== JSON.stringify(obj,null, new Boolean(true));
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-5.js
new file mode 100644
index 000000000..5a5fb1b7d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3-8-a-5.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3-8-a-5",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3-8-a-5.js",
+
+description: "JSON.stringify treats non-Number or String object space arguments the same as a missing space argument.",
+
+test: function testcase() {
+ var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
+ return JSON.stringify(obj)=== JSON.stringify(obj,null, obj);
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-1.js
new file mode 100644
index 000000000..1e5b87316
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-1.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3_2-2-b-i-1",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-1.js",
+
+description: "JSON.stringify converts string wrapper objects returned from a toJSON call to literal strings.",
+
+test: function testcase() {
+ var obj = {
+ prop:42,
+ toJSON: function () {return 'fortytwo objects'}
+ };
+ return JSON.stringify([obj]) === '["fortytwo objects"]';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-2.js
new file mode 100644
index 000000000..cc6d3b84f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-2.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3_2-2-b-i-2",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-2.js",
+
+description: "JSON.stringify converts Number wrapper objects returned from a toJSON call to literal Number.",
+
+test: function testcase() {
+ var obj = {
+ prop:42,
+ toJSON: function () {return new Number(42)}
+ };
+ return JSON.stringify([obj]) === '[42]';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-3.js
new file mode 100644
index 000000000..2601e7b7c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-3.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3_2-2-b-i-3",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3_2-2-b-i-3.js",
+
+description: "JSON.stringify converts Boolean wrapper objects returned from a toJSON call to literal Boolean values.",
+
+test: function testcase() {
+ var obj = {
+ prop:42,
+ toJSON: function () {return new Boolean(true)}
+ };
+ return JSON.stringify([obj]) === '[true]';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-3-a-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-3-a-1.js
new file mode 100644
index 000000000..4c8cb4e1a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-3-a-1.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3_2-3-a-1",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3_2-3-a-1.js",
+
+description: "JSON.stringify converts string wrapper objects returned from replacer functions to literal strings.",
+
+test: function testcase() {
+ return JSON.stringify([42], function(k,v) {return v===42? new String('fortytwo'):v}) === '["fortytwo"]';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-3-a-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-3-a-2.js
new file mode 100644
index 000000000..81c39d535
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-3-a-2.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3_2-3-a-2",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3_2-3-a-2.js",
+
+description: "JSON.stringify converts Number wrapper objects returned from replacer functions to literal numbers.",
+
+test: function testcase() {
+ return JSON.stringify([42], function(k,v) {return v===42? new Number(84):v}) === '[84]';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-3-a-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-3-a-3.js
new file mode 100644
index 000000000..9a8a4456e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_2-3-a-3.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3_2-3-a-3",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3_2-3-a-3.js",
+
+description: "JSON.stringify converts Boolean wrapper objects returned from replacer functions to literal numbers.",
+
+test: function testcase() {
+ return JSON.stringify([42], function(k,v) {return v===42? new Boolean(false):v}) === '[false]';
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_4-1-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_4-1-1.js
new file mode 100644
index 000000000..bc45ed276
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_4-1-1.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3_4-1-1",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3_4-1-1.js",
+
+description: "JSON.stringify a circular object throws a error",
+
+test: function testcase() {
+ var obj = {};
+ obj.prop = obj;
+ try {
+ JSON.stringify(obj);
+ return false; // should not reach here
+ }
+ catch (e) {return true}
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_4-1-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_4-1-2.js
new file mode 100644
index 000000000..c9cd06314
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_4-1-2.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3_4-1-2",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3_4-1-2.js",
+
+description: "JSON.stringify a circular object throws a TypeError",
+
+test: function testcase() {
+ var obj = {};
+ obj.prop = obj;
+ try {
+ JSON.stringify(obj);
+ return false; // should not reach here
+ }
+ catch (e) {return e.name==='TypeError'}
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_4-1-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_4-1-3.js
new file mode 100644
index 000000000..6fb219738
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3/15.12.3_4-1-3.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.12.3_4-1-3",
+
+path: "TestCases/chapter15/15.12/15.12.3/15.12.3_4-1-3.js",
+
+description: "JSON.stringify a indirectly circular object throws a error",
+
+test: function testcase() {
+ var obj = {p1: {p2: {}}};
+ obj.p1.p2.prop = obj;
+ try {
+ JSON.stringify(obj);
+ return false; // should not reach here
+ }
+ catch (e) {return true}
+ },
+
+ precondition: function preq () {
+ return JSON && fnExists(JSON.stringify);
+ }
+} );