summaryrefslogtreecommitdiff
path: root/test/built-ins/Function/S15.3.2.1_A2_T6.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/built-ins/Function/S15.3.2.1_A2_T6.js')
-rw-r--r--test/built-ins/Function/S15.3.2.1_A2_T6.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/built-ins/Function/S15.3.2.1_A2_T6.js b/test/built-ins/Function/S15.3.2.1_A2_T6.js
new file mode 100644
index 000000000..f63ae274b
--- /dev/null
+++ b/test/built-ins/Function/S15.3.2.1_A2_T6.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.
+
+/*---
+info: >
+ It is permissible but not necessary to have one argument for each formal
+ parameter to be specified
+es5id: 15.3.2.1_A2_T6
+description: >
+ Values of the function constructor arguments are "return"-s of
+ various results and a concotenation of strings
+includes: [$FAIL.js]
+---*/
+
+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');
+}