js/src/tests/js1_2/regexp/RegExp_multiline.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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/. */
     7 /**
     8    Filename:     RegExp_multiline.js
     9    Description:  'Tests RegExps multiline property'
    11    Author:       Nick Lerissa
    12    Date:         March 12, 1998
    13 */
    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: multiline';
    20 writeHeaderToLog('Executing script: RegExp_multiline.js');
    21 writeHeaderToLog( SECTION + " "+ TITLE);
    23 // First we do a series of tests with RegExp.multiline set to false (default value)
    24 // Following this we do the same tests with RegExp.multiline set true(**).
    25 // RegExp.multiline
    26 new TestCase ( SECTION, "RegExp.multiline",
    27 	       false, RegExp.multiline);
    29 // (multiline == false) '123\n456'.match(/^4../)
    30 new TestCase ( SECTION, "(multiline == false) '123\\n456'.match(/^4../)",
    31 	       null, '123\n456'.match(/^4../));
    33 // (multiline == false) 'a11\na22\na23\na24'.match(/^a../g)
    34 new TestCase ( SECTION, "(multiline == false) 'a11\\na22\\na23\\na24'.match(/^a../g)",
    35 	       String(['a11']), String('a11\na22\na23\na24'.match(/^a../g)));
    37 // (multiline == false) 'a11\na22'.match(/^.+^./)
    38 new TestCase ( SECTION, "(multiline == false) 'a11\na22'.match(/^.+^./)",
    39 	       null, 'a11\na22'.match(/^.+^./));
    41 // (multiline == false) '123\n456'.match(/.3$/)
    42 new TestCase ( SECTION, "(multiline == false) '123\\n456'.match(/.3$/)",
    43 	       null, '123\n456'.match(/.3$/));
    45 // (multiline == false) 'a11\na22\na23\na24'.match(/a..$/g)
    46 new TestCase ( SECTION, "(multiline == false) 'a11\\na22\\na23\\na24'.match(/a..$/g)",
    47 	       String(['a24']), String('a11\na22\na23\na24'.match(/a..$/g)));
    49 // (multiline == false) 'abc\ndef'.match(/c$...$/)
    50 new TestCase ( SECTION, "(multiline == false) 'abc\ndef'.match(/c$...$/)",
    51 	       null, 'abc\ndef'.match(/c$...$/));
    53 // (multiline == false) 'a11\na22\na23\na24'.match(new RegExp('a..$','g'))
    54 new TestCase ( SECTION, "(multiline == false) 'a11\\na22\\na23\\na24'.match(new RegExp('a..$','g'))",
    55 	       String(['a24']), String('a11\na22\na23\na24'.match(new RegExp('a..$','g'))));
    57 // (multiline == false) 'abc\ndef'.match(new RegExp('c$...$'))
    58 new TestCase ( SECTION, "(multiline == false) 'abc\ndef'.match(new RegExp('c$...$'))",
    59 	       null, 'abc\ndef'.match(new RegExp('c$...$')));
    61 // **Now we do the tests with RegExp.multiline set to true
    62 // RegExp.multiline = true; RegExp.multiline
    63 RegExp.multiline = true;
    64 new TestCase ( SECTION, "RegExp.multiline = true; RegExp.multiline",
    65 	       true, RegExp.multiline);
    67 // (multiline == true) '123\n456'.match(/^4../)
    68 new TestCase ( SECTION, "(multiline == true) '123\\n456'.match(/^4../)",
    69 	       String(['456']), String('123\n456'.match(/^4../)));
    71 // (multiline == true) 'a11\na22\na23\na24'.match(/^a../g)
    72 new TestCase ( SECTION, "(multiline == true) 'a11\\na22\\na23\\na24'.match(/^a../g)",
    73 	       String(['a11','a22','a23','a24']), String('a11\na22\na23\na24'.match(/^a../g)));
    75 // (multiline == true) 'a11\na22'.match(/^.+^./)
    76 //new TestCase ( SECTION, "(multiline == true) 'a11\na22'.match(/^.+^./)",
    77 //                                    String(['a11\na']), String('a11\na22'.match(/^.+^./)));
    79 // (multiline == true) '123\n456'.match(/.3$/)
    80 new TestCase ( SECTION, "(multiline == true) '123\\n456'.match(/.3$/)",
    81 	       String(['23']), String('123\n456'.match(/.3$/)));
    83 // (multiline == true) 'a11\na22\na23\na24'.match(/a..$/g)
    84 new TestCase ( SECTION, "(multiline == true) 'a11\\na22\\na23\\na24'.match(/a..$/g)",
    85 	       String(['a11','a22','a23','a24']), String('a11\na22\na23\na24'.match(/a..$/g)));
    87 // (multiline == true) 'a11\na22\na23\na24'.match(new RegExp('a..$','g'))
    88 new TestCase ( SECTION, "(multiline == true) 'a11\\na22\\na23\\na24'.match(new RegExp('a..$','g'))",
    89 	       String(['a11','a22','a23','a24']), String('a11\na22\na23\na24'.match(new RegExp('a..$','g'))));
    91 // (multiline == true) 'abc\ndef'.match(/c$....$/)
    92 //new TestCase ( SECTION, "(multiline == true) 'abc\ndef'.match(/c$.+$/)",
    93 //                                    'c\ndef', String('abc\ndef'.match(/c$.+$/)));
    95 RegExp.multiline = false;
    97 test();

mercurial