Kaynağa Gözat

Test that DynamicJsonBuffer grows after each alloc

Benoit Blanchon 11 yıl önce
ebeveyn
işleme
0d57fe5a7e

+ 8 - 3
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;
 };
 }

+ 7 - 0
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());
+}