aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton/docsummary
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-09-12 14:20:07 +0200
committerTor Egge <Tor.Egge@online.no>2022-09-12 14:20:07 +0200
commit3a2b527c645d3cb858bbe5f7f9b812e947e7cdce (patch)
treec50d6b7f8c7e5998e147a032d2ddac66c883a759 /searchcore/src/tests/proton/docsummary
parent5dc2018a6c910e94b44e415fadebda3f95267130 (diff)
Add callback interface for rendering string field value via juniper.
Diffstat (limited to 'searchcore/src/tests/proton/docsummary')
-rw-r--r--searchcore/src/tests/proton/docsummary/docsummary.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/searchcore/src/tests/proton/docsummary/docsummary.cpp b/searchcore/src/tests/proton/docsummary/docsummary.cpp
index 62dd1610147..6abaec6ec93 100644
--- a/searchcore/src/tests/proton/docsummary/docsummary.cpp
+++ b/searchcore/src/tests/proton/docsummary/docsummary.cpp
@@ -37,6 +37,7 @@
#include <vespa/searchlib/transactionlog/translogserver.h>
#include <vespa/searchsummary/docsummary/i_docsum_field_writer_factory.h>
#include <vespa/searchsummary/docsummary/i_docsum_store_document.h>
+#include <vespa/searchsummary/docsummary/i_juniper_converter.h>
#include <vespa/searchsummary/docsummary/summaryfieldconverter.h>
#include <vespa/vespalib/data/simple_buffer.h>
#include <vespa/vespalib/data/slime/json_format.h>
@@ -315,6 +316,16 @@ public:
}
};
+class MockJuniperConverter : public IJuniperConverter
+{
+ vespalib::string _result;
+public:
+ void insert_juniper_field(vespalib::stringref input, vespalib::slime::Inserter&) override {
+ _result = input;
+ }
+ const vespalib::string& get_result() const noexcept { return _result; }
+};
+
bool
assertString(const std::string & exp, const std::string & fieldName,
DocumentStoreAdapter &dsa, uint32_t id)
@@ -328,7 +339,11 @@ assertAnnotatedString(const std::string & exp, const std::string & fieldName,
DocumentStoreAdapter &dsa, uint32_t id)
{
auto res = dsa.getMappedDocsum(id);
- return EXPECT_EQUAL(exp, res->get_juniper_input(fieldName).get_value());
+ MockJuniperConverter converter;
+ vespalib::Slime slime;
+ vespalib::slime::SlimeInserter inserter(slime);
+ res->insert_juniper_field(fieldName, inserter, converter);
+ return EXPECT_EQUAL(exp, converter.get_result());
}
void