1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/tests/js1_2/regexp/interval.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,83 @@ 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: interval.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: interval.js'); 1.24 +writeHeaderToLog( SECTION + " "+ TITLE); 1.25 + 1.26 +// 'aaabbbbcccddeeeefffff'.match(new RegExp('b{2}c')) 1.27 +new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('b{2}c'))", 1.28 + String(["bbc"]), String('aaabbbbcccddeeeefffff'.match(new RegExp('b{2}c')))); 1.29 + 1.30 +// 'aaabbbbcccddeeeefffff'.match(new RegExp('b{8}')) 1.31 +new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('b{8}'))", 1.32 + null, 'aaabbbbcccddeeeefffff'.match(new RegExp('b{8}'))); 1.33 + 1.34 +// 'aaabbbbcccddeeeefffff'.match(new RegExp('b{2,}c')) 1.35 +new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('b{2,}c'))", 1.36 + String(["bbbbc"]), String('aaabbbbcccddeeeefffff'.match(new RegExp('b{2,}c')))); 1.37 + 1.38 +// 'aaabbbbcccddeeeefffff'.match(new RegExp('b{8,}c')) 1.39 +new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('b{8,}c'))", 1.40 + null, 'aaabbbbcccddeeeefffff'.match(new RegExp('b{8,}c'))); 1.41 + 1.42 +// 'aaabbbbcccddeeeefffff'.match(new RegExp('b{2,3}c')) 1.43 +new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('b{2,3}c'))", 1.44 + String(["bbbc"]), String('aaabbbbcccddeeeefffff'.match(new RegExp('b{2,3}c')))); 1.45 + 1.46 +// 'aaabbbbcccddeeeefffff'.match(new RegExp('b{42,93}c')) 1.47 +new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('b{42,93}c'))", 1.48 + null, 'aaabbbbcccddeeeefffff'.match(new RegExp('b{42,93}c'))); 1.49 + 1.50 +// 'aaabbbbcccddeeeefffff'.match(new RegExp('b{0,93}c')) 1.51 +new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('b{0,93}c'))", 1.52 + String(["bbbbc"]), String('aaabbbbcccddeeeefffff'.match(new RegExp('b{0,93}c')))); 1.53 + 1.54 +// 'aaabbbbcccddeeeefffff'.match(new RegExp('bx{0,93}c')) 1.55 +new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('bx{0,93}c'))", 1.56 + String(["bc"]), String('aaabbbbcccddeeeefffff'.match(new RegExp('bx{0,93}c')))); 1.57 + 1.58 +// 'weirwerdf'.match(new RegExp('.{0,93}')) 1.59 +new TestCase ( SECTION, "'weirwerdf'.match(new RegExp('.{0,93}'))", 1.60 + String(["weirwerdf"]), String('weirwerdf'.match(new RegExp('.{0,93}')))); 1.61 + 1.62 +// 'wqe456646dsff'.match(new RegExp('\d{1,}')) 1.63 +new TestCase ( SECTION, "'wqe456646dsff'.match(new RegExp('\\d{1,}'))", 1.64 + String(["456646"]), String('wqe456646dsff'.match(new RegExp('\\d{1,}')))); 1.65 + 1.66 +// '123123'.match(new RegExp('(123){1,}')) 1.67 +new TestCase ( SECTION, "'123123'.match(new RegExp('(123){1,}'))", 1.68 + String(["123123","123"]), String('123123'.match(new RegExp('(123){1,}')))); 1.69 + 1.70 +// '123123x123'.match(new RegExp('(123){1,}x\1')) 1.71 +new TestCase ( SECTION, "'123123x123'.match(new RegExp('(123){1,}x\\1'))", 1.72 + String(["123123x123","123"]), String('123123x123'.match(new RegExp('(123){1,}x\\1')))); 1.73 + 1.74 +// '123123x123'.match(/(123){1,}x\1/) 1.75 +new TestCase ( SECTION, "'123123x123'.match(/(123){1,}x\\1/)", 1.76 + String(["123123x123","123"]), String('123123x123'.match(/(123){1,}x\1/))); 1.77 + 1.78 +// 'xxxxxxx'.match(new RegExp('x{1,2}x{1,}')) 1.79 +new TestCase ( SECTION, "'xxxxxxx'.match(new RegExp('x{1,2}x{1,}'))", 1.80 + String(["xxxxxxx"]), String('xxxxxxx'.match(new RegExp('x{1,2}x{1,}')))); 1.81 + 1.82 +// 'xxxxxxx'.match(/x{1,2}x{1,}/) 1.83 +new TestCase ( SECTION, "'xxxxxxx'.match(/x{1,2}x{1,}/)", 1.84 + String(["xxxxxxx"]), String('xxxxxxx'.match(/x{1,2}x{1,}/))); 1.85 + 1.86 +test();