فهرست منبع

Removed StaticJsonBuffer.clear()

Benoit Blanchon 11 سال پیش
والد
کامیت
a7b78fadb0
2فایلهای تغییر یافته به همراه22 افزوده شده و 11 حذف شده
  1. 4 1
      include/ArduinoJson/StaticJsonBuffer.hpp
  2. 18 10
      test/IntegrationTests.cpp

+ 4 - 1
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 <size_t CAPACITY>
 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) {

+ 18 - 10
test/IntegrationTests.cpp

@@ -12,30 +12,38 @@
 using namespace ArduinoJson;
 
 class IntegrationTests : public testing::TestWithParam<const char*> {
+  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);
 }