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 File Name: regexparg-1.js 24 Description: 25 26 Regression test for 27 http://scopus/bugsplat/show_bug.cgi?id=122787 28 Passing a regular expression as the first constructor argument fails 29 30 Author: christine (at) netscape.com 31 Date: 15 June 1998 32 */ 33 34 var SECTION = "JS_1.2"; 35 var VERSION = "JS_1.2"; 36 startTest(); 37 var TITLE = "The variable statment"; 38 39 writeHeaderToLog( SECTION + " "+ TITLE); 40 41 var testcases = new Array(); 42 43 function f(x) {return x;} 44 45 x = f(/abc/); 46 47 testcases[tc++] = new TestCase( SECTION, 48 "function f(x) {return x;}; f()", 49 void 0, 50 f() ); 51 52 testcases[tc++] = new TestCase( SECTION, 53 "f(\"hi\")", 54 "hi", 55 f("hi") ); 56 57 testcases[tc++] = new TestCase( SECTION, 58 "new f(/abc/) +''", 59 "/abc/", 60 new f(/abc/) +"" ); 61 62 testcases[tc++] = new TestCase( SECTION, 63 "f(/abc/)+'')", 64 "/abc/", 65 f(/abc/) +''); 66 67 testcases[tc++] = new TestCase( SECTION, 68 "typeof f(/abc/)", 69 "function", 70 typeof f(/abc/) ); 71 72 testcases[tc++] = new TestCase( SECTION, 73 "typeof new f(/abc/)", 74 "function", 75 typeof new f(/abc/) ); 76 77 testcases[tc++] = new TestCase( SECTION, 78 "x = new f(/abc/); x(\"hi\")", 79 null, 80 x("hi") ); 81 82 83 // js> x() 84 test(); 85 86 function test() { 87 for ( tc=0; tc < testcases.length; tc++ ) { 88 testcases[tc].passed = writeTestCaseResult( 89 testcases[tc].expect, 90 testcases[tc].actual, 91 testcases[tc].description +" = "+ 92 testcases[tc].actual ); 93 94 testcases[tc].reason += ( testcases[tc].passed ) ? "" : "wrong value "; 95 } 96 stopTest(); 97 return ( testcases ); 98 } 99