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: Filename: interval.js michael@0: Description: 'Tests regular expressions containing {}' michael@0: michael@0: Author: Nick Lerissa michael@0: Date: March 10, 1998 michael@0: */ michael@0: michael@0: var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; michael@0: var VERSION = 'no version'; michael@0: startTest(); michael@0: var TITLE = 'RegExp: {}'; michael@0: michael@0: writeHeaderToLog('Executing script: interval.js'); michael@0: writeHeaderToLog( SECTION + " "+ TITLE); michael@0: michael@0: // 'aaabbbbcccddeeeefffff'.match(new RegExp('b{2}c')) michael@0: new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('b{2}c'))", michael@0: String(["bbc"]), String('aaabbbbcccddeeeefffff'.match(new RegExp('b{2}c')))); michael@0: michael@0: // 'aaabbbbcccddeeeefffff'.match(new RegExp('b{8}')) michael@0: new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('b{8}'))", michael@0: null, 'aaabbbbcccddeeeefffff'.match(new RegExp('b{8}'))); michael@0: michael@0: // 'aaabbbbcccddeeeefffff'.match(new RegExp('b{2,}c')) michael@0: new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('b{2,}c'))", michael@0: String(["bbbbc"]), String('aaabbbbcccddeeeefffff'.match(new RegExp('b{2,}c')))); michael@0: michael@0: // 'aaabbbbcccddeeeefffff'.match(new RegExp('b{8,}c')) michael@0: new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('b{8,}c'))", michael@0: null, 'aaabbbbcccddeeeefffff'.match(new RegExp('b{8,}c'))); michael@0: michael@0: // 'aaabbbbcccddeeeefffff'.match(new RegExp('b{2,3}c')) michael@0: new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('b{2,3}c'))", michael@0: String(["bbbc"]), String('aaabbbbcccddeeeefffff'.match(new RegExp('b{2,3}c')))); michael@0: michael@0: // 'aaabbbbcccddeeeefffff'.match(new RegExp('b{42,93}c')) michael@0: new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('b{42,93}c'))", michael@0: null, 'aaabbbbcccddeeeefffff'.match(new RegExp('b{42,93}c'))); michael@0: michael@0: // 'aaabbbbcccddeeeefffff'.match(new RegExp('b{0,93}c')) michael@0: new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('b{0,93}c'))", michael@0: String(["bbbbc"]), String('aaabbbbcccddeeeefffff'.match(new RegExp('b{0,93}c')))); michael@0: michael@0: // 'aaabbbbcccddeeeefffff'.match(new RegExp('bx{0,93}c')) michael@0: new TestCase ( SECTION, "'aaabbbbcccddeeeefffff'.match(new RegExp('bx{0,93}c'))", michael@0: String(["bc"]), String('aaabbbbcccddeeeefffff'.match(new RegExp('bx{0,93}c')))); michael@0: michael@0: // 'weirwerdf'.match(new RegExp('.{0,93}')) michael@0: new TestCase ( SECTION, "'weirwerdf'.match(new RegExp('.{0,93}'))", michael@0: String(["weirwerdf"]), String('weirwerdf'.match(new RegExp('.{0,93}')))); michael@0: michael@0: // 'wqe456646dsff'.match(new RegExp('\d{1,}')) michael@0: new TestCase ( SECTION, "'wqe456646dsff'.match(new RegExp('\\d{1,}'))", michael@0: String(["456646"]), String('wqe456646dsff'.match(new RegExp('\\d{1,}')))); michael@0: michael@0: // '123123'.match(new RegExp('(123){1,}')) michael@0: new TestCase ( SECTION, "'123123'.match(new RegExp('(123){1,}'))", michael@0: String(["123123","123"]), String('123123'.match(new RegExp('(123){1,}')))); michael@0: michael@0: // '123123x123'.match(new RegExp('(123){1,}x\1')) michael@0: new TestCase ( SECTION, "'123123x123'.match(new RegExp('(123){1,}x\\1'))", michael@0: String(["123123x123","123"]), String('123123x123'.match(new RegExp('(123){1,}x\\1')))); michael@0: michael@0: // '123123x123'.match(/(123){1,}x\1/) michael@0: new TestCase ( SECTION, "'123123x123'.match(/(123){1,}x\\1/)", michael@0: String(["123123x123","123"]), String('123123x123'.match(/(123){1,}x\1/))); michael@0: michael@0: // 'xxxxxxx'.match(new RegExp('x{1,2}x{1,}')) michael@0: new TestCase ( SECTION, "'xxxxxxx'.match(new RegExp('x{1,2}x{1,}'))", michael@0: String(["xxxxxxx"]), String('xxxxxxx'.match(new RegExp('x{1,2}x{1,}')))); michael@0: michael@0: // 'xxxxxxx'.match(/x{1,2}x{1,}/) michael@0: new TestCase ( SECTION, "'xxxxxxx'.match(/x{1,2}x{1,}/)", michael@0: String(["xxxxxxx"]), String('xxxxxxx'.match(/x{1,2}x{1,}/))); michael@0: michael@0: test();