diff options
author | Tor Egge <Tor.Egge@oath.com> | 2018-06-08 09:30:11 +0000 |
---|---|---|
committer | Tor Egge <Tor.Egge@oath.com> | 2018-06-08 09:30:51 +0000 |
commit | 2bd9474721097f3f6862bed8e5868fe4eff5a72b (patch) | |
tree | bf651bd8253f5514ad14a88e15307cb3ec6fc761 | |
parent | 742b761fa885c9c26321d3a9961cc8067c370f1c (diff) |
Factor out common code to new function: toCompactJsonString.
-rw-r--r-- | searchsummary/src/tests/docsummary/attribute_combiner/attribute_combiner_test.cpp | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/searchsummary/src/tests/docsummary/attribute_combiner/attribute_combiner_test.cpp b/searchsummary/src/tests/docsummary/attribute_combiner/attribute_combiner_test.cpp index 8b2f7357982..97fafd0a446 100644 --- a/searchsummary/src/tests/docsummary/attribute_combiner/attribute_combiner_test.cpp +++ b/searchsummary/src/tests/docsummary/attribute_combiner/attribute_combiner_test.cpp @@ -37,6 +37,14 @@ using search::docsummary::IDocsumFieldWriter; namespace { +vespalib::string +toCompactJsonString(const vespalib::Slime &slime) +{ + vespalib::SimpleBuffer buf; + vespalib::slime::JsonFormat::encode(slime, buf, true); + return buf.get().make_string(); +} + struct FieldBlock { vespalib::string input; vespalib::Slime slime; @@ -48,12 +56,7 @@ struct FieldBlock { { size_t used = vespalib::slime::JsonFormat::decode(jsonInput, slime); EXPECT_TRUE(used > 0); - { - search::SlimeOutputRawBufAdapter adapter(binary); - vespalib::slime::JsonFormat::encode(slime, adapter, true); - json.assign(binary.GetDrainPos(), binary.GetUsedLen()); - binary.reset(); - } + json = toCompactJsonString(slime); search::SlimeOutputRawBufAdapter adapter(binary); vespalib::slime::BinaryFormat::encode(slime, adapter); } @@ -183,25 +186,19 @@ Fixture::~Fixture() } void -Fixture::assertWritten(const vespalib::string &expected, uint32_t docId) +Fixture::assertWritten(const vespalib::string &expectedJson, uint32_t docId) { vespalib::Slime target; vespalib::slime::SlimeInserter inserter(target); writer->insertField(docId, nullptr, &state, search::docsummary::RES_JSONSTRING, inserter); search::RawBuf binary(1024); - vespalib::string json; - { - search::SlimeOutputRawBufAdapter adapter(binary); - vespalib::slime::JsonFormat::encode(target, adapter, true); - json.assign(binary.GetDrainPos(), binary.GetUsedLen()); - binary.reset(); - } + vespalib::string json = toCompactJsonString(target); search::SlimeOutputRawBufAdapter adapter(binary); vespalib::slime::BinaryFormat::encode(target, adapter); - FieldBlock block(expected); + FieldBlock block(expectedJson); if (!EXPECT_EQUAL(block.dataLen(), binary.GetUsedLen()) || !EXPECT_EQUAL(0, memcmp(block.data(), binary.GetDrainPos(), block.dataLen()))) { - LOG(error, "Expected '%s'", expected.c_str()); + LOG(error, "Expected '%s'", expectedJson.c_str()); LOG(error, "Expected normalized '%s'", block.json.c_str()); LOG(error, "Got '%s'", json.c_str()); } |