Home | History | Annotate | Download | only in regexp
      1 /*
      2 * The contents of this file are subject to the Netscape Public
      3 * License Version 1.1 (the "License"); you may not use this file
      4 * except in compliance with the License. You may obtain a copy of
      5 * the License at http://www.mozilla.org/NPL/
      6 *
      7 * Software distributed under the License is distributed on an "AS
      8 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
      9 * implied. See the License for the specific language governing
     10 * rights and limitations under the License.
     11 *
     12 * The Original Code is mozilla.org code.
     13 *
     14 * The Initial Developer of the Original Code is Netscape
     15 * Communications 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:          regress-6359.js
     24  *  Reference:          ** replace with bugzilla URL or document reference **
     25  *  Description:        ** replace with description of test **
     26  *  Author:             ** replace with your e-mail address **
     27  */
     28 
     29     var SECTION = "js1_2";       // provide a document reference (ie, ECMA section)
     30     var VERSION = "ECMA_2"; // Version of JavaScript or ECMA
     31     var TITLE   = "Regression test for bugzilla # 6359";       // Provide ECMA section title or a description
     32     var BUGNUMBER = "http://bugzilla.mozilla.org/show_bug.cgi?id=6359";     // Provide URL to bugsplat or bugzilla report
     33 
     34     startTest();               // leave this alone
     35 
     36     /*
     37      * Calls to AddTestCase here. AddTestCase is a function that is defined
     38      * in shell.js and takes three arguments:
     39      * - a string representation of what is being tested
     40      * - the expected result
     41      * - the actual result
     42      *
     43      * For example, a test might look like this:
     44      *
     45      * var zip = /[\d]{5}$/;
     46      *
     47      * AddTestCase(
     48      * "zip = /[\d]{5}$/; \"PO Box 12345 Boston, MA 02134\".match(zip)",   // description of the test
     49      *  "02134",                                                           // expected result
     50      *  "PO Box 12345 Boston, MA 02134".match(zip) );                      // actual result
     51      *
     52      */
     53 
     54     AddTestCase( '/(a*)b\1+/("baaac").length',
     55                 2,
     56                 /(a*)b\1+/("baaac").length );
     57 
     58     AddTestCase( '/(a*)b\1+/("baaac")[0]',
     59                 "b",
     60                 /(a*)b\1+/("baaac")[0]);
     61 
     62     AddTestCase( '/(a*)b\1+/("baaac")[1]',
     63                 "",
     64                 /(a*)b\1+/("baaac")[1]);
     65 
     66 
     67     test();       // leave this alone.  this executes the test cases and
     68                   // displays results.
     69