Implemented reference semantics for JsonVariant

This commit is contained in:
Benoit Blanchon
2018-08-21 17:56:16 +02:00
parent 0454bd1ef6
commit 9cbc891816
53 changed files with 1196 additions and 839 deletions

View File

@ -16,10 +16,18 @@ static void check(const char* input, U expected) {
REQUIRE(variant.as<T>() == expected);
}
static void checkIsNull(const char* input) {
DynamicJsonDocument variant;
DeserializationError error = deserializeMsgPack(variant, input);
REQUIRE(error == DeserializationError::Ok);
REQUIRE(variant.as<JsonVariant>().isNull());
}
TEST_CASE("deserialize MsgPack value") {
SECTION("nil") {
const char* nil = 0; // ArduinoJson uses a string for null
check<const char*>("\xc0", nil);
checkIsNull("\xc0");
}
SECTION("bool") {