Added a test that adds a empty nested array in an array

This commit is contained in:
Benoît Blanchon
2014-06-25 13:28:56 +02:00
parent 4c387e9062
commit b8df795cb5
3 changed files with 21 additions and 8 deletions

View File

@ -38,6 +38,13 @@ public:
addItem(JSON_BOOLEAN, v);
}
void add(JsonObjectBase& value)
{
JsonObjectValue v;
v.object = &value;
addItem(JSON_OBJECT, v);
}
void writeTo(char* buffer, size_t bufferSize)
{
StringBuilder sb(buffer, bufferSize);

View File

@ -102,18 +102,15 @@ namespace JsonGeneratorTests
AssertJsonIs("[false,true]");
}
/*
TEST_METHOD(AddOneEmptyNestedArray)
{
JsonArray<0> nestedArray;
JsonArray<1> nestedArray;
arr.add(nestedArray);
AssertJsonIs("[[]]");
}
*/
void AssertJsonIs(const char* expected)
{
char buffer[256];

View File

@ -21,6 +21,7 @@ protected:
JSON_STRING,
JSON_NUMBER,
JSON_BOOLEAN,
JSON_OBJECT,
};
union JsonObjectValue
@ -28,6 +29,7 @@ protected:
const char* string;
double number;
bool boolean;
JsonObjectBase* object;
};
struct JsonObject
@ -36,7 +38,7 @@ protected:
JsonObjectValue value;
};
void writeObjectTo(const JsonObject& obj, StringBuilder& sb)
void writeObjectTo(JsonObject& obj, StringBuilder& sb)
{
switch (obj.type)
{
@ -54,6 +56,13 @@ protected:
case JSON_BOOLEAN:
sb.append(obj.value.boolean ? "true" : "false");
break;
case JSON_OBJECT:
if (obj.value.object)
obj.value.object->writeTo(sb);
else
sb.append("null");
break;
}
}
};