summaryrefslogtreecommitdiff
path: root/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor')
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T1.js27
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T10.js32
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T11.js33
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T12.js33
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T13.js26
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T2.js34
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T3.js33
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T4.js35
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T5.js34
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T6.js32
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T7.js34
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T8.js27
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T9.js27
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T1.js26
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T2.js26
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T3.js26
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T4.js31
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T5.js30
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T6.js30
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T1.js32
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T10.js30
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T11.js36
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T12.js36
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T13.js36
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T14.js38
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T15.js34
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T2.js39
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T3.js38
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T4.js38
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T5.js39
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T6.js30
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T7.js39
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T8.js39
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T9.js31
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2_A1.js21
35 files changed, 1132 insertions, 0 deletions
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T1.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T1.js
new file mode 100644
index 000000000..c1a365763
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T1.js
@@ -0,0 +1,27 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A1_T1;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with one argument then body be that argument and the following steps are taken:
+* i) Call ToString(body)
+* ii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception
+* iii) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* iv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* v) Return Result(iv);
+* @description: The body of the function is "{toString:function(){throw 7;}}";
+*/
+
+var body = {toString:function(){throw 7;}}
+
+//CHECK#1
+try {
+ var f = new Function(body);
+ $FAIL('#1: When the Function constructor is called with one argument then body be that argument the following step are taken: call ToString(body)');
+} catch (e) {
+ if (e !== 7) {
+ $ERROR('#1.1: When the Function constructor is called with one argument then body be that argument the following step are taken: call ToString(body)');
+ }
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T10.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T10.js
new file mode 100644
index 000000000..169de793f
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T10.js
@@ -0,0 +1,32 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A1_T10;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with one argument then body be that argument and the following steps are taken:
+* i) Call ToString(body)
+* ii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception
+* iii) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* iv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* v) Return Result(iv);
+* @description: Value of the function constructor argument is "null";
+*/
+
+//CHECK#1
+try {
+ var f = new Function(null);
+} catch (e) {
+ $FAIL('#1: test fails with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f() !== undefined) {
+ $ERROR('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T11.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T11.js
new file mode 100644
index 000000000..70b9ef0fb
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T11.js
@@ -0,0 +1,33 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A1_T11;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with one argument then body be that argument and the following steps are taken:
+* i) Call ToString(body)
+* ii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception
+* iii) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* iv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* v) Return Result(iv);
+* @description: Value of the function constructor argument is "undefined";
+*/
+
+
+//CHECK#1
+try {
+ var f = new Function(undefined);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f() !== undefined) {
+ $ERROR('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T12.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T12.js
new file mode 100644
index 000000000..10bcf38e3
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T12.js
@@ -0,0 +1,33 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A1_T12;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with one argument then body be that argument and the following steps are taken:
+* i) Call ToString(body)
+* ii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception
+* iii) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* iv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* v) Return Result(iv);
+* @description: Value of the function constructor argument is "void 0";
+*/
+
+
+//CHECK#1
+try {
+ var f = new Function(void 0);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f()!==undefined) {
+ $ERROR('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T13.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T13.js
new file mode 100644
index 000000000..06f731e4d
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T13.js
@@ -0,0 +1,26 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A1_T13;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with one argument then body be that argument and the following steps are taken:
+* i) Call ToString(body)
+* ii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception
+* iii) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* iv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* v) Return Result(iv);
+* @description: Value of the function constructor argument is "{}";
+*/
+
+
+//CHECK#1
+try {
+ var f = new Function({});
+ $FAIL('#1: test failed with error '+e);
+} catch (e) {
+ if (!(e instanceof SyntaxError)) {
+ $ERROR('#1.1: If body is not parsable as FunctionBody then throw a SyntaxError exception');
+ }
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T2.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T2.js
new file mode 100644
index 000000000..b46cdf428
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T2.js
@@ -0,0 +1,34 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A1_T2;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with one argument then body be that argument and the following steps are taken:
+* i) Call ToString(body)
+* ii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception
+* iii) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* iv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* v) Return Result(iv);
+* @description: The body of the function is "{toString:function(){return "return 1;";}}";
+*/
+
+var body={toString:function(){return "return 1;";}};
+
+//CHECK#1
+try {
+ var f = new Function(body);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f()!==1) {
+ $ERROR('#3: hen the Function constructor is called with one argument then body be that argument the following steps are taken...');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T3.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T3.js
new file mode 100644
index 000000000..f88721e8b
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T3.js
@@ -0,0 +1,33 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A1_T3;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with one argument then body be that argument and the following steps are taken:
+* i) Call ToString(body)
+* ii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception
+* iii) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* iv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* v) Return Result(iv);
+* @description: Value of the function constructor argument is 1;
+*/
+
+
+//CHECK#1
+try {
+ var f = new Function(1);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f()!==undefined) {
+ $ERROR('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T4.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T4.js
new file mode 100644
index 000000000..c029f0300
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T4.js
@@ -0,0 +1,35 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A1_T4;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with one argument then body be that argument and the following steps are taken:
+* i) Call ToString(body)
+* ii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception
+* iii) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* iv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* v) Return Result(iv);
+* @description: Value of the function constructor argument is x, where x is specified with "undefined";
+*/
+
+
+//CHECK#1
+try {
+ var f = new Function(x);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f()!==undefined) {
+ $ERROR('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
+}
+
+var x;
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T5.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T5.js
new file mode 100644
index 000000000..219378144
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T5.js
@@ -0,0 +1,34 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A1_T5;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with one argument then body be that argument and the following steps are taken:
+* i) Call ToString(body)
+* ii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception
+* iii) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* iv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* v) Return Result(iv);
+* @description: Value of the function constructor argument is "Object("return \'A\'")";
+*/
+
+var body = Object("return \'A\'");
+
+//CHECK#1
+try {
+ var f = new Function(body);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f()!=="\u0041") {
+ $ERROR('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T6.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T6.js
new file mode 100644
index 000000000..3520ece4e
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T6.js
@@ -0,0 +1,32 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A1_T6;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with one argument then body be that argument and the following steps are taken:
+* i) Call ToString(body)
+* ii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception
+* iii) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* iv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* v) Return Result(iv);
+* @description: Value of the function constructor argument is the string "return true;";
+*/
+
+//CHECK#1
+try {
+ var f = new Function("return true;");
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (!(f())) {
+ $ERROR('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T7.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T7.js
new file mode 100644
index 000000000..072d46056
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T7.js
@@ -0,0 +1,34 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A1_T7;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with one argument then body be that argument and the following steps are taken:
+* i) Call ToString(body)
+* ii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception
+* iii) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* iv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* v) Return Result(iv);
+* @description: Value of the function constructor argument is "Object(1)";
+*/
+
+var body = new Object(1);
+
+//CHECK#1
+try {
+ var f = new Function(body);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f()!==undefined) {
+ $ERROR('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T8.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T8.js
new file mode 100644
index 000000000..5cd4d94c4
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T8.js
@@ -0,0 +1,27 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A1_T8;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with one argument then body be that argument and the following steps are taken:
+* i) Call ToString(body)
+* ii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception
+* iii) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* iv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* v) Return Result(iv);
+* @description: Value of the function constructor argument is "var 1=1;";
+*/
+
+var body = "var 1=1;";
+
+//CHECK#1
+try {
+ var f = new Function(body);
+ $FAIL('#1: If body is not parsable as FunctionBody then throw a SyntaxError exception');
+} catch (e) {
+ if (!(e instanceof SyntaxError)) {
+ $ERROR('#1.1: If body is not parsable as FunctionBody then throw a SyntaxError exception');
+ }
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T9.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T9.js
new file mode 100644
index 000000000..b11245b9c
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A1_T9.js
@@ -0,0 +1,27 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A1_T9;
+* @section: 15.3.2.1;
+* @assertion: When the Function constructor is called with one argument then body be that argument and the following steps are taken:
+* i) Call ToString(body)
+* ii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception
+* iii) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* iv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* v) Return Result(iv);
+* @description: Value of the function constructor argument is "return arguments[0];";
+*/
+
+var f = new Function("return arguments[0];");
+
+//CHECK#1
+if (!(f instanceof Function)) {
+ $ERROR('#3: When the Function constructor is called with one argument then body be that argument and the following steps are taken...');
+}
+
+//CHECK#2
+if (f("A") !== "A") {
+ $ERROR('#2: When the Function constructor is called with one argument then body be that argument and the following steps are taken...');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T1.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T1.js
new file mode 100644
index 000000000..454eb4580
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T1.js
@@ -0,0 +1,26 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A2_T1;
+* @section: 15.3.2.1;
+* @assertion: It is permissible but not necessary to have one argument for each formal parameter to be specified;
+* @description: Values of the function constructor arguments are "arg1", "arg2", "arg3", "return arg1+arg2+arg3;";
+*/
+
+//CHECK#1
+try {
+ var f = Function("arg1", "arg2", "arg3", "return arg1+arg2+arg3;");
+} catch (e) {
+ $FAIL('#1: test failed');
+}
+
+//CHECK#2
+if (!(f instanceof Function)){
+ $ERROR('#2: It is permissible but not necessary to have one argument for each formal parameter to be specified');
+}
+
+//CHECK#3
+if (f(1,2,3) !== 6) {
+ $ERROR('#3: It is permissible but not necessary to have one argument for each formal parameter to be specified');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T2.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T2.js
new file mode 100644
index 000000000..d2de410df
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T2.js
@@ -0,0 +1,26 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A2_T2;
+* @section: 15.3.2.1;
+* @assertion: It is permissible but not necessary to have one argument for each formal parameter to be specified;
+* @description: Values of the function constructor arguments are "arg1, arg2", "arg3", "return arg1+arg2+arg3;";
+*/
+
+//CHECK#1
+try {
+ var f = Function("arg1, arg2", "arg3", "return arg1+arg2+arg3;");
+} catch (e) {
+ $FAIL('#1: test failed');
+}
+
+//CHECK#2
+if (!(f instanceof Function)){
+ $ERROR('#2: It is permissible but not necessary to have one argument for each formal parameter to be specified');
+}
+
+//CHECK#3
+if (f("AB","BA",1) !== "ABBA1") {
+ $ERROR('#3: It is permissible but not necessary to have one argument for each formal parameter to be specified');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T3.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T3.js
new file mode 100644
index 000000000..90a2c977b
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T3.js
@@ -0,0 +1,26 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A2_T3;
+* @section: 15.3.2.1;
+* @assertion: It is permissible but not necessary to have one argument for each formal parameter to be specified;
+* @description: Values of the function constructor arguments are "arg1, arg2, arg3", "return arg1+arg2+arg3;";
+*/
+
+//CHECK#1
+try {
+ var f = Function("arg1, arg2, arg3", "return arg1+arg2+arg3;");
+} catch (e) {
+ $FAIL('#1: test failed');
+}
+
+//CHECK#2
+if (!(f instanceof Function)){
+ $ERROR('#2: It is permissible but not necessary to have one argument for each formal parameter to be specified');
+}
+
+//CHECK#3
+if (f(1,1,"ABBA") !== "2ABBA") {
+ $ERROR('#3: It is permissible but not necessary to have one argument for each formal parameter to be specified');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T4.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T4.js
new file mode 100644
index 000000000..451553882
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T4.js
@@ -0,0 +1,31 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A2_T4;
+* @section: 15.3.2.1;
+* @assertion: It is permissible but not necessary to have one argument for each formal parameter to be specified;
+* @description: Values of the function constructor arguments are "return"-s of various results;
+*/
+
+var i=0;
+
+var p={toString:function(){return "arg"+(++i);}};
+
+//CHECK#1
+try {
+ var f = Function(p, p, p, "return arg1+arg2+arg3;");
+} catch (e) {
+ $FAIL('#1: test failed');
+}
+
+//CHECK#2
+if (!(f instanceof Function)){
+ $ERROR('#2: It is permissible but not necessary to have one argument for each formal parameter to be specified');
+}
+
+//CHECK#3
+if (f(4,"2","QUESTION") !== "42QUESTION") {
+ $ERROR('#3: It is permissible but not necessary to have one argument for each formal parameter to be specified');
+}
+ \ No newline at end of file
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T5.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T5.js
new file mode 100644
index 000000000..b6b23c0a6
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T5.js
@@ -0,0 +1,30 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A2_T5;
+* @section: 15.3.2.1;
+* @assertion: It is permissible but not necessary to have one argument for each formal parameter to be specified;
+* @description: Values of the function constructor arguments are "return"-s of various results and a concotenation of strings;
+*/
+
+var i=0;
+
+var p={toString:function(){return "arg"+(++i)}};
+
+//CHECK#1
+try {
+ var f = Function(p+","+p,p, "return arg1+arg2+arg3;");
+} catch (e) {
+ $FAIL('#1: test failed');
+}
+
+//CHECK#2
+if (!(f instanceof Function)){
+ $ERROR('#2: It is permissible but not necessary to have one argument for each formal parameter to be specified');
+}
+
+//CHECK#3
+if (f("",1,2) !== "12") {
+ $ERROR('#3: It is permissible but not necessary to have one argument for each formal parameter to be specified');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T6.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T6.js
new file mode 100644
index 000000000..a420829f1
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A2_T6.js
@@ -0,0 +1,30 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A2_T6;
+* @section: 15.3.2.1;
+* @assertion: It is permissible but not necessary to have one argument for each formal parameter to be specified;
+* @description: Values of the function constructor arguments are "return"-s of various results and a concotenation of strings;
+*/
+
+var i=0;
+
+var p={toString:function(){return "arg"+(++i)}};
+
+//CHECK#1
+try {
+ var f = Function(p+","+p+","+p, "return arg1+arg2+arg3;");
+} catch (e) {
+ $FAIL('#1: test failed');
+}
+
+//CHECK#2
+if (!(f instanceof Function)){
+ $ERROR('#2: It is permissible but not necessary to have one argument for each formal parameter to be specified');
+}
+
+//CHECK#3
+if (f("",1,p) !== "1arg4") {
+ $ERROR('#3: It is permissible but not necessary to have one argument for each formal parameter to be specified');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T1.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T1.js
new file mode 100644
index 000000000..571b43ed1
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T1.js
@@ -0,0 +1,32 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A3_T1;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with arguments p, body the following steps are taken:
+* i) Let Result(i) be the first argument
+* ii) Let P be ToString(Result(i))
+* iii) Call ToString(body)
+* iv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception
+* v) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* vi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* vii) Return Result(vi);
+* @description: Values of the function constructor arguments are "{toString:function(){throw 1;}}" and "{toString:function(){throw 'body';}}";
+*/
+
+var p = {toString:function(){throw 1;}};
+var body = {toString:function(){throw "body";}};
+
+//CHECK#1
+try {
+ var f = new Function(p,body);
+ $FAIL('#1: test failed');
+} catch (e) {
+ if (e !== 1) {
+ $ERROR('#1.1: i) Let Result(i) be the first argument; ii) Let P be ToString(Result(i))');
+ }
+}
+
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T10.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T10.js
new file mode 100644
index 000000000..92b3d89ff
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T10.js
@@ -0,0 +1,30 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A3_T10;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with arguments p, body the following steps are taken:
+* i) Let Result(i) be the first argument
+* ii) Let P be ToString(Result(i))
+* iii) Call ToString(body)
+* iv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception
+* v) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* vi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* vii) Return Result(vi);
+* @description: Values of the function constructor arguments are "{toString:function(){return "z;x"}}" and "return this;";
+*/
+
+var body = "return this;";
+var p={toString:function(){return "z;x"}};
+
+//CHECK#1
+try {
+ var f = new Function(p,body);
+ $FAIL('#1: If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception');
+} catch (e) {
+ if (!(e instanceof SyntaxError)) {
+ $ERROR('#1.1: If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception');
+ }
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T11.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T11.js
new file mode 100644
index 000000000..8c9ddc065
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T11.js
@@ -0,0 +1,36 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A3_T11;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with arguments p, body the following steps are taken:
+* i) Let Result(i) be the first argument
+* ii) Let P be ToString(Result(i))
+* iii) Call ToString(body)
+* iv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception
+* v) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* vi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* vii) Return Result(vi);
+* @description: Values of the function constructor arguments are "a,b,c" and "void 0";
+*/
+
+var p = "a,b,c";
+
+//CHECK#1
+try {
+ var f = new Function(p, void 0);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with arguments p, body creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f()!==undefined) {
+ $ERROR('#3: When the Function constructor is called with arguments p, body the following steps are taken...');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T12.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T12.js
new file mode 100644
index 000000000..27615e94b
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T12.js
@@ -0,0 +1,36 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A3_T12;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with arguments p, body the following steps are taken:
+* i) Let Result(i) be the first argument
+* ii) Let P be ToString(Result(i))
+* iii) Call ToString(body)
+* iv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception
+* v) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* vi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* vii) Return Result(vi);
+* @description: Values of the function constructor arguments are "a,b,c" and "undefined";
+*/
+
+var p = "a,b,c";
+
+//CHECK#1
+try {
+ var f = new Function(p, undefined);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with arguments p, body creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f()!==undefined) {
+ $ERROR('#3: When the Function constructor is called with arguments p, body the following steps are taken...');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T13.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T13.js
new file mode 100644
index 000000000..bae63e14b
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T13.js
@@ -0,0 +1,36 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A3_T13;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with arguments p, body the following steps are taken:
+* i) Let Result(i) be the first argument
+* ii) Let P be ToString(Result(i))
+* iii) Call ToString(body)
+* iv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception
+* v) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* vi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* vii) Return Result(vi);
+* @description: Values of the function constructor arguments are "a,b,c" and "null";
+*/
+
+var p = "a,b,c";
+
+//CHECK#1
+try {
+ var f = new Function(p, null);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with arguments p, body creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f()!==undefined) {
+ $ERROR('#3: When the Function constructor is called with arguments p, body the following steps are taken...');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T14.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T14.js
new file mode 100644
index 000000000..e14fa8b8d
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T14.js
@@ -0,0 +1,38 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A3_T14;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with arguments p, body the following steps are taken:
+* i) Let Result(i) be the first argument
+* ii) Let P be ToString(Result(i))
+* iii) Call ToString(body)
+* iv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception
+* v) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* vi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* vii) Return Result(vi);
+* @description: Values of the function constructor arguments are "a,b,c" and an undefined variable;
+*/
+
+var p = "a,b,c";
+
+//CHECK#1
+try {
+ var f = new Function(p, body);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with arguments p, body creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f()!==undefined) {
+ $ERROR('#3: When the Function constructor is called with arguments p, body the following steps are taken...');
+}
+
+var body;
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T15.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T15.js
new file mode 100644
index 000000000..298181820
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T15.js
@@ -0,0 +1,34 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A3_T15;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with arguments p, body the following steps are taken:
+* i) Let Result(i) be the first argument
+* ii) Let P be ToString(Result(i))
+* iii) Call ToString(body)
+* iv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception
+* v) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* vi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* vii) Return Result(vi);
+* @description: Values of the function constructor arguments are are two empty strings;
+*/
+
+//CHECK#1
+try {
+ var f = new Function("", "");
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with arguments p, body creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f()!==undefined) {
+ $ERROR('#3: When the Function constructor is called with arguments p, body the following steps are taken...');
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T2.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T2.js
new file mode 100644
index 000000000..a1d2c2f0c
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T2.js
@@ -0,0 +1,39 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A3_T2;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with arguments p, body the following steps are taken:
+* i) Let Result(i) be the first argument
+* ii) Let P be ToString(Result(i))
+* iii) Call ToString(body)
+* iv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception
+* v) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* vi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* vii) Return Result(vi);
+* @description: Values of the function constructor arguments are "{toString:function(){return 'a';}}" and "return a;";
+*/
+
+var p = {toString:function(){return "a";}};
+var body = "return a;";
+
+//CHECK#1
+try {
+ var f = new Function(p,body);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with arguments p, body creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f(42)!==42) {
+ $ERROR('#3: When the Function constructor is called with arguments p, body creates a new Function object as specified in 13.2');
+}
+
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T3.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T3.js
new file mode 100644
index 000000000..5f375e89b
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T3.js
@@ -0,0 +1,38 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A3_T3;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with arguments p, body the following steps are taken:
+* i) Let Result(i) be the first argument
+* ii) Let P be ToString(Result(i))
+* iii) Call ToString(body)
+* iv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception
+* v) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* vi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* vii) Return Result(vi);
+* @description: Values of the function constructor arguments are "{toString:function(){p=1;return "a";}}" and "{toString:function(){throw "body";}}";
+*/
+
+var p = {toString:function(){p=1;return "a";}};
+var body = {toString:function(){throw "body";}};
+
+//CHECK#1
+try {
+ var f = new Function(p,body);
+ $FAIL('#1: test failed');
+} catch (e) {
+ if (e !== "body") {
+ $ERROR('#1.1: i) Let Result(i) be the first argument; ii) Let P be ToString(Result(i))');
+ }
+}
+
+//CHECK#2
+if (p !== 1) {
+ $ERROR('#2: i) Let Result(i) be the first argument; ii) Let P be ToString(Result(i))');
+}
+
+
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T4.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T4.js
new file mode 100644
index 000000000..3b602a2b4
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T4.js
@@ -0,0 +1,38 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A3_T4;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with arguments p, body the following steps are taken:
+* i) Let Result(i) be the first argument
+* ii) Let P be ToString(Result(i))
+* iii) Call ToString(body)
+* iv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception
+* v) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* vi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* vii) Return Result(vi);
+* @description: Values of the function constructor arguments are an undefined variable and "return 1.1;";
+*/
+
+var body = "return 1.1;";
+
+//CHECK#1
+try {
+ var f = new Function(p,body);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f()!==1.1) {
+ $ERROR('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
+}
+
+var p; \ No newline at end of file
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T5.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T5.js
new file mode 100644
index 000000000..fe845f94c
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T5.js
@@ -0,0 +1,39 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A3_T5;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with arguments p, body the following steps are taken:
+* i) Let Result(i) be the first argument
+* ii) Let P be ToString(Result(i))
+* iii) Call ToString(body)
+* iv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception
+* v) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* vi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* vii) Return Result(vi);
+* @description: Values of the function constructor arguments are "void 0" and "return \"A\";";
+*/
+
+
+var body = "return \"A\";";
+
+//CHECK#1
+try {
+ var f = new Function(void 0,body);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f()!=='\u0041') {
+ $ERROR('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
+}
+
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T6.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T6.js
new file mode 100644
index 000000000..c9be25a1e
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T6.js
@@ -0,0 +1,30 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A3_T6;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with arguments p, body the following steps are taken:
+* i) Let Result(i) be the first argument
+* ii) Let P be ToString(Result(i))
+* iii) Call ToString(body)
+* iv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception
+* v) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* vi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* vii) Return Result(vi);
+* @description: Values of the function constructor arguments are "null" and "return true;";
+*/
+
+
+var body = "return true;";
+
+//CHECK#1
+try {
+ var f = new Function(null,body);
+ $FAIL('#1: If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception');
+} catch (e) {
+ if (!(e instanceof SyntaxError)) {
+ $ERROR('#1.1: If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception');
+ }
+} \ No newline at end of file
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T7.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T7.js
new file mode 100644
index 000000000..265648da7
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T7.js
@@ -0,0 +1,39 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A3_T7;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with arguments p, body the following steps are taken:
+* i) Let Result(i) be the first argument
+* ii) Let P be ToString(Result(i))
+* iii) Call ToString(body)
+* iv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception
+* v) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* vi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* vii) Return Result(vi);
+* @description: Values of the function constructor arguments are "Object("a")" and "return a;";
+*/
+
+
+var body = "return a;";
+
+var p=Object("a");
+
+//CHECK#1
+try {
+ var f = new Function(p, body);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f(1)!==1) {
+ $ERROR('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
+} \ No newline at end of file
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T8.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T8.js
new file mode 100644
index 000000000..ce9b5a60f
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T8.js
@@ -0,0 +1,39 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A3_T8;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with arguments p, body the following steps are taken:
+* i) Let Result(i) be the first argument
+* ii) Let P be ToString(Result(i))
+* iii) Call ToString(body)
+* iv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception
+* v) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* vi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* vii) Return Result(vi);
+* @description: Values of the function constructor arguments are "undefined" and "return this;";
+*/
+
+
+var body = "return this;";
+
+//CHECK#1
+try {
+ var f = new Function(undefined,body);
+} catch (e) {
+ $FAIL('#1: test failed with error '+e);
+}
+
+//CHECK#2
+if (f.constructor !== Function) {
+ $ERROR('#2: When the Function constructor is called with one argument then body be that argument and creates a new Function object as specified in 13.2');
+}
+
+//CHECK#3
+if (f()!==this) {
+ $ERROR('#3: When the Function constructor is called with one argument then body be that argument the following steps are taken...');
+}
+
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T9.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T9.js
new file mode 100644
index 000000000..b07dda3ae
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2.1_A3_T9.js
@@ -0,0 +1,31 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2.1_A3_T9;
+* @section: 15.3.2.1, 13.2;
+* @assertion: When the Function constructor is called with arguments p, body the following steps are taken:
+* i) Let Result(i) be the first argument
+* ii) Let P be ToString(Result(i))
+* iii) Call ToString(body)
+* iv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception
+* v) If body is not parsable as FunctionBody then throw a SyntaxError exception
+* vi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody
+* Pass in a scope chain consisting of the global object as the Scope parameter
+* vii) Return Result(vi);
+* @description: Values of the function constructor arguments are "1,1" and "return this;";
+*/
+
+
+var body = "return this;";
+var p="1,1";
+
+//CHECK#1
+try {
+ var f = new Function(p,body);
+ $FAIL('#1: If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception');
+} catch (e) {
+ if (!(e instanceof SyntaxError)) {
+ $ERROR('#1.1: If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception');
+ }
+}
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2_A1.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2_A1.js
new file mode 100644
index 000000000..72498e93a
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.2_The_Function_Constructor/S15.3.2_A1.js
@@ -0,0 +1,21 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.2_A1;
+* @section: 15.3.2;
+* @assertion: When Function is called as part of a new expression, it is a constructor: it initialises the newly created object;
+* @description: Checking the constuctor of the object that is created as a new Function;
+*/
+
+var f = new Function;
+
+//CHECK#1
+if (f.constructor !== Function) {
+ $ERROR('#1: When Function is called as part of a new expression, it is a constructor: it initialises the newly created object');
+}
+
+//CHECK#2
+if (f === undefined) {
+ $ERROR('#2: When Function is called as part of a new expression, it is a constructor: it initialises the newly created object');
+}