aboutsummaryrefslogtreecommitdiffstats
path: root/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5')
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-1.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-2.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-10-1.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-11-1.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-1.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-2.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-3.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-4.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-5.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-6.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-1.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-2.js40
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-3.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-4.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-5.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-1.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-2.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-1.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-10.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-11.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-12.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-13.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-14.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-15.js32
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-16.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-2.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-3.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-4.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-5.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-6.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-7.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-8.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-9.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-1.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-2.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-3.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-4.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-5.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-1.js33
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-2.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-3.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-4.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-5.js38
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-3-1.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-1.js35
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-10.js48
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-11.js42
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-12.js34
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-2.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-3.js41
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-4.js49
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-5.js39
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-6.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-7.js44
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-8.js50
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-9.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-1.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-2.js37
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-1.js36
-rw-r--r--external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-2.js36
60 files changed, 2247 insertions, 0 deletions
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-1.js
new file mode 100644
index 000000000..8a46fc5b9
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-1.js
@@ -0,0 +1,34 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-1.js
+ * @description Function.prototype.bind must exist as a function
+ */
+
+
+function testcase() {
+ var f = Function.prototype.bind;
+
+ if (typeof(f) === "function") {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-2.js
new file mode 100644
index 000000000..309773bd5
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-2.js
@@ -0,0 +1,32 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-2.js
+ * @description Function.prototype.bind must exist as a function taking 1 parameter
+ */
+
+
+function testcase() {
+ if (Function.prototype.bind.length === 1) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-10-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-10-1.js
new file mode 100644
index 000000000..dd4aaa5ab
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-10-1.js
@@ -0,0 +1,34 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-10-1.js
+ * @description Function.prototype.bind - internal property [[Class]] of 'F' is set as Function
+ */
+
+
+function testcase() {
+
+ var foo = function () { };
+
+ var obj = foo.bind({});
+ return Object.prototype.toString.call(obj) === "[object Function]";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-11-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-11-1.js
new file mode 100644
index 000000000..16d412e66
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-11-1.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-11-1.js
+ * @description Function.prototype.bind - internal property [[Prototype]] of 'F' is set as Function.prototype
+ */
+
+
+function testcase() {
+
+ var foo = function () { };
+ try {
+ Function.prototype.property = 12;
+ var obj = foo.bind({});
+
+ return obj.property === 12;
+ } finally {
+ delete Function.prototype.property;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-1.js
new file mode 100644
index 000000000..b9860f87c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-1.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-1.js
+ * @description Function.prototype.bind, bound fn has a 'length' own property
+ */
+
+
+function testcase() {
+ function foo() { }
+ var o = {};
+
+ var bf = foo.bind(o);
+ if (bf.hasOwnProperty('length')) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-2.js
new file mode 100644
index 000000000..65484b244
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-2.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-2.js
+ * @description Function.prototype.bind, 'length' set to remaining number of expected args
+ */
+
+
+function testcase() {
+ function foo(x, y) { }
+ var o = {};
+
+ var bf = foo.bind(o);
+ if (bf.length === 2) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-3.js
new file mode 100644
index 000000000..046b21d6d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-3.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-3.js
+ * @description Function.prototype.bind, 'length' set to remaining number of expected args (all args prefilled)
+ */
+
+
+function testcase() {
+ function foo(x, y) { }
+ var o = {};
+
+ var bf = foo.bind(o, 42, 101);
+ if (bf.length === 0) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-4.js
new file mode 100644
index 000000000..5ad261e33
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-4.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-4.js
+ * @description Function.prototype.bind, 'length' set to remaining number of expected args (target takes 0 args)
+ */
+
+
+function testcase() {
+ function foo() { }
+ var o = {};
+
+ var bf = foo.bind(o);
+ if (bf.length === 0) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-5.js
new file mode 100644
index 000000000..b53a658da
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-5.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-5.js
+ * @description Function.prototype.bind, 'length' set to remaining number of expected args (target provided extra args)
+ */
+
+
+function testcase() {
+ function foo() { }
+ var o = {};
+
+ var bf = foo.bind(o, 42);
+ if (bf.length === 0) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-6.js
new file mode 100644
index 000000000..2618878b4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-6.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-6.js
+ * @description Function.prototype.bind, 'length' set to remaining number of expected args
+ */
+
+
+function testcase() {
+ function foo(x, y) { }
+ var o = {};
+
+ var bf = foo.bind(o, 42);
+ if (bf.length === 1) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-1.js
new file mode 100644
index 000000000..27153f886
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-1.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-1.js
+ * @description Function.prototype.bind, 'length' is a data valued own property
+ */
+
+
+function testcase() {
+ function foo() { }
+ var o = {};
+
+ var bf = foo.bind(o);
+ var desc = Object.getOwnPropertyDescriptor(bf, 'length');
+ if (desc.hasOwnProperty('value') === true &&
+ desc.hasOwnProperty('get') === false &&
+ desc.hasOwnProperty('set') === false) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-2.js
new file mode 100644
index 000000000..1186052e6
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-2.js
+ * @description Function.prototype.bind, 'length' is a data valued own property with default attributes (false)
+ */
+
+
+function testcase() {
+ function foo() { }
+ var o = {};
+
+ var bf = foo.bind(o);
+ var desc = Object.getOwnPropertyDescriptor(bf, 'length');
+ if (desc.value === 0 &&
+ desc.enumerable === false &&
+ desc.writable === false &&
+ desc.configurable == false) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-3.js
new file mode 100644
index 000000000..d858fd9cb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-3.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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-3.js
+ * @description Function.prototype.bind - The [[Writable]] attribute of length property in F set as false
+ */
+
+
+function testcase() {
+
+ var canWritable = false;
+ var hasProperty = false;
+ function foo() { }
+ var obj = foo.bind({});
+ hasProperty = obj.hasOwnProperty("length");
+ obj.length = 100;
+ canWritable = (obj.length === 100);
+ return hasProperty && !canWritable;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-4.js
new file mode 100644
index 000000000..ade919ade
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-4.js
+ * @description Function.prototype.bind - The [[Enumerable]] attribute of length property in F set as false
+ */
+
+
+function testcase() {
+
+ var canEnumerable = false;
+ var hasProperty = false;
+ function foo() { }
+ var obj = foo.bind({});
+ hasProperty = obj.hasOwnProperty("length");
+ for (var prop in obj) {
+ if (prop === "length") {
+ canEnumerable = true;
+ }
+ }
+ return hasProperty && !canEnumerable;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-5.js
new file mode 100644
index 000000000..fa88a4dcf
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-5.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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-5.js
+ * @description Function.prototype.bind - The [[Configurable]] attribute of length property in F set as false
+ */
+
+
+function testcase() {
+
+ var canConfigurable = false;
+ var hasProperty = false;
+ function foo() { }
+ var obj = foo.bind({});
+ hasProperty = obj.hasOwnProperty("length");
+ delete obj.caller;
+ canConfigurable = !obj.hasOwnProperty("length");
+ return hasProperty && !canConfigurable;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-1.js
new file mode 100644
index 000000000..29c997f5d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-1.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-1.js
+ * @description Function.prototype.bind, [[Extensible]] of the bound fn is true
+ */
+
+
+function testcase() {
+ function foo() { }
+ var o = {};
+
+ var bf = foo.bind(o);
+ var ex = Object.isExtensible(bf);
+ if (ex === true) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-2.js
new file mode 100644
index 000000000..9738336de
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-2.js
@@ -0,0 +1,34 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-2.js
+ * @description Function.prototype.bind - The [[Extensible]] attribute of internal property in F set as true
+ */
+
+
+function testcase() {
+
+ function foo() { }
+ var obj = foo.bind({});
+ obj.property = 12;
+ return obj.hasOwnProperty("property");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-1.js
new file mode 100644
index 000000000..047e8eb2a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-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.
+
+/**
+ * 15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.
+ *
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-1.js
+ * @description Function.prototype.bind throws TypeError if the Target is not callable (but an instance of Function)
+ */
+
+
+function testcase() {
+ foo.prototype = Function.prototype;
+ // dummy function
+ function foo() {}
+ var f = new foo();
+
+ try {
+ f.bind();
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-10.js
new file mode 100644
index 000000000..6f8a24c1d
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-10.js
@@ -0,0 +1,32 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-10.js
+ * @description Function.prototype.bind throws TypeError if 'Target' is undefined
+ */
+
+
+function testcase() {
+ try {
+ Function.prototype.bind.call(undefined);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-11.js
new file mode 100644
index 000000000..0881efaa1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-11.js
@@ -0,0 +1,32 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-11.js
+ * @description Function.prototype.bind throws TypeError if 'Target' is NULL
+ */
+
+
+function testcase() {
+ try {
+ Function.prototype.bind.call(null);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-12.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-12.js
new file mode 100644
index 000000000..581fa5843
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-12.js
@@ -0,0 +1,32 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-12.js
+ * @description Function.prototype.bind throws TypeError if 'Target' is a boolean
+ */
+
+
+function testcase() {
+ try {
+ Function.prototype.bind.call(true);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-13.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-13.js
new file mode 100644
index 000000000..23861a089
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-13.js
@@ -0,0 +1,32 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-13.js
+ * @description Function.prototype.bind throws TypeError if 'Target' is a number
+ */
+
+
+function testcase() {
+ try {
+ Function.prototype.bind.call(5);
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-14.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-14.js
new file mode 100644
index 000000000..951308475
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-14.js
@@ -0,0 +1,32 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-14.js
+ * @description Function.prototype.bind throws TypeError if 'Target' is a string
+ */
+
+
+function testcase() {
+ try {
+ Function.prototype.bind.call("abc");
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-15.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-15.js
new file mode 100644
index 000000000..1bcc9cd24
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-15.js
@@ -0,0 +1,32 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-15.js
+ * @description Function.prototype.bind throws TypeError if 'Target' is Object without Call internal method
+ */
+
+
+function testcase() {
+ try {
+ Function.prototype.bind.call({});
+ return false;
+ } catch (e) {
+ return (e instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-16.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-16.js
new file mode 100644
index 000000000..20c23ea27
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-16.js
@@ -0,0 +1,33 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-16.js
+ * @description Function.prototype.bind - 'Target' is a function
+ */
+
+
+function testcase() {
+ function testFunc() {}
+ try {
+ testFunc.bind();
+ return true;
+ } catch (e) {
+ return false;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-2.js
new file mode 100644
index 000000000..47178f99e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-2.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.
+
+/**
+ * 15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.
+ *
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-2.js
+ * @description Function.prototype.bind throws TypeError if the Target is not callable (bind attached to object)
+ */
+
+
+function testcase() {
+ // dummy function
+ function foo() {}
+ var f = new foo();
+ f.bind = Function.prototype.bind;
+
+ try {
+ f.bind();
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-3.js
new file mode 100644
index 000000000..ce3054408
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-3.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * 15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.
+ *
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-3.js
+ * @description Function.prototype.bind allows Target to be a constructor (Number)
+ */
+
+
+function testcase() {
+ var bnc = Number.bind(null);
+ var n = bnc(42);
+ if (n === 42) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-4.js
new file mode 100644
index 000000000..dab0b32c3
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-4.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * 15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.
+ *
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-4.js
+ * @description Function.prototype.bind allows Target to be a constructor (String)
+ */
+
+
+function testcase() {
+ var bsc = String.bind(null);
+ var s = bsc("hello world");
+ if (s === "hello world") {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-5.js
new file mode 100644
index 000000000..83e0c4e22
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-5.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * 15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.
+ *
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-5.js
+ * @description Function.prototype.bind allows Target to be a constructor (Boolean)
+ */
+
+
+function testcase() {
+ var bbc = Boolean.bind(null);
+ var b = bbc(true);
+ if (b === true) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-6.js
new file mode 100644
index 000000000..482e3728e
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-6.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * 15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.
+ *
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-6.js
+ * @description Function.prototype.bind allows Target to be a constructor (Object)
+ */
+
+
+function testcase() {
+ var boc = Object.bind(null);
+ var o = boc(42);
+ if (o == 42) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-7.js
new file mode 100644
index 000000000..b43182368
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-7.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * 15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.
+ *
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-7.js
+ * @description Function.prototype.bind throws TypeError if the Target is not callable (JSON)
+ */
+
+
+function testcase() {
+ try {
+ JSON.bind();
+ }
+ catch (e) {
+ if (e instanceof TypeError) {
+ return true;
+ }
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-8.js
new file mode 100644
index 000000000..2f1430132
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-8.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * 15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.
+ *
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-8.js
+ * @description Function.prototype.bind allows Target to be a constructor (Array)
+ */
+
+
+function testcase() {
+ var bac = Array.bind(null);
+ var a = bac(42);
+ a.prop = "verifyPropertyExist";
+ a[41] = 41;
+
+ return a.prop === "verifyPropertyExist" && a[41] === 41 && a.length === 42;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-9.js
new file mode 100644
index 000000000..a26f51101
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-9.js
@@ -0,0 +1,34 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-9.js
+ * @description Function.prototype.bind allows Target to be a constructor (Date)
+ */
+
+
+function testcase() {
+ var bdc = Date.bind(null);
+ var s = bdc(0, 0, 0);
+ if (typeof(s) === 'string') {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-1.js
new file mode 100644
index 000000000..5aacb036c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-1.js
@@ -0,0 +1,33 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-1.js
+ * @description Function.prototype.bind - 'caller' is defined as one property of 'F'
+ */
+
+
+function testcase() {
+
+ function foo() { }
+ var obj = foo.bind({});
+ return obj.hasOwnProperty("caller");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-2.js
new file mode 100644
index 000000000..3792377aa
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-2.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-2.js
+ * @description Function.prototype.bind - [[Get]] attribute of 'caller' property in 'F' is thrower
+ */
+
+
+function testcase() {
+
+ function foo() { }
+ var obj = foo.bind({});
+ try {
+ return obj.caller && false;
+ } catch (ex) {
+ return (ex instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-3.js
new file mode 100644
index 000000000..8f7a058eb
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-3.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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-3.js
+ * @description Function.prototype.bind - [[Set]] attribute of 'caller' property in 'F' is thrower
+ */
+
+
+function testcase() {
+
+ function foo() { }
+ var obj = foo.bind({});
+ try {
+ obj.caller = 12;
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-4.js
new file mode 100644
index 000000000..12a9cc3dc
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-4.js
+ * @description Function.prototype.bind - The [[Enumerable]] attribute of 'caller' property in 'F' is false
+ */
+
+
+function testcase() {
+
+ var canEnumerable = false;
+ var hasProperty = false;
+ function foo() { }
+ var obj = foo.bind({});
+ hasProperty = obj.hasOwnProperty("caller");
+ for (var prop in obj) {
+ if (prop === "caller") {
+ canEnumerable = true;
+ }
+ }
+ return hasProperty && !canEnumerable;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-5.js
new file mode 100644
index 000000000..fbc384865
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-5.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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-5.js
+ * @description Function.prototype.bind - The [[Configurable]] attribute of 'caller' property in 'F' is false
+ */
+
+
+function testcase() {
+
+ var canConfigurable = false;
+ var hasProperty = false;
+ function foo() { }
+ var obj = foo.bind({});
+ hasProperty = obj.hasOwnProperty("caller");
+ delete obj.caller;
+ canConfigurable = obj.hasOwnProperty("caller");
+ return hasProperty && canConfigurable;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-1.js
new file mode 100644
index 000000000..d5fe80721
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-1.js
@@ -0,0 +1,33 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-1.js
+ * @description Function.prototype.bind - 'arguments' is defined as one property of 'F'
+ */
+
+
+function testcase() {
+
+ function foo() { }
+ var obj = foo.bind({});
+ return obj.hasOwnProperty("arguments");
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-2.js
new file mode 100644
index 000000000..548fdf0e1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-2.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-2.js
+ * @description Function.prototype.bind - [[Get]] attribute of 'arguments' property in 'F' is thrower
+ */
+
+
+function testcase() {
+
+ function foo() { }
+ var obj = foo.bind({});
+ try {
+ return obj.arguments && false;
+ } catch (ex) {
+ return (ex instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-3.js
new file mode 100644
index 000000000..c8ff453f2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-3.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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-3.js
+ * @description Function.prototype.bind - [[Set]] attribute of 'arguments' property in 'F' is thrower
+ */
+
+
+function testcase() {
+
+ function foo() { }
+ var obj = foo.bind({});
+ try {
+ obj.arguments = 12;
+ return false;
+ } catch (ex) {
+ return (ex instanceof TypeError);
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-4.js
new file mode 100644
index 000000000..1e6e0a73b
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-4.js
+ * @description Function.prototype.bind - The [[Enumerable]] attribute of 'arguments' property in 'F' is false
+ */
+
+
+function testcase() {
+
+ var canEnumerable = false;
+ var hasProperty = false;
+ function foo() { }
+ var obj = foo.bind({});
+ hasProperty = obj.hasOwnProperty("arguments");
+ for (var prop in obj) {
+ if (prop === "arguments") {
+ canEnumerable = true;
+ }
+ }
+ return hasProperty && !canEnumerable;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-5.js
new file mode 100644
index 000000000..ed2fcc6fd
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-5.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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-5.js
+ * @description Function.prototype.bind - The [[Configurable]] attribute of 'arguments' property in 'F' is false
+ */
+
+
+function testcase() {
+
+ var canConfigurable = false;
+ var hasProperty = false;
+ function foo() { }
+ var obj = foo.bind({});
+ hasProperty = obj.hasOwnProperty("arguments");
+ delete obj.caller;
+ canConfigurable = !obj.hasOwnProperty("arguments");
+ return hasProperty && !canConfigurable;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-3-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-3-1.js
new file mode 100644
index 000000000..471b6e7a1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-3-1.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-3-1.js
+ * @description Function.prototype.bind - each arg is defined in A in list order
+ */
+
+
+function testcase() {
+
+ var foo = function (x, y) {
+ return new Boolean((x + y) === "ab" && arguments[0] === "a" &&
+ arguments[1] === "b" && arguments.length === 2);
+ };
+
+ var obj = foo.bind({}, "a", "b");
+ return obj()==true;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-1.js
new file mode 100644
index 000000000..c0f0d66c4
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-1.js
+ * @description Function.prototype.bind - F can get own data property
+ */
+
+
+function testcase() {
+
+ var foo = function () { };
+
+ var obj = foo.bind({});
+ obj.property = 12;
+ return obj.property === 12;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-10.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-10.js
new file mode 100644
index 000000000..b09b687b2
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-10.js
@@ -0,0 +1,48 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-10.js
+ * @description Function.prototype.bind - F can get own accessor property without a get function that overrides an inherited accessor property
+ */
+
+
+function testcase() {
+
+ var foo = function () { };
+
+ var obj = foo.bind({});
+ try {
+ Object.defineProperty(Function.prototype, "property", {
+ get: function () {
+ return 3;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "property", {
+ set: function () { }
+ });
+ return typeof (obj.property) === "undefined";
+ } finally {
+ delete Function.prototype.property;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-11.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-11.js
new file mode 100644
index 000000000..4c9aa7ebf
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-11.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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-11.js
+ * @description Function.prototype.bind - F can get inherited accessor property without a get function
+ */
+
+
+function testcase() {
+
+ var foo = function () { };
+
+ var obj = foo.bind({});
+ try {
+ Object.defineProperty(Function.prototype, "property", {
+ set: function () { },
+ configurable: true
+ });
+ return typeof (obj.property) === "undefined";
+ } finally {
+ delete Function.prototype.property;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-12.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-12.js
new file mode 100644
index 000000000..ff5e75377
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-12.js
@@ -0,0 +1,34 @@
+/// 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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-12.js
+ * @description Function.prototype.bind - F cannot get property which doesn't exist
+ */
+
+
+function testcase() {
+
+ var foo = function () { };
+
+ var obj = foo.bind({});
+ return typeof (obj.property) === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-2.js
new file mode 100644
index 000000000..c7e11bc13
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-2.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-2.js
+ * @description Function.prototype.bind - F can get inherited data property
+ */
+
+
+function testcase() {
+
+ var foo = function () { };
+
+ var obj = foo.bind({});
+ try {
+ Function.prototype.property = 12;
+ return obj.property === 12;
+ } finally {
+ delete Function.prototype.property;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-3.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-3.js
new file mode 100644
index 000000000..0199c78e1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-3.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-3.js
+ * @description Function.prototype.bind - F can get own data property that overrides an inherited data property
+ */
+
+
+function testcase() {
+
+ var foo = function () { };
+
+ var obj = foo.bind({});
+
+ try {
+ Function.prototype.property = 3;
+ obj.property = 12;
+ return obj.property === 12;
+ } finally {
+ delete Function.prototype.property;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-4.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-4.js
new file mode 100644
index 000000000..0f7ad7b2c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-4.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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-4.js
+ * @description Function.prototype.bind - F can get own data property that overrides an inherited accessor property
+ */
+
+
+function testcase() {
+
+ var foo = function () { };
+
+ var obj = foo.bind({});
+ try {
+ Object.defineProperty(Function.prototype, "property", {
+ get: function () {
+ return 3;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "property", {
+ value: 12
+ });
+
+ return obj.property === 12;
+ } finally {
+ delete Function.prototype.property;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-5.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-5.js
new file mode 100644
index 000000000..47f6a93b1
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-5.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-5.js
+ * @description Function.prototype.bind - F can get own accessor property
+ */
+
+
+function testcase() {
+
+ var foo = function () { };
+
+ var obj = foo.bind({});
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return 12;
+ }
+ });
+ return obj.property === 12;
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-6.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-6.js
new file mode 100644
index 000000000..1bb8a0925
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-6.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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-6.js
+ * @description Function.prototype.bind - F can get inherited accessor property
+ */
+
+
+function testcase() {
+
+ var foo = function () { };
+
+ var obj = foo.bind({});
+ try {
+ Object.defineProperty(Function.prototype, "property", {
+ get: function () {
+ return 12;
+ },
+ configurable: true
+ });
+ return obj.property === 12;
+ } finally {
+ delete Function.prototype.property;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-7.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-7.js
new file mode 100644
index 000000000..ec7403c21
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-7.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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-7.js
+ * @description Function.prototype.bind - F can get own accessor property that overrides an inherited data property
+ */
+
+
+function testcase() {
+
+ var foo = function () { };
+
+ var obj = foo.bind({});
+ try {
+ Function.prototype.property = 3;
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return 12;
+ }
+ });
+ return obj.property === 12;
+ } finally {
+ delete Function.prototype.property;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-8.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-8.js
new file mode 100644
index 000000000..b53af9c8c
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-8.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.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-8.js
+ * @description Function.prototype.bind - F can get own accessor property that overrides an inherited accessor property
+ */
+
+
+function testcase() {
+
+ var foo = function () { };
+
+ var obj = foo.bind({});
+ try {
+ Object.defineProperty(Function.prototype, "property", {
+ get: function () {
+ return 3;
+ },
+ configurable: true
+ });
+
+ Object.defineProperty(obj, "property", {
+ get: function () {
+ return 12;
+ }
+ });
+ return obj.property === 12;
+ } finally {
+ delete Function.prototype.property;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-9.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-9.js
new file mode 100644
index 000000000..ddc3f5abf
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-9.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-9.js
+ * @description Function.prototype.bind - F can get own accessor property without a get function
+ */
+
+
+function testcase() {
+
+ var foo = function () { };
+
+ var obj = foo.bind({});
+ Object.defineProperty(obj, "property", {
+ set: function () {}
+ });
+ return obj.hasOwnProperty("property") && typeof (obj.property) === "undefined";
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-1.js
new file mode 100644
index 000000000..605447437
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-1.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-1.js
+ * @description Function.prototype.bind, type of bound function must be 'function'
+ */
+
+
+function testcase() {
+ function foo() { }
+ var o = {};
+
+ var bf = foo.bind(o);
+ if (typeof(bf) === 'function') {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-2.js
new file mode 100644
index 000000000..1f5d2dbb7
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-2.js
@@ -0,0 +1,37 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-2.js
+ * @description Function.prototype.bind, [[Class]] of bound function must be 'Function'
+ */
+
+
+function testcase() {
+ function foo() { }
+ var o = {};
+
+ var bf = foo.bind(o);
+ var s = Object.prototype.toString.call(bf);
+ if (s === '[object Function]') {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-1.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-1.js
new file mode 100644
index 000000000..8ef08302a
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-1.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-1.js
+ * @description Function.prototype.bind, [[Prototype]] is Function.prototype
+ */
+
+
+function testcase() {
+ function foo() { }
+ var o = {};
+
+ var bf = foo.bind(o);
+ if (Function.prototype.isPrototypeOf(bf)) {
+ return true;
+ }
+ }
+runTestCase(testcase);
diff --git a/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-2.js b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-2.js
new file mode 100644
index 000000000..c064809ee
--- /dev/null
+++ b/external/contributions/Microsoft/ietcLatest/TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-2.js
@@ -0,0 +1,36 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-2.js
+ * @description Function.prototype.bind, [[Prototype]] is Function.prototype (using getPrototypeOf)
+ */
+
+
+function testcase() {
+ function foo() { }
+ var o = {};
+
+ var bf = foo.bind(o);
+ if (Object.getPrototypeOf(bf) === Function.prototype) {
+ return true;
+ }
+ }
+runTestCase(testcase);