forked from bblanchon/ArduinoJson
Changed JsonArray tests to show the issue
This commit is contained in:
@ -20,11 +20,16 @@ namespace ArduinoJson
|
||||
|
||||
}
|
||||
|
||||
void add(const Printable& nestedObject)
|
||||
{
|
||||
if (count < capacity)
|
||||
items[count++] = nestedObject;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
void add(T value)
|
||||
{
|
||||
if (count >= capacity) return;
|
||||
|
||||
if (count < capacity)
|
||||
items[count++] = value;
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@ namespace ArduinoJson
|
||||
content.asLong = value;
|
||||
}
|
||||
|
||||
void operator=(Printable& value)
|
||||
void operator=(const Printable& value)
|
||||
{
|
||||
printToImpl = &printPrintableTo;
|
||||
content.asPrintable = &value;
|
||||
@ -89,7 +89,7 @@ namespace ArduinoJson
|
||||
return content.asLong;
|
||||
}
|
||||
|
||||
operator Printable&()
|
||||
operator const Printable&()
|
||||
{
|
||||
return *content.asPrintable;
|
||||
}
|
||||
@ -112,7 +112,7 @@ namespace ArduinoJson
|
||||
bool asBool;
|
||||
double asDouble;
|
||||
long asLong;
|
||||
Printable* asPrintable;
|
||||
const Printable* asPrintable;
|
||||
const char* asString;
|
||||
};
|
||||
|
||||
|
@ -124,13 +124,19 @@ namespace JsonGeneratorTests
|
||||
|
||||
TEST_METHOD(OneEmptyNestedArray)
|
||||
{
|
||||
addNested(JsonArray<1>());
|
||||
JsonArray<1> nestedArray;
|
||||
|
||||
arr.add(nestedArray);
|
||||
|
||||
outputMustBe("[[]]");
|
||||
}
|
||||
|
||||
TEST_METHOD(OneEmptyNestedHash)
|
||||
{
|
||||
addNested(JsonHashTable<1>());
|
||||
JsonObject<1> nestedObject;
|
||||
|
||||
arr.add(nestedObject);
|
||||
|
||||
outputMustBe("[{}]");
|
||||
}
|
||||
|
||||
@ -139,18 +145,13 @@ namespace JsonGeneratorTests
|
||||
JsonArray<1> nestedArray;
|
||||
nestedArray.add(1);
|
||||
|
||||
addNested(nestedArray);
|
||||
arr.add(nestedArray);
|
||||
|
||||
outputMustBe("[[1]]");
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
void addNested(Printable& value)
|
||||
{
|
||||
arr.add<Printable&>(value);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
void add(T value)
|
||||
{
|
||||
|
@ -71,7 +71,7 @@ namespace JsonGeneratorTests
|
||||
void setValueAndCheckCast(JsonArray<N>& expected)
|
||||
{
|
||||
value = expected;
|
||||
Printable& actual = value;
|
||||
const Printable& actual = value;
|
||||
Assert::AreEqual((void*) &expected, (void*) &actual);
|
||||
}
|
||||
};
|
||||
|
Reference in New Issue
Block a user