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/ 5 * 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. 10 * 11 * The Original Code is Mozilla Communicator client code, released March 12 * 31, 1998. 13 * 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 17 * Rights Reserved. 18 * 19 * Contributor(s): 20 * 21 */ 22/** 23 Filename: RegExp_input_as_array.js 24 Description: 'Tests RegExps $_ property (same tests as RegExp_input.js but using $_)' 25 26 Author: Nick Lerissa 27 Date: March 13, 1998 28*/ 29 30 var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; 31 var VERSION = 'no version'; 32 startTest(); 33 var TITLE = 'RegExp: input'; 34 35 writeHeaderToLog('Executing script: RegExp_input.js'); 36 writeHeaderToLog( SECTION + " "+ TITLE); 37 38 var count = 0; 39 var testcases = new Array(); 40 41 RegExp['$_'] = "abcd12357efg"; 42 43 // RegExp['$_'] = "abcd12357efg"; RegExp['$_'] 44 RegExp['$_'] = "abcd12357efg"; 45 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; RegExp['$_']", 46 "abcd12357efg", RegExp['$_']); 47 48 // RegExp['$_'] = "abcd12357efg"; /\d+/.exec('2345') 49 RegExp['$_'] = "abcd12357efg"; 50 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /\\d+/.exec('2345')", 51 String(["2345"]), String(/\d+/.exec('2345'))); 52 53 // RegExp['$_'] = "abcd12357efg"; /\d+/.exec(RegExp.input) 54 RegExp['$_'] = "abcd12357efg"; 55 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /\\d+/.exec(RegExp.input)", 56 String(["12357"]), String(/\d+/.exec(RegExp.input))); 57 58 // RegExp['$_'] = "abcd12357efg"; /[h-z]+/.exec(RegExp.input) 59 RegExp['$_'] = "abcd12357efg"; 60 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /[h-z]+/.exec(RegExp.input)", 61 null, /[h-z]+/.exec(RegExp.input)); 62 63 // RegExp['$_'] = "abcd12357efg"; /\d+/.test('2345') 64 RegExp['$_'] = "abcd12357efg"; 65 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /\\d+/.test('2345')", 66 true, /\d+/.test('2345')); 67 68 // RegExp['$_'] = "abcd12357efg"; /\d+/.test(RegExp.input) 69 RegExp['$_'] = "abcd12357efg"; 70 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /\\d+/.test(RegExp.input)", 71 true, /\d+/.test(RegExp.input)); 72 73 // RegExp['$_'] = "abcd12357efg"; /[h-z]+/.test(RegExp.input) 74 RegExp['$_'] = "abcd12357efg"; 75 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /[h-z]+/.test(RegExp.input)", 76 false, /[h-z]+/.test(RegExp.input)); 77 78 // RegExp['$_'] = "abcd12357efg"; (new RegExp('\d+')).test(RegExp.input) 79 RegExp['$_'] = "abcd12357efg"; 80 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; (new RegExp('\d+')).test(RegExp.input)", 81 true, (new RegExp('\d+')).test(RegExp.input)); 82 83 // RegExp['$_'] = "abcd12357efg"; (new RegExp('[h-z]+')).test(RegExp.input) 84 RegExp['$_'] = "abcd12357efg"; 85 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; (new RegExp('[h-z]+')).test(RegExp.input)", 86 false, (new RegExp('[h-z]+')).test(RegExp.input)); 87 88 function test() 89 { 90 for ( tc=0; tc < testcases.length; tc++ ) { 91 testcases[tc].passed = writeTestCaseResult( 92 testcases[tc].expect, 93 testcases[tc].actual, 94 testcases[tc].description +" = "+ 95 testcases[tc].actual ); 96 testcases[tc].reason += ( testcases[tc].passed ) ? "" : "wrong value "; 97 } 98 stopTest(); 99 return ( testcases ); 100 } 101 102 test(); 103