18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* The contents of this file are subject to the Netscape Public
38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* License Version 1.1 (the "License"); you may not use this file
48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* except in compliance with the License. You may obtain a copy of
58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* the License at http://www.mozilla.org/NPL/
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*
78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Software distributed under the License is distributed on an "AS  IS"
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* basis, WITHOUT WARRANTY OF ANY KIND, either expressed
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* or implied. See the License for the specific language governing
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* rights and limitations under the License.
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* The Original Code is mozilla.org code.
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* The Initial Developer of the Original Code is Netscape
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Communications Corporation.  Portions created by Netscape are
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Copyright (C) 1998 Netscape Communications Corporation.
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* All Rights Reserved.
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Contributor(s): pschwartau@netscape.com
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Date: 17 September 2001
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* SUMMARY: Regression test for Bugzilla bug 100199
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* See http://bugzilla.mozilla.org/show_bug.cgi?id=100199
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*
258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* The empty character class [] is a valid RegExp construct: the condition
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* that a given character belong to a set containing no characters. As such,
278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* it can never be met and is always FALSE. Similarly, [^] is a condition
288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* that matches any given character and is always TRUE.
298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*
308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Neither one of these conditions should cause syntax errors in a RegExp.
318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//-----------------------------------------------------------------------------
338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar i = 0;
348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar bug = 100199;
358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar summary = '[], [^] are valid RegExp conditions. Should not cause errors -';
368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar status = '';
378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar statusmessages = new Array();
388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar pattern = '';
398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar patterns = new Array();
408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar string = '';
418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar strings = new Array();
428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar actualmatch = '';
438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar actualmatches = new Array();
448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar expectedmatch = '';
458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar expectedmatches = new Array();
468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectpattern = /[]/;
498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = 'abc';
508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(1);
518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '';
568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(2);
578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '[';
628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(3);
638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '/';
688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(4);
698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '[';
748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(5);
758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = ']';
808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(6);
818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '[]';
868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(7);
878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '[ ]';
928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(8);
938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '][';
988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(9);
998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectpattern = /a[]/;
1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = 'abc';
1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(10);
1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '';
1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(11);
1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = 'a[';
1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(12);
1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = 'a[]';
1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(13);
1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '[';
1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(14);
1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = ']';
1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(15);
1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '[]';
1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(16);
1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '[ ]';
1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(17);
1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '][';
1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(18);
1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null;
1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectpattern = /[^]/;
1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = 'abc';
1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(19);
1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = Array('a');
1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '';
1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(20);
1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null; //there are no characters to test against the condition
1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '\/';
1748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(21);
1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = Array('/');
1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '\[';
1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(22);
1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = Array('[');
1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '[';
1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(23);
1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = Array('[');
1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = ']';
1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(24);
1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = Array(']');
1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '[]';
1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(25);
1998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
2008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = Array('[');
2018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '[ ]';
2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(26);
2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = Array('[');
2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '][';
2108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(27);
2118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
2128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = Array(']');
2138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
2148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectpattern = /a[^]/;
2178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = 'abc';
2188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(28);
2198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
2208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = Array('ab');
2218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
2228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = '';
2248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(29);
2258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
2268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = null; //there are no characters to test against the condition
2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
2288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = 'a[';
2308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(30);
2318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
2328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = Array('a[');
2338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
2348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = 'a]';
2368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(31);
2378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
2388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = Array('a]');
2398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
2408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = 'a[]';
2428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(32);
2438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
2448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = Array('a[');
2458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
2468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = 'a[ ]';
2488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(33);
2498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
2508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = Array('a[');
2518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
2528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  string = 'a][';
2548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  status = inSection(34);
2558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatch = string.match(pattern);
2568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatch = Array('a]');
2578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  addThis();
2588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//-----------------------------------------------------------------------------
2638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttest();
2648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//-----------------------------------------------------------------------------
2658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction addThis()
2698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  statusmessages[i] = status;
2718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  patterns[i] = pattern;
2728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  strings[i] = string;
2738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  actualmatches[i] = actualmatch;
2748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  expectedmatches[i] = expectedmatch;
2758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  i++;
2768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction test()
2808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  enterFunc ('test');
2828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  printBugNumber (bug);
2838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  printStatus (summary);
2848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  testRegExp(statusmessages, patterns, strings, actualmatches, expectedmatches);
2858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project  exitFunc ('test');
2868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
287