aboutsummaryrefslogtreecommitdiffstats
path: root/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.12/15.12.3')
-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
42 files changed, 1610 insertions, 0 deletions
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);
+ }
+} );