]>
git.saurik.com Git - apple/javascriptcore.git/blob - tests/mozilla/js1_2/regexp/everything.js
1 /* The contents of this file are subject to the Netscape Public
2 * License Version 1.1 (the "License"); you may not use this file
3 * except in compliance with the License. You may obtain a copy of
4 * the License at http://www.mozilla.org/NPL/
6 * Software distributed under the License is distributed on an "AS
7 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
8 * implied. See the License for the specific language governing
9 * rights and limitations under the License.
11 * The Original Code is Mozilla Communicator client code, released March
14 * The Initial Developer of the Original Code is Netscape Communications
15 * Corporation. Portions created by Netscape are
16 * Copyright (C) 1998 Netscape Communications Corporation. All
23 Filename: everything.js
24 Description: 'Tests regular expressions'
30 var SECTION
= 'As described in Netscape doc "Whats new in JavaScript 1.2"' ;
31 var VERSION
= 'no version' ;
35 writeHeaderToLog ( 'Executing script: everything.js' );
36 writeHeaderToLog ( SECTION
+ " " + TITLE
);
39 var testcases
= new Array ();
41 // 'Sally and Fred are sure to come.'.match(/^[a-z\s]*/i)
42 testcases
[ count
++] = new TestCase ( SECTION
, "'Sally and Fred are sure to come'.match(/^[a-z \\ s]*/i)" ,
43 String ([ "Sally and Fred are sure to come" ]), String ( 'Sally and Fred are sure to come' . match ( /^[a-z\s]*/i )));
45 // 'test123W+xyz'.match(new RegExp('^[a-z]*[0-9]+[A-Z]?.(123|xyz)$'))
46 testcases
[ count
++] = new TestCase ( SECTION
, "'test123W+xyz'.match(new RegExp('^[a-z]*[0-9]+[A-Z]?.(123|xyz)$'))" ,
47 String ([ "test123W+xyz" , "xyz" ]), String ( 'test123W+xyz' . match ( new RegExp ( '^[a-z]*[0-9]+[A-Z]?.(123|xyz)$' ))));
49 // 'number one 12365 number two 9898'.match(/(\d+)\D+(\d+)/)
50 testcases
[ count
++] = new TestCase ( SECTION
, "'number one 12365 number two 9898'.match(/(\d+)\D+(\d+)/)" ,
51 String ([ "12365 number two 9898" , "12365" , "9898" ]), String ( 'number one 12365 number two 9898' . match ( /(\d+)\D+(\d+)/ )));
53 var simpleSentence
= /(\s?[^\!\?\.]+[\!\?\.])+/ ;
54 // 'See Spot run.'.match(simpleSentence)
55 testcases
[ count
++] = new TestCase ( SECTION
, "'See Spot run.'.match(simpleSentence)" ,
56 String ([ "See Spot run." , "See Spot run." ]), String ( 'See Spot run.' . match ( simpleSentence
)));
58 // 'I like it. What's up? I said NO!'.match(simpleSentence)
59 testcases
[ count
++] = new TestCase ( SECTION
, "'I like it. What's up? I said NO!'.match(simpleSentence)" ,
60 String ([ "I like it. What's up? I said NO!" , ' I said NO!' ]), String ( 'I like it. What \' s up? I said NO!' . match ( simpleSentence
)));
62 // 'the quick brown fox jumped over the lazy dogs'.match(/((\w+)\s*)+/)
63 testcases
[ count
++] = new TestCase ( SECTION
, "'the quick brown fox jumped over the lazy dogs'.match(/(( \\ w+) \\ s*)+/)" ,
64 String ([ 'the quick brown fox jumped over the lazy dogs' , 'dogs' , 'dogs' ]), String ( 'the quick brown fox jumped over the lazy dogs' . match ( /((\w+)\s*)+/ )));
68 for ( tc
= 0 ; tc
< testcases
. length
; tc
++ ) {
69 testcases
[ tc
]. passed
= writeTestCaseResult (
72 testcases
[ tc
]. description
+ " = " +
73 testcases
[ tc
]. actual
);
74 testcases
[ tc
]. reason
+= ( testcases
[ tc
]. passed
) ? "" : "wrong value " ;