You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Elena Sayapina (JIRA)" <ji...@apache.org> on 2007/07/13 10:15:05 UTC
[jira] Created: (HARMONY-4458) [buildtest][func] One of testSplit
test case checks of the functional
org/apache/harmony/test/func/api/java/util/regex/Pattern/PatternTest test
is incorrect
[buildtest][func] One of testSplit test case checks of the functional org/apache/harmony/test/func/api/java/util/regex/Pattern/PatternTest test is incorrect
------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: HARMONY-4458
URL: https://issues.apache.org/jira/browse/HARMONY-4458
Project: Harmony
Issue Type: Bug
Components: build - test - ci
Reporter: Elena Sayapina
One of testSplit test case checks of the functional org/apache/harmony/test/func/api/java/util/regex/Pattern/PatternTest test is incorrect.
This causes the test fail on Harmony.
Test incorrecty assumes that "hex\u0561regex" sequence splitted by "\u0531" will produce "hex", "regex" instead of "hex\u0561regex".
\u0561is unicode armenian small letter AYB, \u0531 is unicode armenian capital letter AYB,
So according to Java 1.5.0 API Spec if CASE_INSENSITIVE flag is not enabled than split should produce "hex\u0561regex".
Please , see quotation from Java 1.5.0 API Spec:
"Class Pattern ...
Field Detail ...
UNICODE_CASE
public static final int UNICODE_CASE
Enables Unicode-aware case folding.
When this flag is specified then case-insensitive matching, when enabled by the CASE_INSENSITIVE flag, is done in a manner consistent with the Unicode Standard. By default, case-insensitive matching assumes that only characters in the US-ASCII charset are being matched ..."
Please, see PatternTest.java code:
------------------------------------ PatternTest.java -------------------------------------------------------
...
line 353: p = Pattern.compile("\u0531", Pattern.UNICODE_CASE); //ARMENIAN CAPITAL
// LETTER AYB
sarr = p.split(new CharSeq("hex\u0561regex"));
expected = new String[] { "hex\u0561regex" };
if(System.getProperty("java.version").startsWith("1.5")) {
expected = new String[] { "hex", "regex" };
}
if (!Arrays.equals(sarr, expected)) {
return failed("'hex\\u0561regex' split on '\\u0531' produced with UNICODE_CASE "
+ toString(sarr) + ", expected " + toString(expected));
line 364: }
...
------------------------------------------------------------------------------------------------------------------------
Suggest to remove incorrect code.
Note that test passes on RI, possibly because of RI bug.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.