aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/test
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2022-09-14 13:10:18 +0000
committerGeir Storli <geirst@yahooinc.com>2022-09-14 13:10:18 +0000
commit478610966b8f235cb9da78099e77e1b2a9b38dce (patch)
treedc211233fc11a53b489a83d60c6495187e61ad31 /container-search/src/test
parent736524f0c11604d167d73f5dffab65d7692e0d73 (diff)
Handle array of string fields when converting the backend binary highlighting.
Diffstat (limited to 'container-search/src/test')
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/searcher/test/JuniperSearcherTestCase.java20
1 files changed, 16 insertions, 4 deletions
diff --git a/container-search/src/test/java/com/yahoo/prelude/searcher/test/JuniperSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/searcher/test/JuniperSearcherTestCase.java
index bd72ed9fd08..d374bfdeb7b 100644
--- a/container-search/src/test/java/com/yahoo/prelude/searcher/test/JuniperSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/searcher/test/JuniperSearcherTestCase.java
@@ -7,6 +7,7 @@ import com.google.common.collect.ImmutableList;
import com.yahoo.component.ComponentId;
import com.yahoo.component.chain.Chain;
import com.yahoo.container.QrSearchersConfig;
+import com.yahoo.data.access.simple.Value;
import com.yahoo.prelude.Index;
import com.yahoo.prelude.IndexFacts;
import com.yahoo.prelude.IndexModel;
@@ -40,7 +41,7 @@ public class JuniperSearcherTestCase {
* @param sdName the search definition type of the returned hit
* @param content the content of the "dynteaser" field of the returned hit
*/
- private Chain<Searcher> createSearchChain(String sdName, String content) {
+ private Chain<Searcher> createSearchChain(String sdName, Object content) {
JuniperSearcher searcher = new JuniperSearcher(new ComponentId("test"),
new QrSearchersConfig(new QrSearchersConfig.Builder()));
@@ -50,7 +51,7 @@ public class JuniperSearcherTestCase {
return new Chain<>(searcher, docsource);
}
- private void addResult(Query query, String sdName, String content, DocumentSourceSearcher docsource) {
+ private void addResult(Query query, String sdName, Object content, DocumentSourceSearcher docsource) {
Result r = new Result(query);
FastHit hit = new FastHit();
hit.setId("http://abc.html");
@@ -62,7 +63,7 @@ public class JuniperSearcherTestCase {
}
/** Creates a result of the search definiton "one" */
- private Result createResult(String content) {
+ private Result createResult(Object content) {
return createResult("one", content, true);
}
@@ -70,7 +71,7 @@ public class JuniperSearcherTestCase {
return createResult(sdName, content, true);
}
- private Result createResult(String sdName, String content, boolean bolding) {
+ private Result createResult(String sdName, Object content, boolean bolding) {
Chain<Searcher> chain = createSearchChain(sdName, content);
Query query = new Query("?query=12");
if ( ! bolding)
@@ -123,6 +124,17 @@ public class JuniperSearcherTestCase {
}
@Test
+ void test_field_rewriting_for_array_of_string_field() {
+ var content = new Value.ArrayValue()
+ .add("\u001Faaa\u001F\u001Ebbb\u001Fccc\u001Fddd")
+ .add("\u001Feee\u001F\u001Efff\u001Fggg\u001Fhhh");
+ Result check = createResult(content);
+ assertEquals(1, check.getHitCount());
+ assertEquals("[\"<hi>aaa</hi><sep />bbb<hi>ccc</hi>ddd\",\"<hi>eee</hi><sep />fff<hi>ggg</hi>hhh\"]",
+ check.hits().get(0).getField("dynteaser").toString());
+ }
+
+ @Test
void testNoRewritingDueToSearchDefinition() {
Result check = createResult("two", "\u001FXYZ\u001F\u001EQWE\u001FJKL\u001FASD&");
assertEquals(1, check.getHitCount());