]>
git.saurik.com Git - apple/javascriptcore.git/blob - tests/mozilla/ecma_3/String/regress-104375.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
8 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
9 * 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): k.mike@gmx.net, pschwartau@netscape.com
20 * Date: 12 October 2001
22 * SUMMARY: Regression test for string.replace bug 104375
23 * See http://bugzilla.mozilla.org/show_bug.cgi?id=104375
25 //-----------------------------------------------------------------------------
28 var summary
= 'Testing string.replace() with backreferences';
32 var actualvalues
= [];
34 var expectedvalues
= [];
38 * Use the regexp to replace 'uid=31' with 'uid=15'
40 * In the second parameter of string.replace() method,
41 * "$1" refers to the first backreference: 'uid='
44 var re
= /(uid=)(\d+)/;
46 // try the numeric literal 15
47 status
= inSection(1);
48 actual
= str
.replace (re
, "$1" + 15);
52 // try the string literal '15'
53 status
= inSection(2);
54 actual
= str
.replace (re
, "$1" + '15');
58 // try a letter before the '15'
59 status
= inSection(3);
60 actual
= str
.replace (re
, "$1" + 'A15');
66 //-----------------------------------------------------------------------------
68 //-----------------------------------------------------------------------------
74 statusitems
[UBound
] = status
;
75 actualvalues
[UBound
] = actual
;
76 expectedvalues
[UBound
] = expect
;
85 printStatus (summary
);
87 for (var i
=0; i
<UBound
; i
++)
89 reportCompare(expectedvalues
[i
], actualvalues
[i
], statusitems
[i
]);