summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2022-09-12 15:46:57 +0200
committerGitHub <noreply@github.com>2022-09-12 15:46:57 +0200
commitbea38849927781650e75a942aef45a3e76105926 (patch)
tree0976c5aaaa8842564c01fb533fb5c81730b839ba /searchcore
parent1d6118f26218644a776cd98ec472a86712dc43de (diff)
parent3a2b527c645d3cb858bbe5f7f9b812e947e7cdce (diff)
Merge pull request #24016 from vespa-engine/toregge/add-callback-interface-for-rendering-field-value-via-juniper
Add callback interface for rendering string field value via juniper.
Diffstat (limited to 'searchcore')
-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