aboutsummaryrefslogtreecommitdiffstats
path: root/document/src/tests
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2018-10-08 14:23:41 +0200
committerTor Egge <Tor.Egge@broadpark.no>2018-10-08 15:11:58 +0200
commita6fab103b0ec74ca0a61c3ddc592ccc32445ac24 (patch)
tree8fea0199247b41d7efc44176eb8a327c4558a704 /document/src/tests
parentc87e55ec025110fe6b7af0675677b657306d3e43 (diff)
Handle serialization of empty struct field value.
Diffstat (limited to 'document/src/tests')
-rw-r--r--document/src/tests/serialization/vespadocumentserializer_test.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/document/src/tests/serialization/vespadocumentserializer_test.cpp b/document/src/tests/serialization/vespadocumentserializer_test.cpp
index c12a4966bcb..f7d0cd4c3f6 100644
--- a/document/src/tests/serialization/vespadocumentserializer_test.cpp
+++ b/document/src/tests/serialization/vespadocumentserializer_test.cpp
@@ -514,6 +514,20 @@ void checkStructSerialization(const StructFieldValue &value,
EXPECT_EQUAL(60u, element2_size);
}
+TEST("requireThatEmptyStructCanBeSerialized") {
+ StructDataType structType(getStructDataType());
+ StructFieldValue value(structType);
+ nbostream stream;
+ value.reset(); // Simulate the result of deserializing empty struct
+ serializeAndDeserialize(value, stream);
+ uint32_t data_size;
+ uint8_t compression_type;
+ uint8_t field_count;
+ stream >> data_size >> compression_type >> field_count;
+ EXPECT_EQUAL(0u, data_size);
+ EXPECT_EQUAL(0u, field_count);
+}
+
TEST("requireThatUncompressedStructFieldValueCanBeSerialized") {
StructDataType structType(getStructDataType());
StructFieldValue value = getStructFieldValue(structType);