aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-11-22 15:56:09 +0100
committerGitHub <noreply@github.com>2021-11-22 15:56:09 +0100
commite4ea529d6b71c7916e3c0f46946503368793a1f3 (patch)
tree5b728b919b6340d7f1d5155f3d6df3b06446b9a2
parentea7d530c80515724f8384ded392da5b9a3ab3741 (diff)
parent69a175a06709e80e7efb58a7635354f83eb3f38f (diff)
Merge pull request #20155 from vespa-engine/bjorncs/antlr4v7.505.17
Add unit test of query with missing escaping and unicode char MERGEOK
-rw-r--r--container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java b/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java
index f9005387716..ab99118b179 100644
--- a/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java
@@ -4,15 +4,14 @@ package com.yahoo.search.yql;
import com.yahoo.component.chain.Chain;
import com.yahoo.container.QrSearchersConfig;
import com.yahoo.language.Language;
-import com.yahoo.language.simple.SimpleLinguistics;
import com.yahoo.prelude.Index;
import com.yahoo.prelude.IndexFacts;
import com.yahoo.prelude.IndexModel;
import com.yahoo.prelude.SearchDefinition;
import com.yahoo.prelude.query.AndItem;
import com.yahoo.prelude.query.BoolItem;
-import com.yahoo.prelude.query.IndexedItem;
import com.yahoo.prelude.query.ExactStringItem;
+import com.yahoo.prelude.query.IndexedItem;
import com.yahoo.prelude.query.Item;
import com.yahoo.prelude.query.MarkerWordItem;
import com.yahoo.prelude.query.PhraseItem;
@@ -28,6 +27,7 @@ import com.yahoo.prelude.query.WeakAndItem;
import com.yahoo.prelude.query.WordAlternativesItem;
import com.yahoo.prelude.query.WordItem;
import com.yahoo.prelude.querytransform.QueryRewrite;
+import com.yahoo.processing.IllegalInputException;
import com.yahoo.search.Query;
import com.yahoo.search.Searcher;
import com.yahoo.search.config.IndexInfoConfig;
@@ -42,7 +42,6 @@ import com.yahoo.search.query.Sorting.Order;
import com.yahoo.search.query.Sorting.UcaSorter;
import com.yahoo.search.query.parser.Parsable;
import com.yahoo.search.query.parser.ParserEnvironment;
-
import com.yahoo.search.searchchain.Execution;
import org.junit.Test;
@@ -71,6 +70,13 @@ public class YqlParserTestCase {
private final YqlParser parser = new YqlParser(new ParserEnvironment());
@Test
+ public void failsGracefullyOnMissingQuoteEscapingAndSubsequentUnicodeCharacter() {
+ assertParseFail("select * from bar where rank(ids contains 'http://en.wikipedia.org/wiki/Hors_d'Ĺ“uvre') limit 10;",
+ new IllegalInputException("com.yahoo.search.yql.ProgramCompileException: query:L1:79 " +
+ "no viable alternative at input 'rank(ids contains 'http://en.wikipedia.org/wiki/Hors_d''"));
+ }
+
+ @Test
public void testParserDefaults() {
assertTrue(parser.isQueryParser());
assertNull(parser.getDocTypes());