diff options
author | David Fugate <dfugate@microsoft.com> | 2011-09-25 12:14:01 -0700 |
---|---|---|
committer | David Fugate <dfugate@microsoft.com> | 2011-09-25 12:14:01 -0700 |
commit | 79a1c6c96b4fb24e429f60beb0b9f6840ce4b27f (patch) | |
tree | 7a9ee453960cc74dce42cd81f2c6c31418caadb5 /external/contributions/Microsoft/ietc_262modified/chapter13/13.0 | |
parent | b81a5d9a03f8581f95192547f5db08c5e2238392 (diff) | |
download | test262-79a1c6c96b4fb24e429f60beb0b9f6840ce4b27f.tar.gz |
external/contributions/Microsoft/ietc_262modified/* consists of Microsoft's test262
contributions which have been modified (generally based on bug feedback). Doing this
as we don't want to modify the original contribution.
Diffstat (limited to 'external/contributions/Microsoft/ietc_262modified/chapter13/13.0')
17 files changed, 721 insertions, 0 deletions
diff --git a/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-1.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-1.js new file mode 100644 index 000000000..c67b310ee --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-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: "13.0-1",
+
+ path: "TestCases/chapter13/13.0/13.0-1.js",
+
+ description: "13.0 - multiple names in one function declaration is not allowed, two function names",
+
+ test: function testcase() {
+ try {
+ eval("function x, y() {}");
+ 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/ietc_262modified/chapter13/13.0/13.0-10-s.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-10-s.js new file mode 100644 index 000000000..73b951c4b --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-10-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.
+
+/*
+Refer 13;
+The production FunctionBody : SourceElementsopt is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "13.0-10-s",
+
+ path: "TestCases/chapter13/13.0/13.0-10-s.js",
+
+ description: "Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionBody with an inner function contains a Use Strict Directive",
+
+ test: function testcase() {
+
+ function _13_0_10_fun() {
+ function _13_0_10_inner() {
+ "use strict";
+ eval("eval = 42;");
+ }
+ _13_0_10_inner();
+ };
+ try {
+ _13_0_10_fun();
+ 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/ietc_262modified/chapter13/13.0/13.0-11-s.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-11-s.js new file mode 100644 index 000000000..c674487e4 --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-11-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.
+
+/*
+Refer 13;
+The production FunctionBody : SourceElementsopt is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "13.0-11-s",
+
+ path: "TestCases/chapter13/13.0/13.0-11-s.js",
+
+ description: "Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionBody with an inner function which is in strict mode",
+
+ test: function testcase() {
+
+ function _13_0_11_fun() {
+ "use strict";
+ function _13_0_11_inner() {
+ eval("eval = 42;");
+ }
+ _13_0_11_inner();
+ };
+ try {
+ _13_0_11_fun();
+ 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/ietc_262modified/chapter13/13.0/13.0-12-s.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-12-s.js new file mode 100644 index 000000000..605cb0976 --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-12-s.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 13;
+The production FunctionBody : SourceElementsopt is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "13.0-12-s",
+
+ path: "TestCases/chapter13/13.0/13.0-12-s.js",
+
+ description: "Strict Mode - SourceElements is not evaluated as strict mode code when a Function constructor is contained in strict mode code and the function constructor body is not strict",
+
+ test: function testcase() {
+ "use strict";
+
+ var _13_0_12_fun = new Function(" ","eval = 42;");
+ _13_0_12_fun();
+ return true;
+
+ },
+
+ strict: 1,
+
+ precondition: function prereq() {
+ return true;
+ }
+});
\ No newline at end of file diff --git a/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-13-s.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-13-s.js new file mode 100644 index 000000000..d1b605c75 --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-13-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.
+
+/*
+Refer 13;
+The production FunctionBody : SourceElementsopt is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "13.0-13-s",
+
+ path: "TestCases/chapter13/13.0/13.0-13-s.js",
+
+ description: "Strict Mode - SourceElements is evaluated as strict mode code when the function body of a Function constructor begins with a Strict Directive",
+
+ test: function testcase() {
+
+ try {
+ eval("var _13_0_13_fun = new Function(\" \", \"'use strict'; eval = 42;\"); _13_0_13_fun();");
+ 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/ietc_262modified/chapter13/13.0/13.0-14-s.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-14-s.js new file mode 100644 index 000000000..2ef9de83d --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-14-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.
+
+/*
+Refer 13;
+The production FunctionBody : SourceElementsopt is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "13.0-14-s",
+
+ path: "TestCases/chapter13/13.0/13.0-14-s.js",
+
+ description: "Strict Mode - SourceElements is evaluated as strict mode code when the function body of a Function constructor contains a Strict Directive",
+
+ test: function testcase() {
+
+ try {
+ var _13_0_14_fun = new Function(" ", "'use strict'; eval = 42; ");
+ _13_0_14_fun();
+ 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/ietc_262modified/chapter13/13.0/13.0-15-s.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-15-s.js new file mode 100644 index 000000000..48216777f --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-15-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.
+
+/*
+Refer 13;
+The production FunctionBody : SourceElementsopt is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "13.0-15-s",
+
+ path: "TestCases/chapter13/13.0/13.0-15-s.js",
+
+ description: "Strict Mode - SourceElements is evaluated as strict mode code when a FunctionDeclaration is contained in strict mode code within eval code",
+
+ test: function testcase() {
+
+ try {
+ eval("'use strict'; function _13_0_15_fun() {eval = 42;};");
+ _13_0_15_fun();
+ 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/ietc_262modified/chapter13/13.0/13.0-16-s.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-16-s.js new file mode 100644 index 000000000..f60d36211 --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-16-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.
+
+/*
+Refer 13;
+The production FunctionBody : SourceElementsopt is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "13.0-16-s",
+
+ path: "TestCases/chapter13/13.0/13.0-16-s.js",
+
+ description: "Strict Mode - SourceElements is evaluated as strict mode code when a FunctionExpression is contained in strict mode code within eval code",
+
+ test: function testcase() {
+
+ try {
+ eval("'use strict'; var _13_0_16_fun = function () {eval = 42;};");
+ _13_0_16_fun();
+ 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/ietc_262modified/chapter13/13.0/13.0-17-s.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-17-s.js new file mode 100644 index 000000000..e098644be --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-17-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.
+
+/*
+Refer 13;
+The production FunctionBody : SourceElementsopt is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "13.0-17-s",
+
+ path: "TestCases/chapter13/13.0/13.0-17-s.js",
+
+ description: "Strict Mode - SourceElements is not evaluated as strict mode code when a Function constructor is contained in strict mode code within eval code",
+
+ test: function testcase() {
+
+ eval("'use strict'; var _13_0_17_fun = new Function('eval = 42;'); _13_0_17_fun();");
+ return true;
+ },
+
+ strict: 1,
+
+ precondition: function prereq() {
+ return true;
+ }
+});
\ No newline at end of file diff --git a/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-2.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-2.js new file mode 100644 index 000000000..a91ae2014 --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-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: "13.0-2",
+
+ path: "TestCases/chapter13/13.0/13.0-2.js",
+
+ description: "13.0 - multiple names in one function declaration is not allowed, three function names",
+
+ test: function testcase() {
+ try {
+ eval("function x,y,z(){}");
+ 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/ietc_262modified/chapter13/13.0/13.0-3.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-3.js new file mode 100644 index 000000000..c327e664f --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-3.js @@ -0,0 +1,42 @@ +/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "13.0-3",
+
+ path: "TestCases/chapter13/13.0/13.0-3.js",
+
+ description: "13.0 - property names in function definition is not allowed, add a new property into object",
+
+ test: function testcase() {
+ var obj = {};
+ try {
+ eval("function obj.tt() {};");
+ 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/ietc_262modified/chapter13/13.0/13.0-4.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-4.js new file mode 100644 index 000000000..54aac5938 --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-4.js @@ -0,0 +1,43 @@ +/// Copyright (c) 2009 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ES5Harness.registerTest({
+ id: "13.0-4",
+
+ path: "TestCases/chapter13/13.0/13.0-4.js",
+
+ description: "13.0 - multiple names in one function declaration is not allowed, add a new property into a property which is a object",
+
+ test: function testcase() {
+ var obj = {};
+ obj.tt = { len: 10 };
+ try {
+ eval("function obj.tt.ss() {};");
+ 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/ietc_262modified/chapter13/13.0/13.0-7-s.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-7-s.js new file mode 100644 index 000000000..14f231678 --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-7-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.
+
+/*
+Refer 13;
+The production FunctionBody : SourceElementsopt is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "13.0-7-s",
+
+ path: "TestCases/chapter13/13.0/13.0-7-s.js",
+
+ description: "Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionDeclaration is contained in non-strict mode but the call to eval is a direct call in strict mode code",
+
+ test: function testcase() {
+
+ try {
+ eval("'use strict'; function _13_0_7_fun() {eval = 42;};");
+ _13_0_7_fun();
+ 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/ietc_262modified/chapter13/13.0/13.0-8-s.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-8-s.js new file mode 100644 index 000000000..32f48b85f --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-8-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.
+
+/*
+Refer 13;
+The production FunctionBody : SourceElementsopt is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "13.0-8-s",
+
+ path: "TestCases/chapter13/13.0/13.0-8-s.js",
+
+ description: "Strict Mode - SourceElements is evaluated as strict mode code when the code of this FunctionExpression is contained in non-strict mode but the call to eval is a direct call in strict mode code",
+
+ test: function testcase() {
+ "use strict";
+
+ try {
+ eval("var _13_0_8_fun = function () {eval = 42;};");
+ _13_0_8_fun();
+ 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/ietc_262modified/chapter13/13.0/13.0-9-s.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-9-s.js new file mode 100644 index 000000000..8ad46c8ac --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13.0-9-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.
+
+/*
+Refer 13;
+The production FunctionBody : SourceElementsopt is evaluated as follows:
+*/
+
+ES5Harness.registerTest({
+ id: "13.0-9-s",
+
+ path: "TestCases/chapter13/13.0/13.0-9-s.js",
+
+ description: "Strict Mode - SourceElements is evaluated as strict mode code when a FunctionDeclaration that is contained in strict mode code has an inner function",
+
+ test: function testcase() {
+ "use strict";
+
+ var _13_0_9_fun = function () {
+ function _13_0_9_inner() { eval("eval = 42;"); }
+ _13_0_9_inner();
+ };
+ try {
+ _13_0_9_fun();
+ 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/ietc_262modified/chapter13/13.0/13_4-17gs.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13_4-17gs.js new file mode 100644 index 000000000..e7fe692f5 --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13_4-17gs.js @@ -0,0 +1,3 @@ +"use strict";
+var _13_4_17_fun = new Function('eval = 42;');
+throw NotEarlyError;
\ No newline at end of file diff --git a/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13_4-5gs.js b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13_4-5gs.js new file mode 100644 index 000000000..0eb8b6c85 --- /dev/null +++ b/external/contributions/Microsoft/ietc_262modified/chapter13/13.0/13_4-5gs.js @@ -0,0 +1,3 @@ +"use strict";
+throw NotEarlyError;
+function _13_0_4_5_fun() { eval = 42; };
\ No newline at end of file |