aboutsummaryrefslogtreecommitdiffstats
path: root/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9')
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-1.js35
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-2.js38
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-1.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-2.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-3.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-4.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-1.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-2.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-3.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-4.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-1.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-10.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-11.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-12.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-13.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-14.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-2.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-3.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-4.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-5.js58
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-6.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-7.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-8.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-9.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-1.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-2.js60
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-1.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-2.js73
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-3.js86
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-4.js84
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-1.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-2.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-3.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-4.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-5.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-6.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-7.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-8.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-9.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-3-1.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-1.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-2.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-3.js44
44 files changed, 2107 insertions, 0 deletions
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-1.js
new file mode 100644
index 000000000..97d2e0070
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-1.js
@@ -0,0 +1,35 @@
+/// 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.2.3.9-0-1",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-1.js",
+
+description: "Object.freeze must exist as a function",
+
+test: function testcase() {
+ var f = Object.freeze;
+ if (typeof(f) === "function") {
+ return true;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-2.js
new file mode 100644
index 000000000..c8ee168f0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-2.js
@@ -0,0 +1,38 @@
+/// 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.2.3.9-0-2",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-2.js",
+
+description: "Object.freeze must exist as a function taking 1 parameter",
+
+test: function testcase() {
+ if (Object.freeze.length === 1) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.freeze);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-1.js
new file mode 100644
index 000000000..e83146298
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-1.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-1-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-1.js",
+
+ description: "Object.freeze throws TypeError if type of first param is undefined",
+
+ test: function testcase() {
+ try {
+ Object.freeze(undefined);
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-2.js
new file mode 100644
index 000000000..9b729c205
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-2.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-1-2",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-2.js",
+
+ description: "Object.freeze throws TypeError if type of first param is null",
+
+ test: function testcase() {
+ try {
+ Object.freeze(null);
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-3.js
new file mode 100644
index 000000000..8da20a20a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-3.js
@@ -0,0 +1,50 @@
+/// 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.2.3.9-1-3",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-3.js",
+
+ description: "Object.freeze throws TypeError if type of first param is boolean primitive",
+
+ test: function testcase() {
+ var result = false;
+ try {
+ Object.freeze(false);
+
+ return false;
+ } catch (e) {
+ result = e instanceof TypeError;
+ }
+ try {
+ Object.freeze(true);
+
+ return false;
+ } catch (e) {
+ return result && e instanceof TypeError;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-4.js
new file mode 100644
index 000000000..5ba13b42b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-4.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-1-4",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-4.js",
+
+ description: "Object.freeze throws TypeError if type of first param is string primitive",
+
+ test: function testcase() {
+ try {
+ Object.freeze("abc");
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1.js
new file mode 100644
index 000000000..358121316
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-1.js",
+
+ description: "Object.freeze throws TypeError if type of first param is not Object",
+
+ test: function testcase() {
+ try {
+ Object.freeze(0);
+ return false;
+ } catch (e) {
+ return e instanceof TypeError;
+ }
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-1.js
new file mode 100644
index 000000000..ef571f530
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-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.2.3.9-2-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-1.js",
+
+ description: "Object.freeze - extensible of 'O' is set as false even if 'O' has no own property",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.freeze(obj);
+
+ return !Object.isExtensible(obj);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.isExtensible);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-2.js
new file mode 100644
index 000000000..119f5183c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-2.js
@@ -0,0 +1,53 @@
+/// 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.2.3.9-2-2",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-2.js",
+
+ description: "Object.freeze - inherited data properties are not frozen",
+
+ test: function testcase() {
+ var proto = {};
+
+ Object.defineProperty(proto, "Father", {
+ value: 10,
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ Object.freeze(child);
+
+ var beforeDeleted = proto.hasOwnProperty("Father");
+ delete proto.Father;
+ var afterDeleted = proto.hasOwnProperty("Father");
+
+ return beforeDeleted && !afterDeleted;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-3.js
new file mode 100644
index 000000000..366c6e8fa
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-3.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.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-2-3",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-3.js",
+
+ description: "Object.freeze - inherited accessor properties are not frozen",
+
+ test: function testcase() {
+ var proto = {};
+
+ Object.defineProperty(proto, "Father", {
+ get: function () {
+ return 10;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ Object.freeze(child);
+
+ var beforeDeleted = proto.hasOwnProperty("Father");
+ delete proto.Father;
+ var afterDeleted = proto.hasOwnProperty("Father");
+
+ return beforeDeleted && !afterDeleted;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.defineProperty);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-4.js
new file mode 100644
index 000000000..20bb7b728
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-4.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-2-4",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-4.js",
+
+ description: "Object.freeze - Non-enumerable own properties of 'O' are frozen",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ enumerable: false,
+ configurable: true
+ });
+
+ Object.freeze(obj);
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "foo");
+
+ var beforeDeleted = obj.hasOwnProperty("foo");
+ delete obj.foo;
+ var afterDeleted = obj.hasOwnProperty("foo");
+
+ return beforeDeleted && afterDeleted && desc.configurable === false && desc.writable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-1.js
new file mode 100644
index 000000000..a7925c966
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-1.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-2-a-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-1.js",
+
+ description: "Object.freeze - 'P' is own data property",
+
+ test: function testcase() {
+ var obj = {};
+
+ obj.foo = 10; // default [[Configurable]] attribute value of foo: true
+
+ Object.freeze(obj);
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "foo");
+
+ delete obj.foo;
+ return obj.foo === 10 && desc.configurable === false && desc.writable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-10.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-10.js
new file mode 100644
index 000000000..89d973f6a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-10.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-2-a-10",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-10.js",
+
+ description: "Object.freeze - 'P' is own named property of an Array object that uses Object's [[GetOwnProperty]]",
+
+ test: function testcase() {
+ var arrObj = [];
+
+ arrObj.foo = 10; // default [[Configurable]] attribute value of foo: true
+
+ Object.freeze(arrObj);
+
+ var desc = Object.getOwnPropertyDescriptor(arrObj, "foo");
+
+ delete arrObj.foo;
+ return arrObj.foo === 10 && desc.configurable === false && desc.writable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-11.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-11.js
new file mode 100644
index 000000000..7b4db73c3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-11.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-2-a-11",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-11.js",
+
+ description: "Object.freeze - 'P' is own index property of the Arguments object that implements its own [[GetOwnProperty]]",
+
+ test: function testcase() {
+
+ // default [[Configurable]] attribute value of "0": true
+ var argObj = (function () { return arguments; }(1, 2, 3));
+
+ Object.freeze(argObj);
+
+ var desc = Object.getOwnPropertyDescriptor(argObj, "0");
+
+ delete argObj[0];
+ return argObj[0] === 1 && desc.configurable === false && desc.writable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-12.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-12.js
new file mode 100644
index 000000000..8718060e6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-12.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-2-a-12",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-12.js",
+
+ description: "Object.freeze - 'P' is own index property of a String object that implements its own [[GetOwnProperty]]",
+
+ test: function testcase() {
+
+ // default [[Configurable]] attribute value of "0": true
+ var strObj = new String("abc");
+
+ Object.freeze(strObj);
+
+ var desc = Object.getOwnPropertyDescriptor(strObj, "0");
+
+ delete strObj[0];
+ return strObj[0] === "a" && desc.configurable === false && desc.writable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-13.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-13.js
new file mode 100644
index 000000000..a04d1ac78
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-13.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-2-a-13",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-13.js",
+
+ description: "Object.freeze - 'P' is own index property of the Object",
+
+ test: function testcase() {
+
+ // default [[Configurable]] attribute value of "0": true
+ var obj = { 0: 0, 1: 1, length: 2};
+
+ Object.freeze(obj);
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "0");
+
+ delete obj[0];
+ return obj[0] === 0 && desc.configurable === false && desc.writable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-14.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-14.js
new file mode 100644
index 000000000..0de4a3745
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-14.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-2-a-14",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-14.js",
+
+ description: "Object.freeze - 'P' is own index property of an Array object that uses Object's [[GetOwnProperty]]",
+
+ test: function testcase() {
+
+ // default [[Configurable]] attribute value of "0": true
+ var arrObj = [0, 1, 2];
+
+ Object.freeze(arrObj);
+
+ var desc = Object.getOwnPropertyDescriptor(arrObj, "0");
+
+ delete arrObj[0];
+ return arrObj[0] === 0 && desc.configurable === false && desc.writable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-2.js
new file mode 100644
index 000000000..743e59e0b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-2.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-2-a-2",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-2.js",
+
+ description: "Object.freeze - 'P' is own data property that overrides an inherited data property",
+
+ test: function testcase() {
+
+ var proto = { foo: 0 }; // default [[Configurable]] attribute value of foo: true
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+
+ child.foo = 10; // default [[Configurable]] attribute value of foo: true
+
+ Object.freeze(child);
+
+ var desc = Object.getOwnPropertyDescriptor(child, "foo");
+
+ delete child.foo;
+ return child.foo === 10 && desc.configurable === false && desc.writable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-3.js
new file mode 100644
index 000000000..5105f98a2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-3.js
@@ -0,0 +1,59 @@
+/// 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.2.3.9-2-a-3",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-3.js",
+
+ description: "Object.freeze - 'P' is own data property that overrides an inherited accessor property",
+
+ test: function testcase() {
+ var proto = {};
+
+ Object.defineProperty(proto, "foo", {
+ get: function () {
+ return 0;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+ Object.defineProperty(child, "foo", {
+ value: 10,
+ configurable: true
+ });
+
+ Object.freeze(child);
+
+ var desc = Object.getOwnPropertyDescriptor(child, "foo");
+
+ delete child.foo;
+ return child.foo === 10 && desc.configurable === false && desc.writable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-4.js
new file mode 100644
index 000000000..3d906c938
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-4.js
@@ -0,0 +1,50 @@
+/// 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.2.3.9-2-a-4",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-4.js",
+
+ description: "Object.freeze - 'P' is own accessor property",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ get: function () {
+ return 10;
+ },
+ configurable: true
+ });
+
+ Object.freeze(obj);
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "foo");
+
+ delete obj.foo;
+ return obj.foo === 10 && desc.configurable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-5.js
new file mode 100644
index 000000000..0cbddb47d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-5.js
@@ -0,0 +1,58 @@
+/// 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.2.3.9-2-a-5",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-5.js",
+
+ description: "Object.freeze - 'P' is own accessor property that overrides an inherited data property",
+
+ test: function testcase() {
+
+ var proto = {};
+
+ proto.foo = 0; // default [[Configurable]] attribute value of foo: true
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+
+ Object.defineProperty(child, "foo", {
+ get: function () {
+ return 10;
+ },
+ configurable: true
+ });
+
+ Object.freeze(child);
+
+ var desc = Object.getOwnPropertyDescriptor(child, "foo");
+
+ delete child.foo;
+ return child.foo === 10 && desc.configurable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-6.js
new file mode 100644
index 000000000..a1a409e80
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-6.js
@@ -0,0 +1,62 @@
+/// 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.2.3.9-2-a-6",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-6.js",
+
+ description: "Object.freeze - 'P' is own accessor property that overrides an inherited accessor property",
+
+ test: function testcase() {
+ var proto = {};
+
+ Object.defineProperty(proto, "foo", {
+ get: function () {
+ return 0;
+ },
+ configurable: true
+ });
+
+ var Con = function () { };
+ Con.prototype = proto;
+
+ var child = new Con();
+
+ Object.defineProperty(child, "foo", {
+ get: function () {
+ return 10;
+ },
+ configurable: true
+ });
+
+ Object.freeze(child);
+
+ var desc = Object.getOwnPropertyDescriptor(child, "foo");
+
+ delete child.foo;
+ return child.foo === 10 && desc.configurable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-7.js
new file mode 100644
index 000000000..8fbf48475
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-7.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-2-a-7",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-7.js",
+
+ description: "Object.freeze - 'P' is own named property of an Arguments object that implements its own [[GetOwnProperty]]",
+
+ test: function testcase() {
+ var argObj = (function () { return arguments; }());
+
+ argObj.foo = 10; // default [[Configurable]] attribute value of foo: true
+
+ Object.freeze(argObj);
+
+ var desc = Object.getOwnPropertyDescriptor(argObj, "foo");
+
+ delete argObj.foo;
+ return argObj.foo === 10 && desc.configurable === false && desc.writable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-8.js
new file mode 100644
index 000000000..7c3dc5f16
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-8.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-2-a-8",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-8.js",
+
+ description: "Object.freeze - 'P' is own named property of the String object that implements its own [[GetOwnProperty]]",
+
+ test: function testcase() {
+ var strObj = new String("abc");
+
+ strObj.foo = 10; // default [[Configurable]] attribute value of foo: true
+
+ Object.freeze(strObj);
+
+ var desc = Object.getOwnPropertyDescriptor(strObj, "foo");
+
+ delete strObj.foo;
+ return strObj.foo === 10 && desc.configurable === false && desc.writable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-9.js
new file mode 100644
index 000000000..8c2c8c943
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-9.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-2-a-9",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-9.js",
+
+ description: "Object.freeze - 'P' is own property of the Function object that uses Object's [[GetOwnProperty]]",
+
+ test: function testcase() {
+ var funObj = function () { };
+
+ funObj.foo = 10; // default [[Configurable]] attribute value of foo: true
+
+ Object.freeze(funObj);
+
+ var desc = Object.getOwnPropertyDescriptor(funObj, "foo");
+
+ delete funObj.foo;
+ return funObj.foo === 10 && desc.configurable === false && desc.writable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-1.js
new file mode 100644
index 000000000..f42542824
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-1.js
@@ -0,0 +1,49 @@
+/// 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.2.3.9-2-b-i-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-1.js",
+
+ description: "Object.freeze - The [[Wrtiable]] attribute of own data property of 'O' is set to false while other attributes are unchanged",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ writable: true,
+ enumerable: true,
+ configurable: false
+ });
+
+ Object.freeze(obj);
+ var desc = Object.getOwnPropertyDescriptor(obj, "foo");
+
+ return dataPropertyAttributesAreCorrect(obj, "foo", 10, false, true, false) &&
+ desc.writable === false && desc.configurable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-2.js
new file mode 100644
index 000000000..81a4eb8f6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-2.js
@@ -0,0 +1,60 @@
+/// 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.2.3.9-2-b-i-2",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-2.js",
+
+ description: "Object.freeze - The [[Wrtiable]] attribute of all own data property of 'O' is set to false while other attributes are unchanged",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "foo1", {
+ value: 10,
+ writable: false,
+ enumerable: true,
+ configurable: false
+ });
+
+ Object.defineProperty(obj, "foo2", {
+ value: 20,
+ writable: true,
+ enumerable: false,
+ configurable: false
+ });
+
+ Object.freeze(obj);
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "foo1");
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "foo2");
+
+ return dataPropertyAttributesAreCorrect(obj, "foo1", 10, false, true, false) &&
+ dataPropertyAttributesAreCorrect(obj, "foo2", 20, false, false, false) &&
+ desc1.configurable === false && desc1.writable === false &&
+ desc2.configurable === false && desc2.writable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-1.js
new file mode 100644
index 000000000..bed7b2bb9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-1.js
@@ -0,0 +1,49 @@
+/// 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.2.3.9-2-c-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-1.js",
+
+ description: "Object.freeze - The [[Configurable]] attribute of own data property of 'O' is set to false while other attributes are unchanged",
+
+ test: function testcase() {
+ var obj = {};
+
+ Object.defineProperty(obj, "foo", {
+ value: 10,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.freeze(obj);
+ var desc = Object.getOwnPropertyDescriptor(obj, "foo");
+
+ return dataPropertyAttributesAreCorrect(obj, "foo", 10, false, true, false) &&
+ desc.configurable === false && desc.writable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-2.js
new file mode 100644
index 000000000..9e38af2dc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-2.js
@@ -0,0 +1,73 @@
+/// 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.2.3.9-2-c-2",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-2.js",
+
+ description: "Object.freeze - The [[Configurable]] attribute of own accessor property of 'O' is set to false while other attributes are unchanged",
+
+ test: function testcase() {
+ var obj = {};
+
+ function get_func() {
+ return 10;
+ }
+
+ var resultSetFun = false;
+ function set_func() {
+ resultSetFun = true;
+ }
+
+ Object.defineProperty(obj, "foo", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.freeze(obj);
+ var res1 = obj.hasOwnProperty("foo");
+ delete obj.foo;
+ var res2 = obj.hasOwnProperty("foo");
+ var resultConfigurable = (res1 && res2);
+
+ var resultGetFun = (obj.foo === 10);
+ obj.foo = 12;
+
+ var resultEnumerable = false;
+ for (var prop in obj) {
+ if (prop === "foo") {
+ resultEnumerable = true;
+ }
+ }
+
+ var desc = Object.getOwnPropertyDescriptor(obj, "foo");
+ var result = resultConfigurable && resultEnumerable && resultGetFun && resultSetFun;
+
+ return desc.configurable === false && result;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-3.js
new file mode 100644
index 000000000..ca0d081a3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-3.js
@@ -0,0 +1,86 @@
+/// 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.2.3.9-2-c-3",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-3.js",
+
+ description: "Object.freeze - The [[Configurable]] attribute of all own data property of 'O' is set to false while other attributes are unchanged",
+
+ test: function testcase() {
+
+ var obj = {};
+ var resultSetFun = false;
+
+ Object.defineProperty(obj, "foo1", {
+ value: 10,
+ writable: false,
+ enumerable: true,
+ configurable: true
+ });
+
+ function get_func() {
+ return 10;
+ }
+
+ function set_func() {
+ resultSetFun = true;
+ }
+
+ Object.defineProperty(obj, "foo2", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.freeze(obj);
+
+ var res1 = obj.hasOwnProperty("foo2");
+ delete obj.foo2;
+ var res2 = obj.hasOwnProperty("foo2");
+ var resultConfigurable = (res1 && res2);
+
+ var resultGetFun = (obj.foo2 === 10);
+ obj.foo2 = 12;
+
+ var resultEnumerable = false;
+ for (var prop in obj) {
+ if (prop === "foo2") {
+ resultEnumerable = true;
+ }
+ }
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "foo1");
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "foo2");
+
+ var result = resultConfigurable && resultEnumerable && resultGetFun && resultSetFun;
+
+ return dataPropertyAttributesAreCorrect(obj, "foo1", 10, false, true, false) && result &&
+ desc1.configurable === false && desc1.writable === false && desc2.configurable === false;
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-4.js
new file mode 100644
index 000000000..a52ddfbdf
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-4.js
@@ -0,0 +1,84 @@
+/// 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.2.3.9-2-c-4",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-4.js",
+
+ description: "Object.freeze - all own properties of 'O' are not writable and not configurable",
+
+ test: function testcase() {
+ var obj = {};
+ var resultSetFun = false;
+
+ Object.defineProperty(obj, "foo1", {
+ value: 10,
+ writable: false,
+ enumerable: true,
+ configurable: false
+ });
+
+ function get_func() {
+ return 10;
+ }
+
+ function set_func() {
+ resultSetFun = true;
+ }
+
+ Object.defineProperty(obj, "foo2", {
+ get: get_func,
+ set: set_func,
+ enumerable: true,
+ configurable: true
+ });
+
+ Object.freeze(obj);
+
+ var res1 = obj.hasOwnProperty("foo2");
+ delete obj.foo2;
+ var res2 = obj.hasOwnProperty("foo2");
+ var resultConfigurable = (res1 && res2);
+
+ var resultGetFun = (obj.foo2 === 10);
+ obj.foo2 = 12;
+
+ var resultEnumerable = false;
+ for (var prop in obj) {
+ if (prop === "foo2") {
+ resultEnumerable = true;
+ }
+ }
+
+ var desc1 = Object.getOwnPropertyDescriptor(obj, "foo1");
+ var desc2 = Object.getOwnPropertyDescriptor(obj, "foo2");
+
+ var result = resultConfigurable && resultEnumerable && resultGetFun && resultSetFun;
+
+ return dataPropertyAttributesAreCorrect(obj, "foo1", 10, false, true, false) &&
+ result && desc1.configurable === false && desc1.writable === false && desc2.configurable === false;
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.defineProperty) && fnExists(Object.getOwnPropertyDescriptor);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-1.js
new file mode 100644
index 000000000..bcdbf6b7c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-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.2.3.9-2-d-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-1.js",
+
+ description: "Object.freeze - 'O' is a Function object",
+
+ test: function testcase() {
+ var funObj = function () { };
+
+ Object.freeze(funObj);
+
+ return Object.isFrozen(funObj);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.isFrozen);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-2.js
new file mode 100644
index 000000000..b9c1e52f3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-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.2.3.9-2-d-2",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-2.js",
+
+ description: "Object.freeze - 'O' is an Array object",
+
+ test: function testcase() {
+ var arrObj = [0, 1];
+
+ Object.freeze(arrObj);
+
+ return Object.isFrozen(arrObj);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.isFrozen);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-3.js
new file mode 100644
index 000000000..154f0b8fa
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-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.2.3.9-2-d-3",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-3.js",
+
+ description: "Object.freeze - 'O' is a String object",
+
+ test: function testcase() {
+ var strObj = new String("a");
+
+ Object.freeze(strObj);
+
+ return Object.isFrozen(strObj);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.isFrozen);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-4.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-4.js
new file mode 100644
index 000000000..59d080314
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-4.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.2.3.9-2-d-4",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-4.js",
+
+ description: "Object.freeze - 'O' is a Boolean object",
+
+ test: function testcase() {
+ var boolObj = new Boolean(false);
+
+ Object.freeze(boolObj);
+
+ return Object.isFrozen(boolObj);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.isFrozen);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-5.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-5.js
new file mode 100644
index 000000000..e2fdfc779
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-5.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.2.3.9-2-d-5",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-5.js",
+
+ description: "Object.freeze - 'O' is a Number object",
+
+ test: function testcase() {
+ var numObj = new Number(3);
+
+ Object.freeze(numObj);
+
+ return Object.isFrozen(numObj);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.isFrozen);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-6.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-6.js
new file mode 100644
index 000000000..97fd115ca
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-6.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.2.3.9-2-d-6",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-6.js",
+
+ description: "Object.freeze - 'O' is a Date object",
+
+ test: function testcase() {
+ var dateObj = new Date();
+
+ Object.freeze(dateObj);
+
+ return Object.isFrozen(dateObj);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.isFrozen);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-7.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-7.js
new file mode 100644
index 000000000..a68309ad4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-7.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.2.3.9-2-d-7",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-7.js",
+
+ description: "Object.freeze - 'O' is a RegExp object",
+
+ test: function testcase() {
+ var regObj = new RegExp();
+
+ Object.freeze(regObj);
+
+ return Object.isFrozen(regObj);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.isFrozen);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-8.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-8.js
new file mode 100644
index 000000000..1d5ec7e12
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-8.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.2.3.9-2-d-8",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-8.js",
+
+ description: "Object.freeze - 'O' is an Error object",
+
+ test: function testcase() {
+ var errObj = new SyntaxError();
+
+ Object.freeze(errObj);
+
+ return Object.isFrozen(errObj);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.isFrozen);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-9.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-9.js
new file mode 100644
index 000000000..c67b22775
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-9.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-2-d-9",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-9.js",
+
+ description: "Object.freeze - 'O' is the Arguments object",
+
+ test: function testcase() {
+ var argObj = (function () { return arguments; } ());
+
+ Object.freeze(argObj);
+
+ return Object.isFrozen(argObj);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.isFrozen);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-3-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-3-1.js
new file mode 100644
index 000000000..97bd735cd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-3-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.2.3.9-3-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-3-1.js",
+
+ description: "Object.freeze - returned object is not extensible",
+
+ test: function testcase() {
+
+ var obj = {};
+ Object.freeze(obj);
+ return !Object.isExtensible(obj);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.isExtensible);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-1.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-1.js
new file mode 100644
index 000000000..14d19ee5c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-1.js
@@ -0,0 +1,44 @@
+/// 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.2.3.9-4-1",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-1.js",
+
+ description: "Object.freeze - 'O' is sealed already",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ obj.foo = 10; // default value of attributes: writable: true, enumerable: true
+
+ Object.seal(obj);
+
+ Object.freeze(obj);
+ return Object.isFrozen(obj);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.seal) && fnExists(Object.isFrozen);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-2.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-2.js
new file mode 100644
index 000000000..260c9fd9d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-2.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "15.2.3.9-4-2",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-2.js",
+
+ description: "Object.freeze - 'O' is frozen already",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ obj.foo = 10; // default value of attributes: writable: true, enumerable: true
+
+ Object.freeze(obj);
+
+ Object.freeze(obj);
+ return Object.isFrozen(obj);
+
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.isFrozen);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-3.js b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-3.js
new file mode 100644
index 000000000..94802364d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_build_2011/TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-3.js
@@ -0,0 +1,44 @@
+/// 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.2.3.9-4-3",
+
+ path: "TestCases/chapter15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-3.js",
+
+ description: "Object.freeze - the extensions of 'O' is prevented already",
+
+ test: function testcase() {
+
+ var obj = {};
+
+ obj.foo = 10; // default value of attributes: writable: true, enumerable: true
+
+ Object.preventExtensions(obj);
+
+ Object.freeze(obj);
+ return Object.isFrozen(obj);
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.freeze) && fnExists(Object.isFrozen) && fnExists(Object.preventExtensions);
+ }
+});