summaryrefslogtreecommitdiffstats
path: root/searchlib/src/test
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-11-03 13:01:59 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2021-11-03 13:04:20 +0100
commit2d51d3b7785e18cda7e2ed212a11d191b729b7ef (patch)
treefa8d2ed1ba4b48c4eed65d550659fa4beef523a3 /searchlib/src/test
parente5bc78b971380cb1245e9c6a36c2b3ea0fe6eebf (diff)
Make StringValue symmetric so it can accept its output (toString) as input.
Diffstat (limited to 'searchlib/src/test')
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java
index b769d07e77e..13e19ff4d35 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java
@@ -14,6 +14,7 @@ import com.yahoo.tensor.Tensor;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
/**
@@ -25,6 +26,35 @@ public class EvaluationTestCase {
private final double tolerance = 0.000001;
+ private void verifyStringValueToString(String s) {
+ s = '"' + s + '"';
+ Value val = Value.parse(s);
+ assertTrue(val instanceof StringValue);
+ assertEquals(s, val.toString());
+ }
+
+ @Test
+ public void testStringValueToString() {
+ verifyStringValueToString("");
+ verifyStringValueToString("something");
+ verifyStringValueToString("needs \\\" escape");
+
+ verifyStringValueToString("\\\\");
+ verifyStringValueToString("\\\"");
+ verifyStringValueToString("\\f");
+ verifyStringValueToString("\\female");
+ verifyStringValueToString("\\n");
+ verifyStringValueToString("\\nude");
+ verifyStringValueToString("\\r");
+ verifyStringValueToString("fa\\rt");
+ verifyStringValueToString("\\t");
+ verifyStringValueToString("fe\\tish");
+ verifyStringValueToString("\\f");
+ verifyStringValueToString("\\\\hx");
+ verifyStringValueToString("\\\\xx");
+ verifyStringValueToString("\\\\x10081977");
+ }
+
@Test
public void testEvaluation() {
EvaluationTester tester = new EvaluationTester();