From 0d57fe5a7e6dcf9db6c75693fb88c7f2f6a0a920 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Sat, 13 Dec 2014 09:54:04 +0100 Subject: [PATCH] Test that DynamicJsonBuffer grows after each alloc --- include/ArduinoJson/DynamicJsonBuffer.hpp | 11 ++++++++--- test/DynamicJsonBuffer_Basic_Tests.cpp | 7 +++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/include/ArduinoJson/DynamicJsonBuffer.hpp b/include/ArduinoJson/DynamicJsonBuffer.hpp index 5c42a02a..3587b71d 100644 --- a/include/ArduinoJson/DynamicJsonBuffer.hpp +++ b/include/ArduinoJson/DynamicJsonBuffer.hpp @@ -15,11 +15,16 @@ namespace ArduinoJson { // more suitable for embedded systems. class DynamicJsonBuffer : public JsonBuffer { public: - explicit DynamicJsonBuffer() {} + explicit DynamicJsonBuffer() : _size(0) {} - size_t size() const { return 0; } + size_t size() const { return _size; } protected: - virtual void* alloc(size_t bytes) { return NULL; } + virtual void* alloc(size_t bytes) { + _size += bytes; + return NULL; + } + + size_t _size; }; } diff --git a/test/DynamicJsonBuffer_Basic_Tests.cpp b/test/DynamicJsonBuffer_Basic_Tests.cpp index a506d003..8b682ab7 100644 --- a/test/DynamicJsonBuffer_Basic_Tests.cpp +++ b/test/DynamicJsonBuffer_Basic_Tests.cpp @@ -19,3 +19,10 @@ class DynamicJsonBuffer_Basic_Tests : public testing::Test { TEST_F(DynamicJsonBuffer_Basic_Tests, InitialSizeIsZero) { ASSERT_EQ(0, buffer.size()); } + +TEST_F(DynamicJsonBuffer_Basic_Tests, GrowsAfterAlloc) { + buffer.alloc(100); + ASSERT_EQ(100, buffer.size()); + buffer.alloc(100); + ASSERT_EQ(200, buffer.size()); +}