aboutsummaryrefslogtreecommitdiffstats
path: root/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14')
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-1.js35
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-2.js38
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-1.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-2.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-3.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-4.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-5.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-1.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-2.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-3.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-4.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-5.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-6.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-1.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-2.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-3.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-4.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-5.js41
18 files changed, 762 insertions, 0 deletions
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-1.js
new file mode 100644
index 000000000..55b98c35a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-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.14-0-1",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-1.js",
+
+description: "Object.keys must exist as a function",
+
+test: function testcase() {
+ var f = Object.keys;
+ if (typeof(f) === "function") {
+ return true;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-2.js
new file mode 100644
index 000000000..9f0ffb317
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-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.14-0-2",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-2.js",
+
+description: "Object.keys must exist as a function taking 1 parameter",
+
+test: function testcase() {
+ if (Object.keys.length === 1) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-1.js
new file mode 100644
index 000000000..f2ce6fea0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-1.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.2.3.14-1-1",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-1.js",
+
+description: "Object.keys throws TypeError if type of first param is not Object",
+
+test: function testcase() {
+ try {
+ Object.keys(0);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-2.js
new file mode 100644
index 000000000..27b273730
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-2.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.2.3.14-1-2",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-2.js",
+
+description: "Object.keys throws TypeError if type of first param is not Object (boolean)",
+
+test: function testcase() {
+ try {
+ Object.keys(true);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-3.js
new file mode 100644
index 000000000..64c41f6b4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-3.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.2.3.14-1-3",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-3.js",
+
+description: "Object.keys throws TypeError if type of first param is not Object (string)",
+
+test: function testcase() {
+ try {
+ Object.keys('abc');
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-4.js
new file mode 100644
index 000000000..8a4ac3640
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-4.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.2.3.14-1-4",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-4.js",
+
+description: "Object.keys throws TypeError if type of first param is not Object (null)",
+
+test: function testcase() {
+ try {
+ Object.keys(null);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-5.js
new file mode 100644
index 000000000..12f662399
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-5.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.2.3.14-1-5",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-5.js",
+
+description: "Object.keys throws TypeError if type of first param is not Object (undefined)",
+
+test: function testcase() {
+ try {
+ Object.keys(undefined);
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-1.js
new file mode 100644
index 000000000..b6aad9f54
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-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.14-2-1",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-1.js",
+
+description: "Object.keys returns the standard built-in Array",
+
+test: function testcase() {
+ var o = { x: 1, y: 2};
+
+ var a = Object.keys(o);
+ if (Array.isArray(a) === true) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys) && fnExists(Array.isArray);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-2.js
new file mode 100644
index 000000000..f0c1898c1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-2.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.2.3.14-2-2",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-2.js",
+
+description: "Object.keys returns the standard built-in Array (check [[Class]]",
+
+test: function testcase() {
+ var o = { x: 1, y: 2};
+
+ var a = Object.keys(o);
+ var s = Object.prototype.toString.call(a);
+ if (s === '[object Array]') {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-3.js
new file mode 100644
index 000000000..7695ecf58
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-3.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.2.3.14-2-3",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-3.js",
+
+description: "Object.keys returns the standard built-in Array (Array overridden)",
+
+test: function testcase() {
+ function Array() { alert("helloe"); }
+
+ var o = { x: 1, y: 2};
+
+ var a = Object.keys(o);
+
+ var s = Object.prototype.toString.call(a);
+ if (s === '[object Array]') {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-4.js
new file mode 100644
index 000000000..07d22dda5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-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.14-2-4",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-4.js",
+
+description: "Object.keys returns the standard built-in Array that is extensible",
+
+test: function testcase() {
+ var o = { x: 1, y: 2};
+
+ var a = Object.keys(o);
+ if (Object.isExtensible(a) === true) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys) && fnExists(Object.isExtensible);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-5.js
new file mode 100644
index 000000000..778f40a52
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-5.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.14-2-5",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-5.js",
+
+description: "Object.keys returns the standard built-in Array that is not sealed",
+
+test: function testcase() {
+ var o = { x: 1, y: 2};
+
+ var a = Object.keys(o);
+ if (Object.isSealed(a) === false) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys) && fnExists(Object.isSealed);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-6.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-6.js
new file mode 100644
index 000000000..36a7bec35
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-6.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.14-2-6",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-6.js",
+
+description: "Object.keys returns the standard built-in Array that is not frozen",
+
+test: function testcase() {
+ var o = { x: 1, y: 2};
+
+ var a = Object.keys(o);
+ if (Object.isFrozen(a) === false) {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys) && fnExists(Object.isFrozen);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-1.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-1.js
new file mode 100644
index 000000000..41be9b0dd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-1.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.2.3.14-3-1",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-1.js",
+
+description: "Object.keys returns the standard built-in Array containing own enumerable properties",
+
+test: function testcase() {
+ var o = { x: 1, y: 2};
+
+ var a = Object.keys(o);
+ if (a.length === 2 &&
+ a[0] === 'x' &&
+ a[1] === 'y') {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-2.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-2.js
new file mode 100644
index 000000000..0743e79b5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-2.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.2.3.14-3-2",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-2.js",
+
+description: "Object.keys returns the standard built-in Array containing own enumerable properties (function)",
+
+test: function testcase() {
+ function foo() {}
+ foo.x = 1;
+
+ var a = Object.keys(foo);
+ if (a.length === 1 &&
+ a[0] === 'x') {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-3.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-3.js
new file mode 100644
index 000000000..06f07e951
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-3.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "15.2.3.14-3-3",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-3.js",
+
+description: "Object.keys returns the standard built-in Array containing own enumerable properties (array)",
+
+test: function testcase() {
+ var o = [1, 2];
+ var a = Object.keys(o);
+ if (a.length === 2 &&
+ a[0] === '0' &&
+ a[1] === '1') {
+ return true;
+ }
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-4.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-4.js
new file mode 100644
index 000000000..24ea1602c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-4.js
@@ -0,0 +1,54 @@
+// Copyright (c) 2009 Google, Inc. All rights reserved.
+//
+// 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.14-3-4",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-4.js",
+
+description: "Object.keys of an arguments object returns the indices of the given arguments",
+
+test: function testcase() {
+ function testArgs2(x, y, z) {
+ // Properties of the arguments object are enumerable.
+ var a = Object.keys(arguments);
+ if (a.length === 2 && a[0] === "0" && a[1] === "1")
+ return true;
+ }
+ function testArgs3(x, y, z) {
+ // Properties of the arguments object are enumerable.
+ var a = Object.keys(arguments);
+ if (a.length === 3 && a[0] === "0" && a[1] === "1" && a[2] === "2")
+ return true;
+ }
+ function testArgs4(x, y, z) {
+ // Properties of the arguments object are enumerable.
+ var a = Object.keys(arguments);
+ if (a.length === 4 && a[0] === "0" && a[1] === "1" && a[2] === "2" && a[3] === "3")
+ return true;
+ }
+ return testArgs2(1, 2) && testArgs3(1, 2, 3) && testArgs4(1, 2, 3, 4);
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys);
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-5.js b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-5.js
new file mode 100644
index 000000000..69c9dc27d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ie9_rc1_refresh1/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-5.js
@@ -0,0 +1,41 @@
+// Copyright (c) 2009 Google, Inc. All rights reserved.
+//
+// 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.14-3-5",
+
+path: "TestCases/chapter15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-5.js",
+
+description: "Object.keys must return a fresh array on each invocation",
+
+test: function testcase() {
+ var literal = {a: 1};
+ var keysBefore = Object.keys(literal);
+ if (keysBefore[0] != 'a') return false;
+ keysBefore[0] = 'x';
+ var keysAfter = Object.keys(literal);
+ return (keysBefore[0] == 'x') && (keysAfter[0] == 'a');
+ },
+
+precondition: function prereq() {
+ return fnExists(Object.keys);
+ }
+});