|
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
2 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
5 |
|
6 |
|
7 /** |
|
8 Filename: RegExp_multiline_as_array.js |
|
9 Description: 'Tests RegExps $* property (same tests as RegExp_multiline.js but using $*)' |
|
10 |
|
11 Author: Nick Lerissa |
|
12 Date: March 13, 1998 |
|
13 */ |
|
14 |
|
15 var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; |
|
16 var VERSION = 'no version'; |
|
17 startTest(); |
|
18 var TITLE = 'RegExp: $*'; |
|
19 |
|
20 writeHeaderToLog('Executing script: RegExp_multiline_as_array.js'); |
|
21 writeHeaderToLog( SECTION + " "+ TITLE); |
|
22 |
|
23 |
|
24 // First we do a series of tests with RegExp['$*'] set to false (default value) |
|
25 // Following this we do the same tests with RegExp['$*'] set true(**). |
|
26 // RegExp['$*'] |
|
27 new TestCase ( SECTION, "RegExp['$*']", |
|
28 false, RegExp['$*']); |
|
29 |
|
30 // (['$*'] == false) '123\n456'.match(/^4../) |
|
31 new TestCase ( SECTION, "(['$*'] == false) '123\\n456'.match(/^4../)", |
|
32 null, '123\n456'.match(/^4../)); |
|
33 |
|
34 // (['$*'] == false) 'a11\na22\na23\na24'.match(/^a../g) |
|
35 new TestCase ( SECTION, "(['$*'] == false) 'a11\\na22\\na23\\na24'.match(/^a../g)", |
|
36 String(['a11']), String('a11\na22\na23\na24'.match(/^a../g))); |
|
37 |
|
38 // (['$*'] == false) 'a11\na22'.match(/^.+^./) |
|
39 new TestCase ( SECTION, "(['$*'] == false) 'a11\na22'.match(/^.+^./)", |
|
40 null, 'a11\na22'.match(/^.+^./)); |
|
41 |
|
42 // (['$*'] == false) '123\n456'.match(/.3$/) |
|
43 new TestCase ( SECTION, "(['$*'] == false) '123\\n456'.match(/.3$/)", |
|
44 null, '123\n456'.match(/.3$/)); |
|
45 |
|
46 // (['$*'] == false) 'a11\na22\na23\na24'.match(/a..$/g) |
|
47 new TestCase ( SECTION, "(['$*'] == false) 'a11\\na22\\na23\\na24'.match(/a..$/g)", |
|
48 String(['a24']), String('a11\na22\na23\na24'.match(/a..$/g))); |
|
49 |
|
50 // (['$*'] == false) 'abc\ndef'.match(/c$...$/) |
|
51 new TestCase ( SECTION, "(['$*'] == false) 'abc\ndef'.match(/c$...$/)", |
|
52 null, 'abc\ndef'.match(/c$...$/)); |
|
53 |
|
54 // (['$*'] == false) 'a11\na22\na23\na24'.match(new RegExp('a..$','g')) |
|
55 new TestCase ( SECTION, "(['$*'] == false) 'a11\\na22\\na23\\na24'.match(new RegExp('a..$','g'))", |
|
56 String(['a24']), String('a11\na22\na23\na24'.match(new RegExp('a..$','g')))); |
|
57 |
|
58 // (['$*'] == false) 'abc\ndef'.match(new RegExp('c$...$')) |
|
59 new TestCase ( SECTION, "(['$*'] == false) 'abc\ndef'.match(new RegExp('c$...$'))", |
|
60 null, 'abc\ndef'.match(new RegExp('c$...$'))); |
|
61 |
|
62 // **Now we do the tests with RegExp['$*'] set to true |
|
63 // RegExp['$*'] = true; RegExp['$*'] |
|
64 RegExp['$*'] = true; |
|
65 new TestCase ( SECTION, "RegExp['$*'] = true; RegExp['$*']", |
|
66 true, RegExp['$*']); |
|
67 |
|
68 // (['$*'] == true) '123\n456'.match(/^4../) |
|
69 new TestCase ( SECTION, "(['$*'] == true) '123\\n456'.match(/^4../)", |
|
70 String(['456']), String('123\n456'.match(/^4../))); |
|
71 |
|
72 // (['$*'] == true) 'a11\na22\na23\na24'.match(/^a../g) |
|
73 new TestCase ( SECTION, "(['$*'] == true) 'a11\\na22\\na23\\na24'.match(/^a../g)", |
|
74 String(['a11','a22','a23','a24']), String('a11\na22\na23\na24'.match(/^a../g))); |
|
75 |
|
76 // (['$*'] == true) 'a11\na22'.match(/^.+^./) |
|
77 //new TestCase ( SECTION, "(['$*'] == true) 'a11\na22'.match(/^.+^./)", |
|
78 // String(['a11\na']), String('a11\na22'.match(/^.+^./))); |
|
79 |
|
80 // (['$*'] == true) '123\n456'.match(/.3$/) |
|
81 new TestCase ( SECTION, "(['$*'] == true) '123\\n456'.match(/.3$/)", |
|
82 String(['23']), String('123\n456'.match(/.3$/))); |
|
83 |
|
84 // (['$*'] == true) 'a11\na22\na23\na24'.match(/a..$/g) |
|
85 new TestCase ( SECTION, "(['$*'] == true) 'a11\\na22\\na23\\na24'.match(/a..$/g)", |
|
86 String(['a11','a22','a23','a24']), String('a11\na22\na23\na24'.match(/a..$/g))); |
|
87 |
|
88 // (['$*'] == true) 'a11\na22\na23\na24'.match(new RegExp('a..$','g')) |
|
89 new TestCase ( SECTION, "(['$*'] == true) 'a11\\na22\\na23\\na24'.match(new RegExp('a..$','g'))", |
|
90 String(['a11','a22','a23','a24']), String('a11\na22\na23\na24'.match(new RegExp('a..$','g')))); |
|
91 |
|
92 // (['$*'] == true) 'abc\ndef'.match(/c$....$/) |
|
93 //new TestCase ( SECTION, "(['$*'] == true) 'abc\ndef'.match(/c$.+$/)", |
|
94 // 'c\ndef', String('abc\ndef'.match(/c$.+$/))); |
|
95 |
|
96 RegExp['$*'] = false; |
|
97 |
|
98 test(); |