diff options
Diffstat (limited to 'website/resources/scripts/testcases2/15.3.2.1.json')
-rw-r--r-- | website/resources/scripts/testcases2/15.3.2.1.json | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/website/resources/scripts/testcases2/15.3.2.1.json b/website/resources/scripts/testcases2/15.3.2.1.json new file mode 100644 index 000000000..d3853e2df --- /dev/null +++ b/website/resources/scripts/testcases2/15.3.2.1.json @@ -0,0 +1,92 @@ +{ + "testCollection": { + "name": "15.3.2.1", + "numTests": 12, + "tests": [ + { + "id": "15.3.2.1-11-1-s", + "path": "TestCases/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1-s.js", + "description": "Duplicate seperate parameter name in Function constructor throws SyntaxError in strict mode", + "test": "assertTrue((function testcase() { \n try {\n Function('a','a','\"use strict\";');\n return false;\n }\n catch (e) {\n return (e instanceof SyntaxError);\n }\n \n }).call(this));\n", + "precondition": "(fnSupportsStrict())", + "strict_only": "" + }, + { + "id": "15.3.2.1-11-1", + "path": "TestCases/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1.js", + "description": "Duplicate separate parameter name in Function constructor allowed if body not strict", + "test": "assertTrue((function testcase()\n{ \n Function('a','a','return;');\n return true;\n }).call(this));\n" + }, + { + "id": "15.3.2.1-11-2-s", + "path": "TestCases/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-2-s.js", + "description": "Duplicate seperate parameter name in Function constructor called from strict mode allowed if body not strict", + "test": "assertTrue((function testcase()\n{ \n \"use strict\"; \n try {\n Function('a','a','return;');\n return true;\n } catch (e) {\n return false;\n }\n }).call(this));\n", + "strict_only": "" + }, + { + "id": "15.3.2.1-11-3-s", + "path": "TestCases/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3-s.js", + "description": "Function constructor having a formal parameter named 'eval' throws SyntaxError if function body is strict mode", + "test": "assertTrue((function testcase() {\n \n\n try {\n Function('eval', '\"use strict\";');\n\treturn false;\n }\n catch (e) {\n return (e instanceof SyntaxError);\n }\n }).call(this));\n", + "precondition": "(fnSupportsStrict())", + "strict_only": "" + }, + { + "id": "15.3.2.1-11-3", + "path": "TestCases/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3.js", + "description": "Function constructor may have a formal parameter named 'eval' if body is not strict mode", + "test": "assertTrue((function testcase() {\n Function('eval', 'return;');\n return true;\n }).call(this));\n" + }, + { + "id": "15.3.2.1-11-4-s", + "path": "TestCases/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-4-s.js", + "description": "Function constructor call from strict code with formal parameter named 'eval' does not throws SyntaxError if function body is not strict mode", + "test": "assertTrue((function testcase() {\n \"use strict\";\n try { \n Function('eval', 'return;');\n\t return true;\n } catch (e) {\n return false;\n }\n \n }).call(this));\n", + "strict_only": "" + }, + { + "id": "15.3.2.1-11-5-s", + "path": "TestCases/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5-s.js", + "description": "Duplicate combined parameter name in Function constructor throws SyntaxError in strict mode", + "test": "assertTrue((function testcase()\n{ \n try \n {\n Function('a,a','\"use strict\";');\n\treturn false;\n }\n catch (e) {\n return(e instanceof SyntaxError);\n }\n }).call(this));\n", + "precondition": "(fnSupportsStrict())", + "strict_only": "" + }, + { + "id": "15.3.2.1-11-5", + "path": "TestCases/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5.js", + "description": "Duplicate combined parameter name in Function constructor allowed if body is not strict", + "test": "assertTrue((function testcase()\n{ \n Function('a,a','return;');\n return true;\n }).call(this));\n" + }, + { + "id": "15.3.2.1-11-6-s", + "path": "TestCases/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-6-s.js", + "description": "Duplicate combined parameter name allowed in Function constructor called in strict mode if body not strict", + "test": "assertTrue((function testcase()\n{ \n \"use strict\"; \n try {\n Function('a,a','return a;');\n\t return true;\n } catch (e) {\n return false;\n }\n \n }).call(this));\n", + "strict_only": "" + }, + { + "id": "15.3.2.1-11-7-s", + "path": "TestCases/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-7-s.js", + "description": "Function constructor call from strict code with formal parameter named arguments does not throws SyntaxError if function body is not strict mode", + "test": "assertTrue((function testcase() {\n \"use strict\";\n try {\n Function('arguments', 'return;');\n return true;\n\t \n } catch (e) {\n return false;\n }\n }).call(this));\n", + "strict_only": "" + }, + { + "id": "15.3.2.1-11-8-s", + "path": "TestCases/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-8-s.js", + "description": "Strict Mode - SyntaxError is not thrown if a function is created using a Function constructor that has two identical parameters, which are separated by a unique parameter name and there is no explicit 'use strict' in the function constructor's body", + "test": "assertTrue((function testcase() {\n \"use strict\";\n\n var foo = new Function(\"baz\", \"qux\", \"baz\", \"return 0;\");\n return true;\n\n }).call(this));\n", + "strict_only": "" + }, + { + "id": "15.3.2.1-11-9-s", + "path": "TestCases/chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-9-s.js", + "description": "Strict Mode - SyntaxError is thrown if a function is created using the Function constructor that has three identical parameters and there is no explicit 'use strict' in the function constructor's body", + "test": "assertTrue((function testcase() {\n \"use strict\";\n\n var foo = new Function(\"baz\", \"baz\", \"baz\", \"return 0;\");\n return true;\n }).call(this));\n", + "strict_only": "" + } + ] + } +} |