summaryrefslogtreecommitdiff
path: root/external/contributions/Microsoft/ietestcenter_ppb10/chapter12
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Microsoft/ietestcenter_ppb10/chapter12')
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-1.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-2.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-3.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-4.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-5.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-6.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-7.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-1.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-10.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-11.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-12.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-3.js39
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-7.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-8.js38
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-9.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-2-1.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-2-2.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-2-3.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-7-1.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-1-s.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-10-s.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-11-s.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-12-s.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-13-s.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-14-s.js45
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-15-s.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-16-s.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-2-s.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-3-s.js55
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-4-s.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-5-s.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-7-s.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-8-s.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-9-s.js51
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-1.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-10.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-11.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-12.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-13.js59
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-14.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-15.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-16.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-2.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-3.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-4.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-5.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-6.js52
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-7.js62
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-8.js53
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-9.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-1-s.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-2-s.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-3-s.js54
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-4-s.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-5-s.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-6-s.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-1-s.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-10-s.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-11.js33
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-12-s.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-12.js33
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-13-s.js56
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-2-s.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-3-s.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-4-s.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-5-s.js40
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-6-s.js42
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-7-s.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-8-s.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-9-s.js41
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-1.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-10.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-11.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-12.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-13.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-14.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-15.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-16.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-17.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-18.js46
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-19.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-2.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-20.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-21.js47
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-3.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-4.js49
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-5.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-6.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-7.js50
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-8.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-9.js48
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.4/12.6.4-1.js57
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.4/12.6.4-2.js73
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.7/12.7-1.js43
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.8/12.8-1.js44
-rw-r--r--external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.9/12.9-1.js46
96 files changed, 4506 insertions, 0 deletions
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-1.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-1.js
new file mode 100644
index 000000000..327ecfa35
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-1.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.1-1",
+
+ path: "TestCases/chapter12/12.1/12.1-1.js",
+
+ description: "12.1 - block '{ StatementListopt };' is not allowed: try-catch",
+
+ test: function testcase() {
+ try {
+ eval("try{};catch(){}");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-2.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-2.js
new file mode 100644
index 000000000..639535c22
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-2.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.1-2",
+
+ path: "TestCases/chapter12/12.1/12.1-2.js",
+
+ description: "12.1 - block '{ StatementListopt };' is not allowed: try-catch-finally",
+
+ test: function testcase() {
+ try {
+ eval("try{};catch{};finally{}");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-3.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-3.js
new file mode 100644
index 000000000..ecddb4e26
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-3.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.1-3",
+
+ path: "TestCases/chapter12/12.1/12.1-3.js",
+
+ description: "12.1 - block '{ StatementListopt };' is not allowed: try-finally",
+
+ test: function testcase() {
+ try {
+ eval("try{};finally{}");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-4.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-4.js
new file mode 100644
index 000000000..eba8682f0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-4.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.1-4",
+
+ path: "TestCases/chapter12/12.1/12.1-4.js",
+
+ description: "12.1 - block '{ StatementListopt };' is not allowed: if-else",
+
+ test: function testcase() {
+ try {
+ eval("if{};else{}");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-5.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-5.js
new file mode 100644
index 000000000..720eaaa28
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-5.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.1-5",
+
+ path: "TestCases/chapter12/12.1/12.1-5.js",
+
+ description: "12.1 - block '{ StatementListopt };' is not allowed: if-else-if",
+
+ test: function testcase() {
+ try {
+ eval("if{};else if{}");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-6.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-6.js
new file mode 100644
index 000000000..d5dd8d9b8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-6.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.1-6",
+
+ path: "TestCases/chapter12/12.1/12.1-6.js",
+
+ description: "12.1 - block '{ StatementListopt };' is not allowed: if-else-if-else",
+
+ test: function testcase() {
+ try {
+ eval("if{};else if{};else{}");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-7.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-7.js
new file mode 100644
index 000000000..8915c1ff2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.1/12.1-7.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.1-7",
+
+ path: "TestCases/chapter12/12.1/12.1-7.js",
+
+ description: "12.1 - block '{ StatementListopt };' is not allowed: do-while",
+
+ test: function testcase() {
+ try {
+ eval("do{};while()");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-1.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-1.js
new file mode 100644
index 000000000..6b8d3275f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-1.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"; AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10-0-1",
+
+path: "TestCases/chapter12/12.10/12.10-0-1.js",
+
+description: "with does not change declaration scope - vars in with are visible outside",
+
+test: function testcase() {
+ var o = {};
+ var f = function () {
+ /* capture foo binding before executing with */
+ return foo;
+ }
+
+ with (o) {
+ var foo = "12.10-0-1";
+ }
+
+ return f()==="12.10-0-1"
+
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-10.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-10.js
new file mode 100644
index 000000000..d9a63c3d2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-10.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10-0-10",
+
+path: "TestCases/chapter12/12.10/12.10-0-10.js",
+
+description: "with introduces scope - name lookup finds function parameter",
+
+test: function testcase() {
+ function f(o) {
+
+ function innerf(o, x) {
+ with (o) {
+ return x;
+ }
+ }
+
+ return innerf(o, 42);
+ }
+
+ if (f({}) === 42) {
+ return true;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-11.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-11.js
new file mode 100644
index 000000000..edbc73b63
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-11.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10-0-11",
+
+path: "TestCases/chapter12/12.10/12.10-0-11.js",
+
+description: "with introduces scope - name lookup finds inner variable",
+
+test: function testcase() {
+ function f(o) {
+
+ function innerf(o) {
+ var x = 42;
+
+ with (o) {
+ return x;
+ }
+ }
+
+ return innerf(o);
+ }
+
+ if (f({}) === 42) {
+ return true;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-12.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-12.js
new file mode 100644
index 000000000..0ef2f0efa
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-12.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10-0-12",
+
+path: "TestCases/chapter12/12.10/12.10-0-12.js",
+
+description: "with introduces scope - name lookup finds property",
+
+test: function testcase() {
+ function f(o) {
+
+ function innerf(o) {
+ with (o) {
+ return x;
+ }
+ }
+
+ return innerf(o);
+ }
+
+ if (f({x:42}) === 42) {
+ return true;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-3.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-3.js
new file mode 100644
index 000000000..31c1c98fe
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-3.js
@@ -0,0 +1,39 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10-0-3",
+
+path: "TestCases/chapter12/12.10/12.10-0-3.js",
+
+description: "with introduces scope - that is captured by function expression",
+
+test: function testcase() {
+ var o = {prop: "12.10-0-3 before"};
+ var f;
+
+ with (o) {
+ f = function () { return prop; }
+ }
+ o.prop = "12.10-0-3 after";
+ return f()==="12.10-0-3 after"
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-7.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-7.js
new file mode 100644
index 000000000..5926fa723
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-7.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10-0-7",
+
+path: "TestCases/chapter12/12.10/12.10-0-7.js",
+
+description: "with introduces scope - scope removed when exiting with statement",
+
+test: function testcase() {
+ var o = {foo: 1};
+
+ with (o) {
+ foo = 42;
+ }
+
+ try {
+ foo;
+ }
+ catch (e) {
+ return true;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-8.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-8.js
new file mode 100644
index 000000000..14fe597db
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-8.js
@@ -0,0 +1,38 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10-0-8",
+
+path: "TestCases/chapter12/12.10/12.10-0-8.js",
+
+description: "with introduces scope - var initializer sets like named property",
+
+test: function testcase() {
+ var o = {foo: 42};
+
+ with (o) {
+ var foo = "set in with";
+ }
+
+ return o.foo === "set in with";
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-9.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-9.js
new file mode 100644
index 000000000..1e77928f7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-0-9.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10-0-9",
+
+path: "TestCases/chapter12/12.10/12.10-0-9.js",
+
+description: "with introduces scope - name lookup finds outer variable",
+
+test: function testcase() {
+ function f(o) {
+ var x = 42;
+
+ function innerf(o) {
+ with (o) {
+ return x;
+ }
+ }
+
+ return innerf(o);
+ }
+
+ if (f({}) === 42) {
+ return true;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-2-1.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-2-1.js
new file mode 100644
index 000000000..b9b329221
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-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.
+
+
+ES5Harness.registerTest( {
+id: "12.10-2-1",
+
+path: "TestCases/chapter12/12.10/12.10-2-1.js",
+
+description: "with - expression being Number",
+
+test: function testcase() {
+ var o = 2;
+ var foo = 1;
+ try
+ {
+ with (o) {
+ foo = 42;
+ }
+ }
+ catch(e)
+ {
+ }
+ return true;
+
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-2-2.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-2-2.js
new file mode 100644
index 000000000..c875a666b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-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.
+
+
+ES5Harness.registerTest( {
+id: "12.10-2-2",
+
+path: "TestCases/chapter12/12.10/12.10-2-2.js",
+
+description: "with - expression being Boolean",
+
+test: function testcase() {
+ var o = true;
+ var foo = 1;
+ try
+ {
+ with (o) {
+ foo = 42;
+ }
+ }
+ catch(e)
+ {
+ }
+ return true;
+
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-2-3.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-2-3.js
new file mode 100644
index 000000000..976ce7f90
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-2-3.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10-2-3",
+
+path: "TestCases/chapter12/12.10/12.10-2-3.js",
+
+description: "with - expression being string",
+
+test: function testcase() {
+ var o = "str";
+ var foo = 1;
+ try
+ {
+ with (o) {
+ foo = 42;
+ }
+ }
+ catch(e)
+ {
+ }
+ return true;
+
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-7-1.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-7-1.js
new file mode 100644
index 000000000..7faa9d9f8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10-7-1.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10-7-1",
+
+path: "TestCases/chapter12/12.10/12.10-7-1.js",
+
+description: "with introduces scope - restores the earlier environment on exit",
+
+test: function testcase() {
+ var a = 1;
+
+ var o = {a : 2};
+ try
+ {
+ with (o) {
+ a = 3;
+ throw 1;
+ a = 4;
+ }
+ }
+ catch(e)
+ {}
+
+ if (a === 1 && o.a === 3) {
+ return true;
+ }
+
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-1-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-1-s.js
new file mode 100644
index 000000000..7dc6afdd3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-1-s.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10.1-1-s",
+
+path: "TestCases/chapter12/12.10/12.10.1/12.10.1-1-s.js",
+
+description: "with statement in strict mode throws SyntaxError (strict function)",
+
+test: function testcase() {
+
+ try {
+ // wrapping it in eval since this needs to be a syntax error. The
+ // exception thrown must be a SyntaxError exception.
+ eval("\
+ function f() {\
+ \'use strict\';\
+ var o = {}; \
+ with (o) {};\
+ }\
+ ");
+ return false;
+ }
+ catch (e) {
+ return(e instanceof SyntaxError);
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-10-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-10-s.js
new file mode 100644
index 000000000..03506fd3d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-10-s.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10.1-10-s",
+
+path: "TestCases/chapter12/12.10/12.10.1/12.10.1-10-s.js",
+
+description: "with statement in strict mode throws SyntaxError (eval, where the container function is strict)",
+
+test: function testcase() {
+ 'use strict';
+
+ // wrapping it in eval since this needs to be a syntax error. The
+ // exception thrown must be a SyntaxError exception. Note that eval
+ // inherits the strictness of its calling context.
+ try {
+ eval("\
+ var o = {};\
+ with (o) {}\
+ ");
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-11-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-11-s.js
new file mode 100644
index 000000000..75c0097ea
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-11-s.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "12.10.1-11-s",
+
+ path: "TestCases/chapter12/12.10/12.10.1/12.10.1-11-s.js",
+
+ description: "Strict Mode - SyntaxError is thrown when using WithStatement in strict mode code",
+
+ test: function testcase() {
+ "use strict";
+ try {
+ eval("with ({}) { throw new Error();}");
+
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ },
+
+ strict: 1,
+
+ precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-12-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-12-s.js
new file mode 100644
index 000000000..1101f1e24
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-12-s.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10.1-12-s",
+
+path: "TestCases/chapter12/12.10/12.10.1/12.10.1-12-s.js",
+
+description: "with statement in strict mode throws SyntaxError (strict eval)",
+
+test: function testcase() {
+ try {
+ eval("\
+ 'use strict'; \
+ var o = {}; \
+ with (o) {}\
+ ");
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError) ;
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-13-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-13-s.js
new file mode 100644
index 000000000..91cdf703f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-13-s.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "12.10.1-13-s",
+
+ path: "TestCases/chapter12/12.10/12.10.1/12.10.1-13-s.js",
+
+ description: "Strict Mode - SyntaxError isn't thrown when WithStatement body is in strict mode code",
+
+ test: function testcase() {
+ with ({}) {
+ "use strict";
+ }
+ return true;
+ },
+
+ strict: 1,
+
+ precondition: function prereq() {
+ return true;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-14-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-14-s.js
new file mode 100644
index 000000000..4277ff496
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-14-s.js
@@ -0,0 +1,45 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "12.10.1-14-s",
+
+ path: "TestCases/chapter12/12.10/12.10.1/12.10.1-14-s.js",
+
+ description: "Strict Mode - SyntaxError is thrown when the getter of a literal object utilizes WithStatement",
+
+ test: function testcase() {
+ "use strict";
+
+ try {
+ eval("var obj = { get: function (a) { with(a){} } }; ");
+
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ },
+
+ strict: 1,
+
+ precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-15-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-15-s.js
new file mode 100644
index 000000000..961a58f2e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-15-s.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "12.10.1-15-s",
+
+ path: "TestCases/chapter12/12.10/12.10.1/12.10.1-15-s.js",
+
+ description: "Strict Mode - SyntaxError is thrown when the RHS of a dot property assignment utilizes WithStatement",
+
+ test: function testcase() {
+ "use strict";
+
+ try {
+ eval("var obj = {}; obj.get = function (a) { with(a){} }; ");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ },
+
+ strict: 1,
+
+ precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-16-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-16-s.js
new file mode 100644
index 000000000..bfc0a402e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-16-s.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "12.10.1-16-s",
+
+ path: "TestCases/chapter12/12.10/12.10.1/12.10.1-16-s.js",
+
+ description: "Strict Mode - SyntaxError is thrown when the RHS of an object indexer assignment utilizes WithStatement",
+
+ test: function testcase() {
+ "use strict";
+
+ try {
+ eval("var obj = {}; obj['get'] = function (a) { with(a){} }; ");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ },
+
+ strict: 1,
+
+ precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-2-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-2-s.js
new file mode 100644
index 000000000..c4369f5e0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-2-s.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10.1-2-s",
+
+path: "TestCases/chapter12/12.10/12.10.1/12.10.1-2-s.js",
+
+description: "with statement in strict mode throws SyntaxError (nested function where container is strict)",
+
+test: function testcase() {
+ try {
+ // wrapping it in eval since this needs to be a syntax error. The
+ // exception thrown must be a SyntaxError exception.
+ eval("\
+ function foo() {\
+ \'use strict\'; \
+ function f() {\
+ var o = {}; \
+ with (o) {};\
+ }\
+ }\
+ ");
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-3-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-3-s.js
new file mode 100644
index 000000000..969dae88e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-3-s.js
@@ -0,0 +1,55 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10.1-3-s",
+
+path: "TestCases/chapter12/12.10/12.10.1/12.10.1-3-s.js",
+
+description: "with statement in strict mode throws SyntaxError (nested strict function)",
+
+test: function testcase() {
+ try {
+ // wrapping it in eval since this needs to be a syntax error. The
+ // exception thrown must be a SyntaxError exception.
+ eval("\
+ function foo() {\
+ function f() {\
+ \'use strict\'; \
+ var o = {}; \
+ with (o) {};\
+ }\
+ }\
+ ");
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-4-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-4-s.js
new file mode 100644
index 000000000..990b2bbf5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-4-s.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10.1-4-s",
+
+path: "TestCases/chapter12/12.10/12.10.1/12.10.1-4-s.js",
+
+description: "with statement in strict mode throws SyntaxError (strict Function)",
+
+test: function testcase() {
+ try {
+ var f = Function("\
+ \'use strict\'; \
+ var o = {}; \
+ with (o) {};\
+ ");
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-5-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-5-s.js
new file mode 100644
index 000000000..c1e9f1ef1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-5-s.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10.1-5-s",
+
+path: "TestCases/chapter12/12.10/12.10.1/12.10.1-5-s.js",
+
+description: "with statement allowed in nested Function even if its container Function is strict)",
+
+test: function testcase() {
+
+ Function("\'use strict\'; var f1 = Function( \"var o = {}; with (o) {};\")");
+ return true;
+
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return true;
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-7-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-7-s.js
new file mode 100644
index 000000000..36814d00c
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-7-s.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10.1-7-s",
+
+path: "TestCases/chapter12/12.10/12.10.1/12.10.1-7-s.js",
+
+description: "with statement in strict mode throws SyntaxError (function expression, where the container function is directly evaled from strict code)",
+
+test: function testcase() {
+ 'use strict';
+
+ try {
+ eval("var f = function () {\
+ var o = {}; \
+ with (o) {}; \
+ }\
+ ");
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-8-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-8-s.js
new file mode 100644
index 000000000..cc0b62b7a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-8-s.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10.1-8-s",
+
+path: "TestCases/chapter12/12.10/12.10.1/12.10.1-8-s.js",
+
+description: "with statement in strict mode throws SyntaxError (function expression, where the container Function is strict)",
+
+test: function testcase() {
+ try {
+ Function("\
+ \'use strict\'; \
+ var f1 = function () {\
+ var o = {}; \
+ with (o) {}; \
+ }\
+ ");
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-9-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-9-s.js
new file mode 100644
index 000000000..8ed8c9b02
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.10/12.10.1/12.10.1-9-s.js
@@ -0,0 +1,51 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.10.1-9-s",
+
+path: "TestCases/chapter12/12.10/12.10.1/12.10.1-9-s.js",
+
+description: "with statement in strict mode throws SyntaxError (strict function expression)",
+
+test: function testcase() {
+ try {
+ eval("\
+ var f = function () {\
+ \'use strict\';\
+ var o = {}; \
+ with (o) {}; \
+ }\
+ ");
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError) ;
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-1.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-1.js
new file mode 100644
index 000000000..0ed1d6bf8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-1.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest( {
+id: "12.14-1",
+
+path: "TestCases/chapter12/12.14/12.14-1.js",
+
+description: "catch doesn't change declaration scope - var initializer in catch with same name as catch parameter changes parameter",
+
+test: function testcase() {
+ foo = "prior to throw";
+ try {
+ throw new Error();
+ }
+ catch (foo) {
+ var foo = "initializer in catch";
+ }
+ return foo === "prior to throw";
+
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-10.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-10.js
new file mode 100644
index 000000000..98e5103af
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-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.
+
+
+ES5Harness.registerTest( {
+id: "12.14-10",
+
+path: "TestCases/chapter12/12.14/12.14-10.js",
+
+description: "catch introduces scope - name lookup finds function parameter",
+
+test: function testcase() {
+ function f(o) {
+
+ function innerf(o, x) {
+ try {
+ throw o;
+ }
+ catch (e) {
+ return x;
+ }
+ }
+
+ return innerf(o, 42);
+ }
+
+ if (f({}) === 42) {
+ return true;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-11.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-11.js
new file mode 100644
index 000000000..0f7c8e75b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-11.js
@@ -0,0 +1,50 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.14-11",
+
+path: "TestCases/chapter12/12.14/12.14-11.js",
+
+description: "catch introduces scope - name lookup finds inner variable",
+
+test: function testcase() {
+ function f(o) {
+
+ function innerf(o) {
+ var x = 42;
+
+ try {
+ throw o;
+ }
+ catch (e) {
+ return x;
+ }
+ }
+
+ return innerf(o);
+ }
+
+ if (f({}) === 42) {
+ return true;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-12.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-12.js
new file mode 100644
index 000000000..1b7c4e7a3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-12.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.
+
+
+ES5Harness.registerTest( {
+id: "12.14-12",
+
+path: "TestCases/chapter12/12.14/12.14-12.js",
+
+description: "catch introduces scope - name lookup finds property",
+
+test: function testcase() {
+ function f(o) {
+
+ function innerf(o) {
+ try {
+ throw o;
+ }
+ catch (e) {
+ return e.x;
+ }
+ }
+
+ return innerf(o);
+ }
+
+ if (f({x:42}) === 42) {
+ return true;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-13.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-13.js
new file mode 100644
index 000000000..49b16fe8d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-13.js
@@ -0,0 +1,59 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.14-13",
+
+path: "TestCases/chapter12/12.14/12.14-13.js",
+
+description: "catch introduces scope - updates are based on scope",
+
+test: function testcase() {
+ var res1 = false;
+ var res2 = false;
+ var res3 = false;
+
+ var x_12_14_13 = 'local';
+ try {
+ function foo() {
+ this.x_12_14_13 = 'instance';
+ }
+
+ try {
+ throw foo;
+ }
+ catch (e) {
+ res1 = (x_12_14_13 === 'local');
+ e();
+ res2 = (x_12_14_13 === 'local');
+ }
+ res3 = (x_12_14_13 === 'local');
+
+ if (res1 === true &&
+ res2 === true &&
+ res3 === true) {
+ return true;
+ }
+ } finally {
+ delete this.x_12_14_13;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-14.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-14.js
new file mode 100644
index 000000000..7ad21e2d0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-14.js
@@ -0,0 +1,47 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.14-14",
+
+ path: "TestCases/chapter12/12.14/12.14-14.js",
+
+ description: "Exception object is a function, when an exception parameter is called as a function in catch block, global object is passed as the this value",
+
+ test: function testcase() {
+ try {
+ throw function () {
+ this._12_14_14_foo = "test";
+ };
+ return false;
+ } catch (e) {
+ e();
+ return fnGlobalObject()._12_14_14_foo === "test";
+ }
+ finally {
+ delete fnGlobalObject()._12_14_14_foo;
+ }
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-15.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-15.js
new file mode 100644
index 000000000..3020bf43d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-15.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.14-15",
+
+ path: "TestCases/chapter12/12.14/12.14-15.js",
+
+ description: "Exception object is a function which is a property of an object, when an exception parameter is called as a function in catch block, global object is passed as the this value",
+
+ test: function testcase() {
+ var obj = {};
+ obj.test = function () {
+ this._12_14_15_foo = "test";
+ };
+ try {
+ throw obj.test;
+ return false;
+ } catch (e) {
+ e();
+ return fnGlobalObject()._12_14_15_foo === "test";
+ }
+ finally {
+ delete fnGlobalObject()._12_14_15_foo;
+ }
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-16.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-16.js
new file mode 100644
index 000000000..87f505382
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-16.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.14-16",
+
+ path: "TestCases/chapter12/12.14/12.14-16.js",
+
+ description: "Exception object is a function which update in catch block, when an exception parameter is called as a function in catch block, global object is passed as the this value",
+
+ test: function testcase() {
+ try {
+ throw function () {
+ this._12_14_16_foo = "test";
+ };
+ return false;
+ } catch (e) {
+ var obj = {};
+ obj.test = function () {
+ this._12_14_16_foo = "test1";
+ };
+ e = obj.test;
+ e();
+ return fnGlobalObject()._12_14_16_foo === "test1";
+ }
+ finally {
+ delete fnGlobalObject()._12_14_16_foo;
+ }
+
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-2.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-2.js
new file mode 100644
index 000000000..b72d4506a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-2.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+ES5Harness.registerTest( {
+id: "12.14-2",
+
+path: "TestCases/chapter12/12.14/12.14-2.js",
+
+description: "catch doesn't change declaration scope - var initializer in catch with same name as catch parameter changes parameter",
+
+test: function testcase() {
+ function capturedFoo() {return foo};
+ foo = "prior to throw";
+ try {
+ throw new Error();
+ }
+ catch (foo) {
+ var foo = "initializer in catch";
+ return capturedFoo() !== "initializer in catch";
+ }
+
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-3.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-3.js
new file mode 100644
index 000000000..0df1b6b5e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-3.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.
+
+/*
+local vars must not be visible outside with block
+local functions must not be visible outside with block
+local function expresssions should not be visible outside with block
+local vars must shadow outer vars
+local functions must shadow outer functions
+local function expresssions must shadow outer function expressions
+eval should use the appended object to the scope chain
+*/
+
+
+ES5Harness.registerTest( {
+id: "12.14-3",
+
+path: "TestCases/chapter12/12.14/12.14-3.js",
+
+description: "catch doesn't change declaration scope - var declaration are visible outside when name different from catch parameter",
+
+test: function testcase() {
+ try {
+ throw new Error();
+ }
+ catch (e) {
+ var foo = "declaration in catch";
+ }
+
+ return foo === "declaration in catch";
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-4.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-4.js
new file mode 100644
index 000000000..4a11d3912
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-4.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+local vars must not be visible outside with block
+local functions must not be visible outside with block
+local function expresssions should not be visible outside with block
+local vars must shadow outer vars
+local functions must shadow outer functions
+local function expresssions must shadow outer function expressions
+eval should use the appended object to the scope chain
+*/
+
+
+ES5Harness.registerTest( {
+id: "12.14-4",
+
+path: "TestCases/chapter12/12.14/12.14-4.js",
+
+description: "catch introduces scope - block-local vars must shadow outer vars",
+
+test: function testcase() {
+ var o = { foo : 42};
+
+ try {
+ throw o;
+ }
+ catch (e) {
+ var foo;
+
+ if (foo === undefined) {
+ return true;
+ }
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-5.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-5.js
new file mode 100644
index 000000000..da1cc3e0b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-5.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+local vars must not be visible outside with block
+local functions must not be visible outside with block
+local function expresssions should not be visible outside with block
+local vars must shadow outer vars
+local functions must shadow outer functions
+local function expresssions must shadow outer function expressions
+eval should use the appended object to the scope chain
+*/
+
+
+ES5Harness.registerTest( {
+id: "12.14-5",
+
+path: "TestCases/chapter12/12.14/12.14-5.js",
+
+description: "catch introduces scope - block-local functions must shadow outer functions",
+
+test: function testcase() {
+ var o = {foo: function () { return 42;}};
+
+ try {
+ throw o;
+ }
+ catch (e) {
+ function foo() {}
+ if (foo() === undefined) {
+ return true;
+ }
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-6.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-6.js
new file mode 100644
index 000000000..92e6dbdc5
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-6.js
@@ -0,0 +1,52 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+local vars must not be visible outside with block
+local functions must not be visible outside with block
+local function expresssions should not be visible outside with block
+local vars must shadow outer vars
+local functions must shadow outer functions
+local function expresssions must shadow outer function expressions
+eval should use the appended object to the scope chain
+*/
+
+
+ES5Harness.registerTest( {
+id: "12.14-6",
+
+path: "TestCases/chapter12/12.14/12.14-6.js",
+
+description: "catch introduces scope - block-local function expression must shadow outer function expression",
+
+test: function testcase() {
+ var o = {foo : function () { return 42;}};
+
+ try {
+ throw o;
+ }
+ catch (e) {
+ var foo = function () {};
+ if (foo() === undefined) {
+ return true;
+ }
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-7.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-7.js
new file mode 100644
index 000000000..d8da127c9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-7.js
@@ -0,0 +1,62 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+local vars must not be visible outside with block
+local functions must not be visible outside with block
+local function expresssions should not be visible outside with block
+local vars must shadow outer vars
+local functions must shadow outer functions
+local function expresssions must shadow outer function expressions
+eval should use the appended object to the scope chain
+*/
+
+
+ES5Harness.registerTest( {
+id: "12.14-7",
+
+path: "TestCases/chapter12/12.14/12.14-7.js",
+
+description: "catch introduces scope - scope removed when exiting catch block",
+
+test: function testcase() {
+ var o = {foo: 1};
+ var catchAccessed = false;
+
+ try {
+ throw o;
+ }
+ catch (expObj) {
+ catchAccessed = (expObj.foo == 1);
+ }
+
+ try {
+ expObj;
+ }
+ catch (e) {
+ return catchAccessed && e instanceof ReferenceError
+ }
+ return false;
+ },
+ precondition: function prereq() {
+ return true;
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-8.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-8.js
new file mode 100644
index 000000000..81ad12fb9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-8.js
@@ -0,0 +1,53 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+local vars must not be visible outside with block
+local functions must not be visible outside with block
+local function expresssions should not be visible outside with block
+local vars must shadow outer vars
+local functions must shadow outer functions
+local function expresssions must shadow outer function expressions
+eval should use the appended object to the scope chain
+*/
+
+
+ES5Harness.registerTest( {
+id: "12.14-8",
+
+path: "TestCases/chapter12/12.14/12.14-8.js",
+
+description: "catch introduces scope - scope removed when exiting catch block (properties)",
+
+test: function testcase() {
+ var o = {foo: 42};
+
+ try {
+ throw o;
+ }
+ catch (e) {
+ var foo = 1;
+ }
+
+ if (o.foo === 42) {
+ return true;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-9.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-9.js
new file mode 100644
index 000000000..4f0aacc84
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14-9.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.14-9",
+
+path: "TestCases/chapter12/12.14/12.14-9.js",
+
+description: "catch introduces scope - name lookup finds outer variable",
+
+test: function testcase() {
+ function f(o) {
+ var x = 42;
+
+ function innerf(o) {
+ try {
+ throw o;
+ }
+ catch (e) {
+ return x;
+ }
+ }
+
+ return innerf(o);
+ }
+
+ if (f({}) === 42) {
+ return true;
+ }
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-1-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-1-s.js
new file mode 100644
index 000000000..64cac0ce1
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-1-s.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "12.14.1-1-s",
+
+ path: "TestCases/chapter12/12.14/12.14.1/12.14.1-1-s.js",
+
+ description: "Strict Mode - SyntaxError is thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is eval",
+
+ test: function testcase() {
+ "use strict";
+
+ try {
+ eval("\
+ try {} catch (eval) { }\
+ ");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ },
+
+ strict: 1,
+
+ precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-2-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-2-s.js
new file mode 100644
index 000000000..89226a807
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-2-s.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "12.14.1-2-s",
+
+ path: "TestCases/chapter12/12.14/12.14.1/12.14.1-2-s.js",
+
+ description: "Strict Mode - SyntaxError is thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is arguments",
+
+ test: function testcase() {
+ "use strict";
+
+ try {
+ eval("\
+ try {} catch (arguments) { }\
+ ");
+ return false;
+ } catch (e) {
+ return e instanceof SyntaxError;
+ }
+ },
+
+ strict: 1,
+
+ precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-3-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-3-s.js
new file mode 100644
index 000000000..39dbb88ca
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-3-s.js
@@ -0,0 +1,54 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "12.14.1-3-s",
+
+ path: "TestCases/chapter12/12.14/12.14.1/12.14.1-3-s.js",
+
+ description: "Strict Mode - SyntaxError isn't thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is EVAL but throws SyntaxError if it is eval",
+
+ test: function testcase() {
+ "use strict";
+
+ try{ eval(" try { \
+ throw new Error(\"...\");\
+ return false;\
+ } catch (EVAL) {\
+ try\
+ {\
+ throw new Error(\"...\");\
+ }catch(eval)\
+ {\
+ return EVAL instanceof Error;\
+ }\
+ }");
+ return false;
+ } catch(e) {
+ return e instanceof SyntaxError;
+ }
+ },
+
+ strict: 1,
+
+ precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-4-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-4-s.js
new file mode 100644
index 000000000..eb3ca3b53
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-4-s.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "12.14.1-4-s",
+
+ path: "TestCases/chapter12/12.14/12.14.1/12.14.1-4-s.js",
+
+ description: "Strict Mode - SyntaxError isn't thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is EVAL",
+
+ test: function testcase() {
+ "use strict";
+
+ try {
+ throw new Error("...");
+ return false;
+ } catch (EVAL) {
+ return EVAL instanceof Error;
+ }
+ },
+
+ strict: 1,
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-5-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-5-s.js
new file mode 100644
index 000000000..e7820de9f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-5-s.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "12.14.1-5-s",
+
+ path: "TestCases/chapter12/12.14/12.14.1/12.14.1-5-s.js",
+
+ description: "Strict Mode - SyntaxError isn't thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is Arguments",
+
+ test: function testcase() {
+ "use strict";
+
+ try {
+ throw new Error("...");
+ return false;
+ } catch (Arguments) {
+ return Arguments instanceof Error;
+ }
+ },
+
+ strict: 1,
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-6-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-6-s.js
new file mode 100644
index 000000000..bf3e5039f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.14/12.14.1/12.14.1-6-s.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ES5Harness.registerTest({
+ id: "12.14.1-6-s",
+
+ path: "TestCases/chapter12/12.14/12.14.1/12.14.1-6-s.js",
+
+ description: "Strict Mode - SyntaxError isn't thrown if a TryStatement with a Catch occurs within strict code and the Identifier of the Catch production is ARGUMENTS",
+
+ test: function testcase() {
+ "use strict";
+
+ try {
+ throw new Error("...");
+ return false;
+ } catch (ARGUMENTS) {
+ return ARGUMENTS instanceof Error;
+ }
+ },
+
+ strict: 1,
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-1-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-1-s.js
new file mode 100644
index 000000000..6431b852b
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-1-s.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.
+
+
+ES5Harness.registerTest( {
+id: "12.2.1-1-s",
+
+path: "TestCases/chapter12/12.2/12.2.1/12.2.1-1-s.js",
+
+description: "eval - a function declaring a var named 'eval' throws SyntaxError in strict mode",
+
+test: function testcase() {
+ 'use strict';
+
+ try {
+ eval('function foo() { var eval; }');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-10-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-10-s.js
new file mode 100644
index 000000000..1b06b6b29
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-10-s.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.2.1-10-s",
+
+path: "TestCases/chapter12/12.2/12.2.1/12.2.1-10-s.js",
+
+description: "Strict Mode: an indirect eval assigning into 'eval' does not throw",
+
+test: function testcase() {
+ 'use strict';
+ var s = eval;
+ s('eval = 42;');
+ return true;
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-11.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-11.js
new file mode 100644
index 000000000..1e2725fd4
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-11.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.
+
+
+ES5Harness.registerTest( {
+id: "12.2.1-11",
+
+path: "TestCases/chapter12/12.2/12.2.1/12.2.1-11.js",
+
+description: "arguments as var identifier in eval code is allowed",
+
+test: function testcase() {
+ eval("var arguments;");
+ return true;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-12-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-12-s.js
new file mode 100644
index 000000000..8eefc136d
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-12-s.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.2.1-12-s",
+
+path: "TestCases/chapter12/12.2/12.2.1/12.2.1-12-s.js",
+
+description: "arguments as local var identifier throws SyntaxError in strict mode",
+
+test: function testcase() {
+
+ try {
+ eval("(function (){'use strict'; var arguments;});");
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-12.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-12.js
new file mode 100644
index 000000000..61456c048
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-12.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.
+
+
+ES5Harness.registerTest( {
+id: "12.2.1-12",
+
+path: "TestCases/chapter12/12.2/12.2.1/12.2.1-12.js",
+
+description: "arguments as local var identifier is allowed",
+
+test: function testcase() {
+ eval("(function (){var arguments;})");
+ return true;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-13-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-13-s.js
new file mode 100644
index 000000000..e2b77b649
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-13-s.js
@@ -0,0 +1,56 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.2.1-13-s",
+
+path: "TestCases/chapter12/12.2/12.2.1/12.2.1-13-s.js",
+
+description: "arguments as global var identifier throws SyntaxError in strict mode",
+
+test: function testcase() {
+
+ var indirectEval = eval;
+
+ try {
+ indirectEval("'use strict'; var arguments;");
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ },
+
+strict:1,
+
+precondition: function () {
+ //indirect eval must be globally scoped
+ var localVar = "12.2.1-13-s";
+ var indirectEval = eval;
+ try {
+ if (indirectEval("localVar;")==="12.2.1-13-s" )
+ return false;
+ } catch (e) {
+ }
+ return fnSupportsStrict();
+}
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-2-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-2-s.js
new file mode 100644
index 000000000..e1fcc0ff8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-2-s.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.
+
+
+ES5Harness.registerTest( {
+id: "12.2.1-2-s",
+
+path: "TestCases/chapter12/12.2/12.2.1/12.2.1-2-s.js",
+
+description: "eval - a function assigning into 'eval' throws SyntaxError in strict mode",
+
+test: function testcase() {
+ 'use strict';
+
+ try {
+ eval('function foo() { eval = 42; }; foo()');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-3-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-3-s.js
new file mode 100644
index 000000000..8f7e26598
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-3-s.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.
+
+
+ES5Harness.registerTest( {
+id: "12.2.1-3-s",
+
+path: "TestCases/chapter12/12.2/12.2.1/12.2.1-3-s.js",
+
+description: "eval - a function expr declaring a var named 'eval' throws SyntaxError in strict mode",
+
+test: function testcase() {
+ 'use strict';
+
+ try {
+ eval('(function () { var eval; })');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-4-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-4-s.js
new file mode 100644
index 000000000..eafe3a676
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-4-s.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.
+
+
+ES5Harness.registerTest( {
+id: "12.2.1-4-s",
+
+path: "TestCases/chapter12/12.2/12.2.1/12.2.1-4-s.js",
+
+description: "eval - a function expr assigning into 'eval' throws a SyntaxError in strict mode",
+
+test: function testcase() {
+ 'use strict';
+
+ try {
+ eval('(function () { eval = 42; })()');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-5-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-5-s.js
new file mode 100644
index 000000000..674e5883a
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-5-s.js
@@ -0,0 +1,40 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.2.1-5-s",
+
+ path: "TestCases/chapter12/12.2/12.2.1/12.2.1-5-s.js",
+
+ description: "Strict Mode - a Function declaring var named 'eval' does not throw SyntaxError",
+
+ test: function testcase() {
+ 'use strict';
+ Function('var eval;');
+ return true;
+ },
+
+ strict:1,
+
+precondition: function prereq() {
+ return true;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-6-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-6-s.js
new file mode 100644
index 000000000..04d635406
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-6-s.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.2.1-6-s",
+
+path: "TestCases/chapter12/12.2/12.2.1/12.2.1-6-s.js",
+
+description: "eval - a Function assigning into 'eval' will not throw any error if contained within strict mode and its body does not start with strict mode",
+
+test: function testcase() {
+ 'use strict';
+
+ var f = Function('eval = 42;');
+ f();
+ return true;
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return true;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-7-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-7-s.js
new file mode 100644
index 000000000..35af90bfe
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-7-s.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.
+
+
+ES5Harness.registerTest( {
+id: "12.2.1-7-s",
+
+path: "TestCases/chapter12/12.2/12.2.1/12.2.1-7-s.js",
+
+description: "eval - a direct eval declaring a var named 'eval' throws SyntaxError in strict mode",
+
+test: function testcase() {
+ 'use strict';
+
+ try {
+ eval('var eval;');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError);
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-8-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-8-s.js
new file mode 100644
index 000000000..960ad8a90
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-8-s.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.
+
+
+ES5Harness.registerTest( {
+id: "12.2.1-8-s",
+
+path: "TestCases/chapter12/12.2/12.2.1/12.2.1-8-s.js",
+
+description: "eval - a direct eval assigning into 'eval' throws SyntaxError in strict mode",
+
+test: function testcase() {
+ 'use strict';
+
+ try {
+ eval('eval = 42;');
+ return false;
+ }
+ catch (e) {
+ return (e instanceof SyntaxError) ;
+ }
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+
+
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-9-s.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-9-s.js
new file mode 100644
index 000000000..bf259e9c6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.2/12.2.1/12.2.1-9-s.js
@@ -0,0 +1,41 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest( {
+id: "12.2.1-9-s",
+
+path: "TestCases/chapter12/12.2/12.2.1/12.2.1-9-s.js",
+
+description: "Strict Mode: an indirect eval declaring a var named 'eval' does not throw",
+
+test: function testcase() {
+ 'use strict';
+ var s = eval;
+ s('var eval;');
+ return true;
+ },
+
+strict:1,
+
+precondition: function prereq() {
+ return fnSupportsStrict();
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-1.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-1.js
new file mode 100644
index 000000000..796dc86f6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-1.js
@@ -0,0 +1,49 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-1",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-1.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is an Object with value false",
+
+ test: function testcase() {
+ var accessed = false;
+ var obj = { value: false };
+ for (var i = 0; obj; ) {
+ accessed = true;
+ break;
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+});
+
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-10.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-10.js
new file mode 100644
index 000000000..f0a4c27b8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-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.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-10",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-10.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is '1')",
+
+ test: function testcase() {
+ var accessed = false;
+ var strObj = new String("1");
+ for (var i = 0; strObj;) {
+ accessed = true;
+ break;
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-11.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-11.js
new file mode 100644
index 000000000..37b6d9238
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-11.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-11",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-11.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is undefined",
+
+ test: function testcase() {
+ var count = 0;
+ for (var i = 0; undefined;) {
+ count++;
+ }
+ return count === 0;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-12.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-12.js
new file mode 100644
index 000000000..ea35388c0
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-12.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-12",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-12.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is null",
+
+ test: function testcase() {
+ var count = 0;
+ for (var i = 0; null;) {
+ count++;
+ }
+ return count === 0;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-13.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-13.js
new file mode 100644
index 000000000..2ee34e3e3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-13.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-13",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-13.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a boolean (value is false)",
+
+ test: function testcase() {
+ var count = 0;
+ for (var i = 0; false;) {
+ count++;
+ }
+ return count === 0;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-14.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-14.js
new file mode 100644
index 000000000..3020be673
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-14.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-14",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-14.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is NaN)",
+
+ test: function testcase() {
+ var count = 0;
+ for (var i = 0; NaN;) {
+ count++;
+ }
+ return count === 0;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-15.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-15.js
new file mode 100644
index 000000000..788b57ef7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-15.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-15",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-15.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is +0)",
+
+ test: function testcase() {
+ var count = 0;
+ for (var i = 0; +0;) {
+ count++;
+ }
+ return count === 0;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-16.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-16.js
new file mode 100644
index 000000000..4195895f7
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-16.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-16",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-16.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is -0)",
+
+ test: function testcase() {
+ var count = 0;
+ for (var i = 0; -0;) {
+ count++;
+ }
+ return count === 0;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-17.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-17.js
new file mode 100644
index 000000000..436a3d4a9
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-17.js
@@ -0,0 +1,47 @@
+/// 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.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-17",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-17.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a number (value is a positive)",
+
+ test: function testcase() {
+ var accessed = false;
+ for (var i = 0; 2;) {
+ accessed = true;
+ break;
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-18.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-18.js
new file mode 100644
index 000000000..5c2261bdc
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-18.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-18",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-18.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is empty string)",
+
+ test: function testcase() {
+ var count = 0;
+ for (var i = 0; "";) {
+ count++;
+ }
+ return count === 0;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-19.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-19.js
new file mode 100644
index 000000000..a0aba8fa2
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-19.js
@@ -0,0 +1,47 @@
+/// 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.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-19",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-19.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is 'undefined')",
+
+ test: function testcase() {
+ var accessed = false;
+ for (var i = 0; "undefined";) {
+ accessed = true;
+ break;
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-2.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-2.js
new file mode 100644
index 000000000..24bd265d6
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-2.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.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-2",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-2.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a Boolean object",
+
+ test: function testcase() {
+ var accessed = false;
+ var boolObj = new Boolean(false);
+ for (var i = 0; boolObj;) {
+ accessed = true;
+ break;
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+});
+
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-20.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-20.js
new file mode 100644
index 000000000..27a7c1f93
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-20.js
@@ -0,0 +1,47 @@
+/// 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.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-20",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-20.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is 'null')",
+
+ test: function testcase() {
+ var accessed = false;
+ for (var i = 0; "null";) {
+ accessed = true;
+ break;
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-21.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-21.js
new file mode 100644
index 000000000..78c987138
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-21.js
@@ -0,0 +1,47 @@
+/// 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.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-21",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-21.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a string (value is '1')",
+
+ test: function testcase() {
+ var accessed = false;
+ for (var i = 0; "1";) {
+ accessed = true;
+ break;
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-3.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-3.js
new file mode 100644
index 000000000..16734cb60
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-3.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.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-3",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-3.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is NaN)",
+
+ test: function testcase() {
+ var accessed = false;
+ var numObj = new Number(NaN);
+ for (var i = 0; numObj;) {
+ accessed = true;
+ break;
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+});
+
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-4.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-4.js
new file mode 100644
index 000000000..6bf604741
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-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.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-4",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-4.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is +0)",
+
+ test: function testcase() {
+ var accessed = false;
+ var numObj = new Number(+0);
+ for (var i = 0; numObj;) {
+ accessed = true;
+ break;
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+});
+
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-5.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-5.js
new file mode 100644
index 000000000..e7d8ffd3f
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-5.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.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-5",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-5.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is -0)",
+
+ test: function testcase() {
+ var accessed = false;
+ var numObj = new Number(-0);
+ for (var i = 0; numObj;) {
+ accessed = true;
+ break;
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-6.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-6.js
new file mode 100644
index 000000000..9904cb362
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-6.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.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-6",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-6.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a Number object (value is a positive)",
+
+ test: function testcase() {
+ var accessed = false;
+ var numObj = new Number(12);
+ for (var i = 0; numObj;) {
+ accessed = true;
+ break;
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-7.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-7.js
new file mode 100644
index 000000000..704d0f2a3
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-7.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.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-7",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-7.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is empty string)",
+
+ test: function testcase() {
+ var accessed = false;
+ var strObj = new String("");
+ for (var i = 0; strObj;) {
+ accessed = true;
+ break;
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+});
+
+
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-8.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-8.js
new file mode 100644
index 000000000..d07883e22
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-8.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.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-8",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-8.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is 'undefined')",
+
+ test: function testcase() {
+ var accessed = false;
+ var strObj = new String("undefined");
+ for (var i = 0; strObj;) {
+ accessed = true;
+ break;
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-9.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-9.js
new file mode 100644
index 000000000..61ec77f13
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-9.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.
+
+/*
+Refer 12.6.3;
+The production
+ IterationStatement : for ( var VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement
+is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "12.6.3_2-3-a-ii-9",
+
+ path: "TestCases/chapter12/12.6/12.6.3/12.6.3_2-3-a-ii-9.js",
+
+ description: "The for Statement - (normal, V, empty) will be returned when first Expression is a String object (value is 'null')",
+
+ test: function testcase() {
+ var accessed = false;
+ var strObj = new String("null");
+ for (var i = 0; strObj;) {
+ accessed = true;
+ break;
+ }
+ return accessed;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+}); \ No newline at end of file
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.4/12.6.4-1.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.4/12.6.4-1.js
new file mode 100644
index 000000000..c2d92e703
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.4/12.6.4-1.js
@@ -0,0 +1,57 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.6.4-1",
+
+ path: "TestCases/chapter12/12.6/12.6.4/12.6.4-1.js",
+
+ description: "The for-in Statement - a property name must not be visited more than once in any enumeration.",
+
+ test: function testcase() {
+ var obj = { prop1: "abc", prop2: "bbc", prop3: "cnn" };
+
+ var countProp1 = 0;
+ var countProp2 = 0;
+ var countProp3 = 0;
+
+ for (var p in obj) {
+ if (obj.hasOwnProperty(p)) {
+ if (p === "prop1") {
+ countProp1++;
+ }
+ if (p === "prop2") {
+ countProp2++;
+ }
+ if (p === "prop3") {
+ countProp3++;
+ }
+ }
+ }
+ return countProp1 === 1 && countProp2 === 1 && countProp3 === 1;
+ },
+
+
+
+ precondition: function prereq() {
+ return true;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.4/12.6.4-2.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.4/12.6.4-2.js
new file mode 100644
index 000000000..439a19cd8
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.6/12.6.4/12.6.4-2.js
@@ -0,0 +1,73 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.6.4-2",
+
+ path: "TestCases/chapter12/12.6/12.6.4/12.6.4-2.js",
+
+ description: "The for-in Statement - the values of [[Enumerable]] attributes are not considered when determining if a property of a prototype object is shadowed by a previous object on the prototype chain",
+
+ test: function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "prop", {
+ value: "inheritedValue",
+ enumerable: false,
+ configurable: true,
+ writable: true
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(child, "prop1", {
+ value: "overridedValue1",
+ enumerable: false
+ });
+ Object.defineProperty(child, "prop2", {
+ value: "overridedValue2",
+ enumerable: true
+ });
+ var accessedProp1 = false;
+ var accessedProp2 = false;
+
+ for (var p in child) {
+ if (child.hasOwnProperty(p)) {
+ if (p === "prop1") {
+ accessedProp1 = true;
+ }
+ if (p === "prop2") {
+ accessedProp2 = true;
+ }
+ }
+ }
+ return !accessedProp1 && accessedProp2 && child.prop1 === "overridedValue1" && child.prop2 === "overridedValue2";
+ },
+
+ precondition: function prereq() {
+ return fnExists(Object.defineProperty);
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.7/12.7-1.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.7/12.7-1.js
new file mode 100644
index 000000000..ea9584626
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.7/12.7-1.js
@@ -0,0 +1,43 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.7-1",
+
+ path: "TestCases/chapter12/12.7/12.7-1.js",
+
+ description: "The continue Statement - a continue statement without an identifier may have a LineTerminator before the semi-colon",
+
+ test: function testcase() {
+ var sum = 0;
+ for (var i = 1; i <= 10; i++) {
+ continue
+ ;
+ sum += i;
+ }
+ return sum === 0;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+});
+
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.8/12.8-1.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.8/12.8-1.js
new file mode 100644
index 000000000..4cd8c031e
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.8/12.8-1.js
@@ -0,0 +1,44 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.8-1",
+
+ path: "TestCases/chapter12/12.8/12.8-1.js",
+
+ description: "The break Statement - a break statement without an identifier may have a LineTerminator before the semi-colon",
+
+ test: function testcase() {
+ var sum = 0;
+ for (var i = 1; i <= 10; i++) {
+ if (i === 6) {
+ break
+ ;
+ }
+ sum += i;
+ }
+ return sum === 15;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+});
diff --git a/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.9/12.9-1.js b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.9/12.9-1.js
new file mode 100644
index 000000000..67b9896fd
--- /dev/null
+++ b/external/contributions/Microsoft/ietestcenter_ppb10/chapter12/12.9/12.9-1.js
@@ -0,0 +1,46 @@
+/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "12.9-1",
+
+ path: "TestCases/chapter12/12.9/12.9-1.js",
+
+ description: "The return Statement - a return statement without an expression may have a LineTerminator before the semi-colon",
+
+ test: function testcase() {
+ var sum = 0;
+ (function innerTest() {
+ for (var i = 1; i <= 10; i++) {
+ if (i === 6) {
+ return
+ ;
+ }
+ sum += i;
+ }
+ })();
+ return sum === 15;
+ },
+
+ precondition: function prereq() {
+ return true;
+ }
+});