summaryrefslogtreecommitdiffstats
path: root/vsm
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2016-09-29 17:35:42 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2016-09-29 17:35:42 +0000
commit4d5d6d29444ec127bb065d339d1e0a3d20128d32 (patch)
tree24315483a516fec4a1325d48809e8330640ec4a9 /vsm
parent383d4d25a001a43b49119c2de8c5eb6f9b6d6e86 (diff)
- Add negative tests.
- Also verify that we have exhausted the input.
Diffstat (limited to 'vsm')
-rw-r--r--vsm/src/tests/searcher/searcher.cpp4
-rw-r--r--vsm/src/vespa/vsm/searcher/utf8stringfieldsearcherbase.cpp2
2 files changed, 5 insertions, 1 deletions
diff --git a/vsm/src/tests/searcher/searcher.cpp b/vsm/src/tests/searcher/searcher.cpp
index 981ec94c0b3..dfcad223701 100644
--- a/vsm/src/tests/searcher/searcher.cpp
+++ b/vsm/src/tests/searcher/searcher.cpp
@@ -553,6 +553,10 @@ SearcherTest::testUTF8ExactStringFieldSearcher()
TEST_DO(assertString(fs, "vesp*", "vespa", Hits().add(0)));
TEST_DO(assertString(fs, "hutte", "hutte", Hits().add(0)));
TEST_DO(assertString(fs, "hütte", "hütte", Hits().add(0)));
+ TEST_DO(assertString(fs, "hutte", "hütte", Hits()));
+ TEST_DO(assertString(fs, "hütte", "hutte", Hits()));
+ TEST_DO(assertString(fs, "hütter", "hütte", Hits()));
+ TEST_DO(assertString(fs, "hütte", "hütter", Hits()));
}
void
diff --git a/vsm/src/vespa/vsm/searcher/utf8stringfieldsearcherbase.cpp b/vsm/src/vespa/vsm/searcher/utf8stringfieldsearcherbase.cpp
index 73d0c4faac6..a19829773b1 100644
--- a/vsm/src/vespa/vsm/searcher/utf8stringfieldsearcherbase.cpp
+++ b/vsm/src/vespa/vsm/searcher/utf8stringfieldsearcherbase.cpp
@@ -149,7 +149,7 @@ UTF8StringFieldSearcherBase::matchTermExact(const FieldRef & f, QueryTerm & qt)
equal = (*term == c);
}
}
- if (equal && (qt.isPrefix() || (n == e))) {
+ if (equal && (term == eterm) && (qt.isPrefix() || (n == e))) {
addHit(qt,0);
}
}