initial import
[vuplus_webkit] / Source / JavaScriptCore / tests / mozilla / js1_2 / function / Function_object.js
1 /* The contents of this file are subject to the Netscape Public
2  * License Version 1.1 (the "License"); you may not use this file
3  * except in compliance with the License. You may obtain a copy of
4  * the License at http://www.mozilla.org/NPL/
5  *
6  * Software distributed under the License is distributed on an "AS
7  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
8  * implied. See the License for the specific language governing
9  * rights and limitations under the License.
10  *
11  * The Original Code is Mozilla Communicator client code, released March
12  * 31, 1998.
13  *
14  * The Initial Developer of the Original Code is Netscape Communications
15  * Corporation. Portions created by Netscape are
16  * Copyright (C) 1998 Netscape Communications Corporation. All
17  * Rights Reserved.
18  *
19  * Contributor(s): 
20  * 
21  */
22 /**
23         Filename:     Function_object.js
24         Description:  'Testing Function objects'
25
26         Author:       Nick Lerissa
27         Date:         April 17, 1998
28 */
29
30         var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"';
31         var VERSION = 'no version';
32     startTest();
33         var TITLE = 'functions: Function_object';
34
35         writeHeaderToLog('Executing script: Function_object.js');
36         writeHeaderToLog( SECTION + " "+ TITLE);
37
38         var count = 0;
39         var testcases = new Array();
40
41
42     function a_test_function(a,b,c)
43     {
44         return a + b + c;
45     }
46
47     f = a_test_function;
48
49
50     testcases[count++] = new TestCase( SECTION, "f.name",
51                                                 'a_test_function',  f.name);
52
53     testcases[count++] = new TestCase( SECTION, "f.length",
54                                                 3,  f.length);
55
56     testcases[count++] = new TestCase( SECTION, "f.arity",
57                                                 3,  f.arity);
58
59     testcases[count++] = new TestCase( SECTION, "f(2,3,4)",
60                                                 9,  f(2,3,4));
61
62     var fnName = version() == 120 ? '' : 'anonymous';
63
64     testcases[count++] = new TestCase( SECTION, "(new Function()).name",
65                                                 fnName, (new Function()).name);
66
67     testcases[count++] = new TestCase( SECTION, "(new Function()).toString()",
68                                                 '\nfunction ' + fnName + '() {\n}\n',  (new Function()).toString());
69
70         function test()
71         {
72            for ( tc=0; tc < testcases.length; tc++ ) {
73                 testcases[tc].passed = writeTestCaseResult(
74                 testcases[tc].expect,
75                 testcases[tc].actual,
76                 testcases[tc].description +" = "+
77                 testcases[tc].actual );
78                 testcases[tc].reason += ( testcases[tc].passed ) ? "" : "wrong value ";
79            }
80            stopTest();
81            return ( testcases );
82         }
83
84         test();
85