js/src/tests/js1_2/regexp/parentheses.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/tests/js1_2/regexp/parentheses.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,75 @@
     1.4 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
     1.5 +/* This Source Code Form is subject to the terms of the Mozilla Public
     1.6 + * License, v. 2.0. If a copy of the MPL was not distributed with this
     1.7 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     1.8 +
     1.9 +
    1.10 +/**
    1.11 +   Filename:     parentheses.js
    1.12 +   Description:  'Tests regular expressions containing ()'
    1.13 +
    1.14 +   Author:       Nick Lerissa
    1.15 +   Date:         March 10, 1998
    1.16 +*/
    1.17 +
    1.18 +var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"';
    1.19 +var VERSION = 'no version';
    1.20 +startTest();
    1.21 +var TITLE   = 'RegExp: ()';
    1.22 +
    1.23 +writeHeaderToLog('Executing script: parentheses.js');
    1.24 +writeHeaderToLog( SECTION + " "+ TITLE);
    1.25 +
    1.26 +// 'abc'.match(new RegExp('(abc)'))
    1.27 +new TestCase ( SECTION, "'abc'.match(new RegExp('(abc)'))",
    1.28 +	       String(["abc","abc"]), String('abc'.match(new RegExp('(abc)'))));
    1.29 +
    1.30 +// 'abcdefg'.match(new RegExp('a(bc)d(ef)g'))
    1.31 +new TestCase ( SECTION, "'abcdefg'.match(new RegExp('a(bc)d(ef)g'))",
    1.32 +	       String(["abcdefg","bc","ef"]), String('abcdefg'.match(new RegExp('a(bc)d(ef)g'))));
    1.33 +
    1.34 +// 'abcdefg'.match(new RegExp('(.{3})(.{4})'))
    1.35 +new TestCase ( SECTION, "'abcdefg'.match(new RegExp('(.{3})(.{4})'))",
    1.36 +	       String(["abcdefg","abc","defg"]), String('abcdefg'.match(new RegExp('(.{3})(.{4})'))));
    1.37 +
    1.38 +// 'aabcdaabcd'.match(new RegExp('(aa)bcd\1'))
    1.39 +new TestCase ( SECTION, "'aabcdaabcd'.match(new RegExp('(aa)bcd\\1'))",
    1.40 +	       String(["aabcdaa","aa"]), String('aabcdaabcd'.match(new RegExp('(aa)bcd\\1'))));
    1.41 +
    1.42 +// 'aabcdaabcd'.match(new RegExp('(aa).+\1'))
    1.43 +new TestCase ( SECTION, "'aabcdaabcd'.match(new RegExp('(aa).+\\1'))",
    1.44 +	       String(["aabcdaa","aa"]), String('aabcdaabcd'.match(new RegExp('(aa).+\\1'))));
    1.45 +
    1.46 +// 'aabcdaabcd'.match(new RegExp('(.{2}).+\1'))
    1.47 +new TestCase ( SECTION, "'aabcdaabcd'.match(new RegExp('(.{2}).+\\1'))",
    1.48 +	       String(["aabcdaa","aa"]), String('aabcdaabcd'.match(new RegExp('(.{2}).+\\1'))));
    1.49 +
    1.50 +// '123456123456'.match(new RegExp('(\d{3})(\d{3})\1\2'))
    1.51 +new TestCase ( SECTION, "'123456123456'.match(new RegExp('(\\d{3})(\\d{3})\\1\\2'))",
    1.52 +	       String(["123456123456","123","456"]), String('123456123456'.match(new RegExp('(\\d{3})(\\d{3})\\1\\2'))));
    1.53 +
    1.54 +// 'abcdefg'.match(new RegExp('a(..(..)..)'))
    1.55 +new TestCase ( SECTION, "'abcdefg'.match(new RegExp('a(..(..)..)'))",
    1.56 +	       String(["abcdefg","bcdefg","de"]), String('abcdefg'.match(new RegExp('a(..(..)..)'))));
    1.57 +
    1.58 +// 'abcdefg'.match(/a(..(..)..)/)
    1.59 +new TestCase ( SECTION, "'abcdefg'.match(/a(..(..)..)/)",
    1.60 +	       String(["abcdefg","bcdefg","de"]), String('abcdefg'.match(/a(..(..)..)/)));
    1.61 +
    1.62 +// 'xabcdefg'.match(new RegExp('(a(b(c)))(d(e(f)))'))
    1.63 +new TestCase ( SECTION, "'xabcdefg'.match(new RegExp('(a(b(c)))(d(e(f)))'))",
    1.64 +	       String(["abcdef","abc","bc","c","def","ef","f"]), String('xabcdefg'.match(new RegExp('(a(b(c)))(d(e(f)))'))));
    1.65 +
    1.66 +// 'xabcdefbcefg'.match(new RegExp('(a(b(c)))(d(e(f)))\2\5'))
    1.67 +new TestCase ( SECTION, "'xabcdefbcefg'.match(new RegExp('(a(b(c)))(d(e(f)))\\2\\5'))",
    1.68 +	       String(["abcdefbcef","abc","bc","c","def","ef","f"]), String('xabcdefbcefg'.match(new RegExp('(a(b(c)))(d(e(f)))\\2\\5'))));
    1.69 +
    1.70 +// 'abcd'.match(new RegExp('a(.?)b\1c\1d\1'))
    1.71 +new TestCase ( SECTION, "'abcd'.match(new RegExp('a(.?)b\\1c\\1d\\1'))",
    1.72 +	       String(["abcd",""]), String('abcd'.match(new RegExp('a(.?)b\\1c\\1d\\1'))));
    1.73 +
    1.74 +// 'abcd'.match(/a(.?)b\1c\1d\1/)
    1.75 +new TestCase ( SECTION, "'abcd'.match(/a(.?)b\\1c\\1d\\1/)",
    1.76 +	       String(["abcd",""]), String('abcd'.match(/a(.?)b\1c\1d\1/)));
    1.77 +
    1.78 +test();

mercurial