]>
git.saurik.com Git - apple/javascriptcore.git/blob - tests/mozilla/ecma_3/RegExp/regress-72964.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 72964:
23 * "String method for pattern matching failed for Chinese Simplified (GB2312)"
25 * See http://bugzilla.mozilla.org/show_bug.cgi?id=72964
27 //-----------------------------------------------------------------------------
30 var summary
= 'Testing regular expressions containing non-Latin1 characters';
31 var cnSingleSpace
= ' ';
33 var statusmessages
= new Array();
35 var patterns
= new Array();
37 var strings
= new Array();
39 var actualmatches
= new Array();
40 var expectedmatch
= '';
41 var expectedmatches
= new Array();
45 // 4 low Unicode chars = Latin1; whole string should match
46 status
= inSection(1);
47 string
= '\u00BF\u00CD\u00BB\u00A7';
48 actualmatch
= string
.match(pattern
);
49 expectedmatch
= Array(string
);
52 // Now put a space in the middle; first half of string should match
53 status
= inSection(2);
54 string
= '\u00BF\u00CD \u00BB\u00A7';
55 actualmatch
= string
.match(pattern
);
56 expectedmatch
= Array('\u00BF\u00CD');
60 // 4 high Unicode chars = non-Latin1; whole string should match
61 status
= inSection(3);
62 string
= '\u4e00\uac00\u4e03\u4e00';
63 actualmatch
= string
.match(pattern
);
64 expectedmatch
= Array(string
);
67 // Now put a space in the middle; first half of string should match
68 status
= inSection(4);
69 string
= '\u4e00\uac00 \u4e03\u4e00';
70 actualmatch
= string
.match(pattern
);
71 expectedmatch
= Array('\u4e00\uac00');
76 //-----------------------------------------------------------------------------
78 //-----------------------------------------------------------------------------
84 statusmessages
[i
] = status
;
85 patterns
[i
] = pattern
;
87 actualmatches
[i
] = actualmatch
;
88 expectedmatches
[i
] = expectedmatch
;
97 printStatus (summary
);
98 testRegExp(statusmessages
, patterns
, strings
, actualmatches
, expectedmatches
);