18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* The contents of this file are subject to the Netscape Public 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * License Version 1.1 (the "License"); you may not use this file 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * except in compliance with the License. You may obtain a copy of 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * the License at http://www.mozilla.org/NPL/ 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Software distributed under the License is distributed on an "AS 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * implied. See the License for the specific language governing 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * rights and limitations under the License. 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The Original Code is Mozilla Communicator client code, released March 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 31, 1998. 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * The Initial Developer of the Original Code is Netscape Communications 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Corporation. Portions created by Netscape are 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 1998 Netscape Communications Corporation. All 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Rights Reserved. 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Contributor(s): 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Filename: RegExp_input_as_array.js 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Description: 'Tests RegExps $_ property (same tests as RegExp_input.js but using $_)' 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Author: Nick Lerissa 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Date: March 13, 1998 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"'; 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var VERSION = 'no version'; 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project startTest(); 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var TITLE = 'RegExp: input'; 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project writeHeaderToLog('Executing script: RegExp_input.js'); 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project writeHeaderToLog( SECTION + " "+ TITLE); 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var count = 0; 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var testcases = new Array(); 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RegExp['$_'] = "abcd12357efg"; 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // RegExp['$_'] = "abcd12357efg"; RegExp['$_'] 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RegExp['$_'] = "abcd12357efg"; 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; RegExp['$_']", 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project "abcd12357efg", RegExp['$_']); 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // RegExp['$_'] = "abcd12357efg"; /\d+/.exec('2345') 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RegExp['$_'] = "abcd12357efg"; 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /\\d+/.exec('2345')", 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project String(["2345"]), String(/\d+/.exec('2345'))); 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 532bde8e466a4451c7319e3a072d118917957d6554Steve Block // RegExp['$_'] = "abcd12357efg"; /\d+/.exec(RegExp.input) 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RegExp['$_'] = "abcd12357efg"; 552bde8e466a4451c7319e3a072d118917957d6554Steve Block testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /\\d+/.exec(RegExp.input)", 562bde8e466a4451c7319e3a072d118917957d6554Steve Block String(["12357"]), String(/\d+/.exec(RegExp.input))); 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 582bde8e466a4451c7319e3a072d118917957d6554Steve Block // RegExp['$_'] = "abcd12357efg"; /[h-z]+/.exec(RegExp.input) 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RegExp['$_'] = "abcd12357efg"; 602bde8e466a4451c7319e3a072d118917957d6554Steve Block testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /[h-z]+/.exec(RegExp.input)", 612bde8e466a4451c7319e3a072d118917957d6554Steve Block null, /[h-z]+/.exec(RegExp.input)); 628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // RegExp['$_'] = "abcd12357efg"; /\d+/.test('2345') 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RegExp['$_'] = "abcd12357efg"; 658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /\\d+/.test('2345')", 668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project true, /\d+/.test('2345')); 678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 682bde8e466a4451c7319e3a072d118917957d6554Steve Block // RegExp['$_'] = "abcd12357efg"; /\d+/.test(RegExp.input) 698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RegExp['$_'] = "abcd12357efg"; 702bde8e466a4451c7319e3a072d118917957d6554Steve Block testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /\\d+/.test(RegExp.input)", 712bde8e466a4451c7319e3a072d118917957d6554Steve Block true, /\d+/.test(RegExp.input)); 728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 732bde8e466a4451c7319e3a072d118917957d6554Steve Block // RegExp['$_'] = "abcd12357efg"; /[h-z]+/.test(RegExp.input) 748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RegExp['$_'] = "abcd12357efg"; 752bde8e466a4451c7319e3a072d118917957d6554Steve Block testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /[h-z]+/.test(RegExp.input)", 762bde8e466a4451c7319e3a072d118917957d6554Steve Block false, /[h-z]+/.test(RegExp.input)); 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 782bde8e466a4451c7319e3a072d118917957d6554Steve Block // RegExp['$_'] = "abcd12357efg"; (new RegExp('\d+')).test(RegExp.input) 798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RegExp['$_'] = "abcd12357efg"; 802bde8e466a4451c7319e3a072d118917957d6554Steve Block testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; (new RegExp('\d+')).test(RegExp.input)", 812bde8e466a4451c7319e3a072d118917957d6554Steve Block true, (new RegExp('\d+')).test(RegExp.input)); 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 832bde8e466a4451c7319e3a072d118917957d6554Steve Block // RegExp['$_'] = "abcd12357efg"; (new RegExp('[h-z]+')).test(RegExp.input) 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RegExp['$_'] = "abcd12357efg"; 852bde8e466a4451c7319e3a072d118917957d6554Steve Block testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; (new RegExp('[h-z]+')).test(RegExp.input)", 862bde8e466a4451c7319e3a072d118917957d6554Steve Block false, (new RegExp('[h-z]+')).test(RegExp.input)); 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project function test() 898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project { 908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project for ( tc=0; tc < testcases.length; tc++ ) { 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project testcases[tc].passed = writeTestCaseResult( 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project testcases[tc].expect, 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project testcases[tc].actual, 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project testcases[tc].description +" = "+ 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project testcases[tc].actual ); 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project testcases[tc].reason += ( testcases[tc].passed ) ? "" : "wrong value "; 978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project stopTest(); 998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return ( testcases ); 1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project test(); 103