From 98c8e8e35a19c7b41ca7b97008867f98415480bc Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Tue, 11 Sep 2018 16:16:20 +0200 Subject: [PATCH] Added a test for issue #808 --- src/ArduinoJson/Data/JsonVariantData.hpp | 7 ------- test/JsonDeserializer/deserializeJsonValue.cpp | 8 ++++++++ test/JsonSerializer/JsonVariant.cpp | 4 ++++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/ArduinoJson/Data/JsonVariantData.hpp b/src/ArduinoJson/Data/JsonVariantData.hpp index 79f7b168..cd4c9d0e 100644 --- a/src/ArduinoJson/Data/JsonVariantData.hpp +++ b/src/ArduinoJson/Data/JsonVariantData.hpp @@ -30,13 +30,6 @@ struct JsonVariantData { content.asFloat = value; } - void setInteger(JsonInteger value) { - if (value > 0) - setPostiveInteger(static_cast(value)); - else - setNegativeInteger(static_cast(-value)); - } - void setNegativeInteger(JsonUInt value) { type = JSON_NEGATIVE_INTEGER; content.asInteger = value; diff --git a/test/JsonDeserializer/deserializeJsonValue.cpp b/test/JsonDeserializer/deserializeJsonValue.cpp index c6626a27..c21ee327 100644 --- a/test/JsonDeserializer/deserializeJsonValue.cpp +++ b/test/JsonDeserializer/deserializeJsonValue.cpp @@ -87,6 +87,14 @@ TEST_CASE("deserializeJson(DynamicJsonDocument&)") { REQUIRE(doc.as() == false); } + SECTION("0") { + DeserializationError err = deserializeJson(doc, "0"); + REQUIRE(err == DeserializationError::Ok); + REQUIRE(doc.is() == true); + REQUIRE(doc.as() == 0); + REQUIRE(doc.as() == "0"); // issue #808 + } + SECTION("NaN") { DeserializationError err = deserializeJson(doc, "NaN"); REQUIRE(err == DeserializationError::Ok); diff --git a/test/JsonSerializer/JsonVariant.cpp b/test/JsonSerializer/JsonVariant.cpp index 691a0fa2..b2287d77 100644 --- a/test/JsonSerializer/JsonVariant.cpp +++ b/test/JsonSerializer/JsonVariant.cpp @@ -45,6 +45,10 @@ TEST_CASE("serializeJson(JsonVariant)") { check(3.1415927, "3.1415927"); } + SECTION("Zero") { + check(0, "0"); + } + SECTION("Integer") { check(42, "42"); }