forked from bblanchon/ArduinoJson
Removed StaticJsonBuffer.clear()
This commit is contained in:
@ -10,6 +10,9 @@
|
|||||||
|
|
||||||
namespace ArduinoJson {
|
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>
|
template <size_t CAPACITY>
|
||||||
class StaticJsonBuffer : public JsonBuffer {
|
class StaticJsonBuffer : public JsonBuffer {
|
||||||
public:
|
public:
|
||||||
@ -18,7 +21,7 @@ class StaticJsonBuffer : public JsonBuffer {
|
|||||||
|
|
||||||
size_t capacity() const { return CAPACITY; }
|
size_t capacity() const { return CAPACITY; }
|
||||||
size_t size() const { return _size; }
|
size_t size() const { return _size; }
|
||||||
void clear() { _size = 0; }
|
// void clear() { _size = 0; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void* alloc(size_t size) {
|
virtual void* alloc(size_t size) {
|
||||||
|
@ -12,30 +12,38 @@
|
|||||||
using namespace ArduinoJson;
|
using namespace ArduinoJson;
|
||||||
|
|
||||||
class IntegrationTests : public testing::TestWithParam<const char*> {
|
class IntegrationTests : public testing::TestWithParam<const char*> {
|
||||||
|
const static size_t MAX_JSON_SIZE = 10000;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void SetUp() {
|
virtual void SetUp() {
|
||||||
_input = GetParam();
|
_input = GetParam();
|
||||||
strcpy(inputBuffer, _input);
|
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;
|
const char* _input;
|
||||||
char inputBuffer[10000];
|
char inputBuffer[MAX_JSON_SIZE];
|
||||||
char outputBuffer[10000];
|
char outputBuffer[MAX_JSON_SIZE];
|
||||||
char intermediateBuffer[10000];
|
char intermediateBuffer[MAX_JSON_SIZE];
|
||||||
StaticJsonBuffer<10000> json;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_P(IntegrationTests, ParseThenPrint) {
|
TEST_P(IntegrationTests, ParseThenPrint) {
|
||||||
json.parseObject(inputBuffer).printTo(outputBuffer, sizeof(outputBuffer));
|
parseThenPrint(inputBuffer, outputBuffer);
|
||||||
ASSERT_STREQ(_input, outputBuffer);
|
ASSERT_STREQ(_input, outputBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(IntegrationTests, ParseThenPrettyPrintThenParseThenPrint) {
|
TEST_P(IntegrationTests, ParseThenPrettyPrintThenParseThenPrint) {
|
||||||
json.parseObject(inputBuffer)
|
parseThenPrettyPrint(inputBuffer, intermediateBuffer);
|
||||||
.prettyPrintTo(intermediateBuffer, sizeof(intermediateBuffer));
|
parseThenPrint(intermediateBuffer, outputBuffer);
|
||||||
json.clear();
|
|
||||||
json.parseObject(intermediateBuffer)
|
|
||||||
.printTo(outputBuffer, sizeof(outputBuffer));
|
|
||||||
ASSERT_STREQ(_input, outputBuffer);
|
ASSERT_STREQ(_input, outputBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user