From a7b78fadb075831a866bf55d85a3ec0c47cb58d4 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Thu, 6 Nov 2014 17:08:42 +0100 Subject: [PATCH] Removed StaticJsonBuffer.clear() --- include/ArduinoJson/StaticJsonBuffer.hpp | 5 ++++- test/IntegrationTests.cpp | 28 +++++++++++++++--------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/include/ArduinoJson/StaticJsonBuffer.hpp b/include/ArduinoJson/StaticJsonBuffer.hpp index 5b2ad58f..29a0790e 100644 --- a/include/ArduinoJson/StaticJsonBuffer.hpp +++ b/include/ArduinoJson/StaticJsonBuffer.hpp @@ -10,6 +10,9 @@ namespace ArduinoJson { +// Implements a JsonBuffer with fixed memory allocation. +// The template paramenter CAPACITY specifies the capacity of the buffer in +// bytes. template class StaticJsonBuffer : public JsonBuffer { public: @@ -18,7 +21,7 @@ class StaticJsonBuffer : public JsonBuffer { size_t capacity() const { return CAPACITY; } size_t size() const { return _size; } - void clear() { _size = 0; } + // void clear() { _size = 0; } protected: virtual void* alloc(size_t size) { diff --git a/test/IntegrationTests.cpp b/test/IntegrationTests.cpp index d0dd793d..a8fb6062 100644 --- a/test/IntegrationTests.cpp +++ b/test/IntegrationTests.cpp @@ -12,30 +12,38 @@ using namespace ArduinoJson; class IntegrationTests : public testing::TestWithParam { + const static size_t MAX_JSON_SIZE = 10000; + protected: virtual void SetUp() { _input = GetParam(); strcpy(inputBuffer, _input); } + void parseThenPrint(char* input, char* output) { + StaticJsonBuffer<10000> json; + json.parseObject(input).printTo(output, MAX_JSON_SIZE); + } + + void parseThenPrettyPrint(char* input, char* output) { + StaticJsonBuffer<10000> json; + json.parseObject(input).prettyPrintTo(output, MAX_JSON_SIZE); + } + const char* _input; - char inputBuffer[10000]; - char outputBuffer[10000]; - char intermediateBuffer[10000]; - StaticJsonBuffer<10000> json; + char inputBuffer[MAX_JSON_SIZE]; + char outputBuffer[MAX_JSON_SIZE]; + char intermediateBuffer[MAX_JSON_SIZE]; }; TEST_P(IntegrationTests, ParseThenPrint) { - json.parseObject(inputBuffer).printTo(outputBuffer, sizeof(outputBuffer)); + parseThenPrint(inputBuffer, outputBuffer); ASSERT_STREQ(_input, outputBuffer); } TEST_P(IntegrationTests, ParseThenPrettyPrintThenParseThenPrint) { - json.parseObject(inputBuffer) - .prettyPrintTo(intermediateBuffer, sizeof(intermediateBuffer)); - json.clear(); - json.parseObject(intermediateBuffer) - .printTo(outputBuffer, sizeof(outputBuffer)); + parseThenPrettyPrint(inputBuffer, intermediateBuffer); + parseThenPrint(intermediateBuffer, outputBuffer); ASSERT_STREQ(_input, outputBuffer); }