aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/memoryindex
diff options
context:
space:
mode:
authorGeir Storli <geirst@verizonmedia.com>2019-06-21 14:15:26 +0000
committerGeir Storli <geirst@verizonmedia.com>2019-06-21 14:28:04 +0000
commitd1eea019622e242b78ec3e7d3cd741914a2b7130 (patch)
treed42628402e0604b14d0576921f927f3c9a5dbffc /searchlib/src/tests/memoryindex
parent4373b26bdbd1f919bc574096e56ce6332bb5c5a3 (diff)
Fix bugs in doUnpack() in memory posting iterator.
Diffstat (limited to 'searchlib/src/tests/memoryindex')
-rw-r--r--searchlib/src/tests/memoryindex/field_index/field_index_test.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp b/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp
index de3b87194f8..ac5ef45e330 100644
--- a/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp
+++ b/searchlib/src/tests/memoryindex/field_index/field_index_test.cpp
@@ -14,6 +14,7 @@
#include <vespa/searchlib/memoryindex/field_inverter.h>
#include <vespa/searchlib/memoryindex/ordered_field_index_inserter.h>
#include <vespa/searchlib/memoryindex/posting_iterator.h>
+#include <vespa/searchlib/queryeval/iterators.h>
#include <vespa/searchlib/test/index/mock_field_length_inspector.h>
#include <vespa/searchlib/test/memoryindex/wrap_inserter.h>
#include <vespa/vespalib/btree/btreenodeallocator.hpp>
@@ -31,6 +32,7 @@ using namespace fef;
using namespace index;
using document::Document;
+using queryeval::RankedSearchIteratorBase;
using queryeval::SearchIterator;
using search::index::schema::CollectionType;
using search::index::schema::DataType;
@@ -641,6 +643,9 @@ struct FieldIndexInterleavedFeaturesTest : public FieldIndexTest<FieldIndex<true
EXPECT_EQ(exp_field_positions, toString(match_data));
EXPECT_EQ(exp_num_occs, match_data.term.getNumOccs());
EXPECT_EQ(exp_field_length, match_data.term.getFieldLength());
+ EXPECT_EQ(10, match_data.term.getDocId());
+ auto& ranked_itr = dynamic_cast<RankedSearchIteratorBase&>(*itr);
+ EXPECT_TRUE(ranked_itr.getUnpacked());
EXPECT_TRUE(!itr->seek(11));
EXPECT_TRUE(itr->isAtEnd());
}
@@ -667,6 +672,13 @@ TEST_F(FieldIndexInterleavedFeaturesTest, both_normal_and_interleaved_features_a
expect_features_unpacked("{5:0,1}", 2, 5);
}
+TEST_F(FieldIndexInterleavedFeaturesTest, no_features_are_unpacked)
+{
+ match_data.term.setNeedNormalFeatures(false);
+ match_data.term.setNeedInterleavedFeatures(false);
+ expect_features_unpacked("{1000000:}", 0, 0);
+}
+
Schema
make_multi_field_schema()
{