diff options
Diffstat (limited to 'tests/unit_tests/serialization.cpp')
| -rw-r--r-- | tests/unit_tests/serialization.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/unit_tests/serialization.cpp b/tests/unit_tests/serialization.cpp index fdf603272..0cf0275e5 100644 --- a/tests/unit_tests/serialization.cpp +++ b/tests/unit_tests/serialization.cpp @@ -304,6 +304,20 @@ TEST(Serialization, serializes_vector_int64_as_fixed_int) ASSERT_EQ(57, blob.size()); } +TEST(Serialization, deserializes_vector_reserve) +{ + std::vector<int64_t> v; + string blob; + + tools::write_varint(std::back_inserter(blob), unsigned(100)); + blob.append(std::string(100, 0)); + + ASSERT_LT(v.capacity(), 20); + ASSERT_FALSE(serialization::parse_binary(blob, v)); + ASSERT_LT(v.capacity(), 100); // could fail if lib allocates more in reserve call +} + + namespace { template<typename T> |
