diff options
author | XenoAmess <xenoamess@gmail.com> | 2020-05-25 21:41:18 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-25 09:41:18 -0400 |
commit | 2c7e5e4b29c80d5475e971232458d3481bbe7136 (patch) | |
tree | 455016a509467cfdb4ee31d87aa2dd7faa5edae1 /src/test/java | |
parent | c0d0d4f3ea898398d1bac7316084ef03b8de6433 (diff) | |
download | apache-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.java | 27 |
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); + } + } + } } |