michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: michael@0: /** michael@0: File Name: regexparg-1.js michael@0: Description: michael@0: michael@0: Regression test for michael@0: http://scopus/bugsplat/show_bug.cgi?id=122787 michael@0: Passing a regular expression as the first constructor argument fails michael@0: michael@0: Author: christine@netscape.com michael@0: Date: 15 June 1998 michael@0: */ michael@0: michael@0: var SECTION = "JS_1.2"; michael@0: var VERSION = "JS_1.2"; michael@0: startTest(); michael@0: var TITLE = "The variable statement"; michael@0: michael@0: writeHeaderToLog( SECTION + " "+ TITLE); michael@0: michael@0: print("Note: Bug 61911 changed the behavior of typeof regexp in Gecko 1.9."); michael@0: print("Prior to Gecko 1.9, typeof regexp returned 'function'."); michael@0: print("However in Gecko 1.9 and later, typeof regexp will return 'object'."); michael@0: michael@0: function f(x) {return x;} michael@0: michael@0: x = f(/abc/); michael@0: michael@0: new TestCase( SECTION, michael@0: "function f(x) {return x;}; f()", michael@0: void 0, michael@0: f() ); michael@0: michael@0: new TestCase( SECTION, michael@0: "f(\"hi\")", michael@0: "hi", michael@0: f("hi") ); michael@0: michael@0: new TestCase( SECTION, michael@0: "new f(/abc/) +''", michael@0: "/abc/", michael@0: new f(/abc/) +"" ); michael@0: michael@0: new TestCase( SECTION, michael@0: "f(/abc/)+'')", michael@0: "/abc/", michael@0: f(/abc/) +''); michael@0: michael@0: new TestCase( SECTION, michael@0: "typeof f(/abc/)", michael@0: "object", michael@0: typeof f(/abc/) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "typeof new f(/abc/)", michael@0: "object", michael@0: typeof new f(/abc/) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "x = new f(/abc/); x.exec(\"hi\")", michael@0: null, michael@0: x.exec("hi") ); michael@0: michael@0: michael@0: // js> x() michael@0: test();