aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorXenoAmess <xenoamess@gmail.com>2020-05-25 21:41:18 +0800
committerGitHub <noreply@github.com>2020-05-25 09:41:18 -0400
commit2c7e5e4b29c80d5475e971232458d3481bbe7136 (patch)
tree455016a509467cfdb4ee31d87aa2dd7faa5edae1 /src/test/java
parentc0d0d4f3ea898398d1bac7316084ef03b8de6433 (diff)
downloadapache-commons-lang-2c7e5e4b29c80d5475e971232458d3481bbe7136.tar.gz
[LANG-1545] CharSequenceUtils.regionMatches is wrong dealing with Georgian. (#529)
* CharSequenceUtils.regionMatches is wrong dealing with Georgian. see details in tests. * refine tests
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/apache/commons/lang3/StringUtilsTest.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/java/org/apache/commons/lang3/StringUtilsTest.java b/src/test/java/org/apache/commons/lang3/StringUtilsTest.java
index 30263de6b..cea53a263 100644
--- a/src/test/java/org/apache/commons/lang3/StringUtilsTest.java
+++ b/src/test/java/org/apache/commons/lang3/StringUtilsTest.java
@@ -3305,4 +3305,31 @@ public class StringUtilsTest {
Locale.setDefault(defaultLocales);
}
}
+
+ @Test
+ public void testGeorgianSample() {
+ char[] arrayI = new char[]{
+ //Latin Small Letter dotless I
+ (char) 0x0131,
+ //Greek Capital Letter Theta
+ (char) 0x03F4
+ };
+ char[] arrayJ = new char[]{
+ //Latin Capital Letter I with dot above
+ (char) 0x0130,
+ //Greek Theta Symbol
+ (char) 0x03D1
+ };
+ for (char i : arrayI) {
+ for (char j : arrayJ) {
+ String si = "" + i;
+ String sj = "" + j;
+ boolean res1 = si.equalsIgnoreCase(sj);
+ CharSequence ci = new StringBuilder(si);
+ CharSequence cj = new StringBuilder(sj);
+ boolean res2 = StringUtils.startsWithIgnoreCase(ci, cj);
+ assertEquals(res1, res2, "si : " + si + " sj : " + sj);
+ }
+ }
+ }
}