You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by py...@apache.org on 2006/11/16 19:57:48 UTC
svn commit: r475869 - in
/incubator/harmony/enhanced/classlib/trunk/modules/regex/src:
main/java/java/util/regex/Lexer.java
test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java
Author: pyang
Date: Thu Nov 16 10:57:47 2006
New Revision: 475869
URL: http://svn.apache.org/viewvc?view=rev&rev=475869
Log:
Apply patch for HARMONY-2127 ([classlib][regex] harmony does not compile embedded flag (?c))
Modified:
incubator/harmony/enhanced/classlib/trunk/modules/regex/src/main/java/java/util/regex/Lexer.java
incubator/harmony/enhanced/classlib/trunk/modules/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java
Modified: incubator/harmony/enhanced/classlib/trunk/modules/regex/src/main/java/java/util/regex/Lexer.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/regex/src/main/java/java/util/regex/Lexer.java?view=diff&rev=475869&r1=475868&r2=475869
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/regex/src/main/java/java/util/regex/Lexer.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/regex/src/main/java/java/util/regex/Lexer.java Thu Nov 16 10:57:47 2006
@@ -1093,8 +1093,7 @@
return res | (1 << 8);
default:
- throw new PatternSyntaxException(Messages.getString("regex.1A"), //$NON-NLS-1$
- this.toString(), index);
+ // ignore invalid flags (HARMONY-2127)
}
nextIndex();
}
Modified: incubator/harmony/enhanced/classlib/trunk/modules/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java?view=diff&rev=475869&r1=475868&r2=475869
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java Thu Nov 16 10:57:47 2006
@@ -31,7 +31,10 @@
"(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)*",
"(a|b)*(a|b)*A(a|b)*lice.*",
"(a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)(a|b|c|d|e|f|g|h|"
- + "i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)*(1|2|3|4|5|6|7|8|9|0)*|while|for|struct|if|do"
+ + "i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)*(1|2|3|4|5|6|7|8|9|0)*|while|for|struct|if|do",
+ "x(?c)y",
+ "x(?cc)y",
+ "x(?:c)y"
};
@@ -322,38 +325,49 @@
*/
String pattern = "b)a";
try {
- Pattern pat = Pattern.compile(pattern);
+ Pattern.compile(pattern);
+ fail("Expected a PatternSyntacException when compiling pattern: " + pattern);
} catch (PatternSyntaxException e) {
- System.out.println(e);
+ // pass
}
pattern = "bcde)a";
try {
- Pattern pat = Pattern.compile(pattern);
+ Pattern.compile(pattern);
+ fail("Expected a PatternSyntacException when compiling pattern: " + pattern);
} catch (PatternSyntaxException e) {
- System.out.println(e);
+ // pass
}
pattern = "bbg())a";
try {
Pattern pat = Pattern.compile(pattern);
+ fail("Expected a PatternSyntacException when compiling pattern: " + pattern);
} catch (PatternSyntaxException e) {
- System.out.println(e);
+ // pass
}
pattern = "cdb(?i))a";
try {
Pattern pat = Pattern.compile(pattern);
- } catch (Exception e) {
- System.out.println(e);
+ fail("Expected a PatternSyntacException when compiling pattern: " + pattern);
+ } catch (PatternSyntaxException e) {
+ // pass
}
+
+ /*
+ * This pattern should compile - HARMONY-2127
+ */
+ pattern = "x(?c)y";
+ Pattern.compile(pattern);
+
/*
* this pattern doesn't match any string, but should be compiled anyway
*/
pattern = "(b\\1)a";
- Pattern pat = Pattern.compile(pattern);
+ Pattern.compile(pattern);
}
-
+
/*
* Class under test for Pattern compile(String)
*/
@@ -403,7 +417,10 @@
+ "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" },
{ "ababbaAabababblice", "ababbaAliceababab", "ababbAabliceaaa",
"abbbAbbbliceaaa", "Alice" },
- { "a123", "bnxnvgds156", "for", "while", "if", "struct" }
+ { "a123", "bnxnvgds156", "for", "while", "if", "struct" },
+ { "xy" },
+ { "xy" },
+ { "xcy" }
};
@@ -414,7 +431,7 @@
posSeq[i][j]));
}
}
- }
+ }
public void testTimeZoneIssue() {
Pattern p = Pattern.compile("GMT(\\+|\\-)(\\d+)(:(\\d+))?");