diff options
author | Arne Juul <arnej@verizonmedia.com> | 2021-07-16 10:01:41 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2021-07-16 11:28:54 +0000 |
commit | 1e095915e7513a43fc7fae14260ce580b9a9cf4e (patch) | |
tree | efc2b49590e0717f4b10f445fcd2b4c01c2d98f8 /indexinglanguage/src/test | |
parent | e9628167e5083f2330206decbfeba6c9c85d4220 (diff) |
don't call accentDrop at all for empty input
Diffstat (limited to 'indexinglanguage/src/test')
-rw-r--r-- | indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/NormalizeTestCase.java | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/NormalizeTestCase.java b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/NormalizeTestCase.java index 3ad1b129b4d..9f6ba4a1554 100644 --- a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/NormalizeTestCase.java +++ b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/NormalizeTestCase.java @@ -60,18 +60,24 @@ public class NormalizeTestCase { } class MyMockTransformer implements Transformer { - boolean first = true; + public boolean first = true; @Override public String accentDrop(String input, Language language) { if (first) { first = false; - return input.replace(' ', '\u0008'); + return "\u0008"; } else { return input.replace(' ', '/'); } } } + boolean getFirst(Transformer t) { + assertTrue(t instanceof MyMockTransformer); + var mmt = (MyMockTransformer)t; + return mmt.first; + } + class MyMockLinguistics extends SimpleLinguistics { private Transformer transformer = new MyMockTransformer(); @Override @@ -86,9 +92,26 @@ public class NormalizeTestCase { ctx.setLanguage(Language.ENGLISH); ctx.setValue(new StringFieldValue("bad norm")); var linguistics = new MyMockLinguistics(); + assertTrue(getFirst(linguistics.getTransformer())); new NormalizeExpression(linguistics).execute(ctx); FieldValue val = ctx.getValue(); assertTrue(val instanceof StringFieldValue); assertEquals("bad/norm", ((StringFieldValue)val).getString()); + assertFalse(getFirst(linguistics.getTransformer())); } + + @Test + public void requireThatEmptyIsNop() { + ExecutionContext ctx = new ExecutionContext(new SimpleTestAdapter()); + ctx.setLanguage(Language.ENGLISH); + var orig = new StringFieldValue(""); + ctx.setValue(orig); + var linguistics = new MyMockLinguistics(); + assertTrue(getFirst(linguistics.getTransformer())); + new NormalizeExpression(linguistics).execute(ctx); + FieldValue val = ctx.getValue(); + assertTrue(val == orig); + assertTrue(getFirst(linguistics.getTransformer())); + } + } |