mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-25 11:20:47 +01:00
Fix incorrect span indices for normalised search text.
This commit is contained in:
@@ -4,6 +4,7 @@ import org.junit.Test;
|
||||
import org.signal.libsignal.protocol.util.Pair;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
@@ -81,6 +82,60 @@ public class SearchUtilTest {
|
||||
assertEquals(Arrays.asList(new Pair<>(0, 1)), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getHighlightRanges_singleHighlightTokenMultipleMatches_turkish_text() {
|
||||
String text = "İaİ";
|
||||
String highlight = "i";
|
||||
List<Pair<Integer, Integer>> result = SearchUtil.getHighlightRanges(LOCALE, text, highlight);
|
||||
|
||||
assertEquals(List.of(new Pair<>(0, 1), new Pair<>(2, 3)), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getHighlightRanges_singleHighlightTokenMultipleMatches_turkish_both() {
|
||||
String text = "İaİ";
|
||||
String highlight = "İaİ";
|
||||
List<Pair<Integer, Integer>> result = SearchUtil.getHighlightRanges(LOCALE, text, highlight);
|
||||
|
||||
assertEquals(List.of(new Pair<>(0, 3)), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getHighlightRanges_singleHighlightTokenMultipleMatches_turkish_highlight() {
|
||||
String text = "iai";
|
||||
String highlight = "İaİ";
|
||||
List<Pair<Integer, Integer>> result = SearchUtil.getHighlightRanges(LOCALE, text, highlight);
|
||||
|
||||
assertEquals(Collections.emptyList(), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getStrictHighlightRanges_singleHighlightToken_turkish_text() {
|
||||
String text = "İaİ";
|
||||
String highlight = "i";
|
||||
List<Pair<Integer, Integer>> result = SearchUtil.getStrictHighlightRanges(LOCALE, text, highlight);
|
||||
|
||||
assertEquals(List.of(new Pair<>(0, 1)), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getStrictHighlightRanges_singleHighlightToken_turkish_highlight() {
|
||||
String text = "iai";
|
||||
String highlight = "İaİ";
|
||||
List<Pair<Integer, Integer>> result = SearchUtil.getStrictHighlightRanges(LOCALE, text, highlight);
|
||||
|
||||
assertEquals(Collections.emptyList(), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getStrictHighlightRanges_singleHighlightToken_turkish_both() {
|
||||
String text = "İaİ";
|
||||
String highlight = "İaİ";
|
||||
List<Pair<Integer, Integer>> result = SearchUtil.getStrictHighlightRanges(LOCALE, text, highlight);
|
||||
|
||||
assertEquals(List.of(new Pair<>(0, 3)), result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getHighlightRanges_singleHighlightTokenMultipleMatches() {
|
||||
String text = "blabla";
|
||||
|
||||
Reference in New Issue
Block a user