]>
git.saurik.com Git - apple/javascriptcore.git/blob - tests/mozilla/ecma_3/RegExp/regress-76683.js
2 * The contents of this file are subject to the Netscape Public
3 * License Version 1.1 (the "License"); you may not use this file
4 * except in compliance with the License. You may obtain a copy of
5 * the License at http://www.mozilla.org/NPL/
7 * Software distributed under the License is distributed on an "AS IS"
8 * basis, WITHOUT WARRANTY OF ANY KIND, either expressed
9 * or implied. See the License for the specific language governing
10 * rights and limitations under the License.
12 * The Original Code is mozilla.org code.
14 * The Initial Developer of the Original Code is Netscape
15 * Communications Corporation. Portions created by Netscape are
16 * Copyright (C) 1998 Netscape Communications Corporation.
17 * All Rights Reserved.
19 * Contributor(s): pschwartau@netscape.com
22 * SUMMARY: Regression test for Bugzilla bug 76683 on Rhino:
23 * "RegExp regression (NullPointerException)"
25 * See http://bugzilla.mozilla.org/show_bug.cgi?id=76683
27 //-------------------------------------------------------------------------------------------------
30 var summary
= 'Regression test for Bugzilla bug 76683';
32 var statusmessages
= new Array();
34 var patterns
= new Array();
36 var strings
= new Array();
38 var actualmatches
= new Array();
39 var expectedmatch
= '';
40 var expectedmatches
= new Array();
44 * Rhino (2001-04-19) crashed on the 3rd regular expression below.
45 * It didn't matter what the string was. No problem in SpiderMonkey -
48 status
= inSection(1);
49 pattern
= /(<!--([^-]|-[^-]|--[^>])*-->)|(<([\$\w:\.\-]+)((([ ][^\/>]*)?\/>)|(([ ][^>]*)?>)))/;
50 actualmatch
= string
.match(pattern
);
54 status
= inSection(2);
55 pattern
= /(<!--([^-]|-[^-]|--[^>])*-->)|(<(tagPattern
)((([ ][^\/>]*)?\/>)|(([ ][^>]*)?>)))/;
56 actualmatch
= string
.match(pattern
);
60 // This was the one causing a Rhino crash -
61 status
= inSection(3);
62 pattern
= /(<!--([^-]|-[^-]|--[^>])*-->)|(<(tagPattern
)((([ ][^\/>]*)?\/>)|(([ ][^>]*)?>)))|(<\/tagPattern[^>]*>)/;
63 actualmatch
= string
.match(pattern
);
69 //-------------------------------------------------------------------------------------------------
71 //-------------------------------------------------------------------------------------------------
77 statusmessages
[i
] = status
;
78 patterns
[i
] = pattern
;
80 actualmatches
[i
] = actualmatch
;
81 expectedmatches
[i
] = expectedmatch
;
90 printStatus (summary
);
91 testRegExp(statusmessages
, patterns
, strings
, actualmatches
, expectedmatches
);