Reduced the size of the pretty JSON serializer

This commit is contained in:
Benoit Blanchon
2019-01-23 18:19:24 +01:00
parent 933a66a070
commit 70739f5cfd
14 changed files with 123 additions and 301 deletions

View File

@ -78,7 +78,7 @@ add_subdirectory(JsonDocument)
add_subdirectory(JsonObject)
add_subdirectory(JsonSerializer)
add_subdirectory(JsonVariant)
add_subdirectory(JsonWriter)
add_subdirectory(TextFormatter)
add_subdirectory(MemoryPool)
add_subdirectory(Misc)
add_subdirectory(MixedConfiguration)

View File

@ -8,4 +8,4 @@ add_executable(JsonWriterTests
)
target_link_libraries(JsonWriterTests catch)
add_test(JsonWriter JsonWriterTests)
add_test(TextFormatter JsonWriterTests)

View File

@ -6,7 +6,7 @@
#include <limits>
#include <string>
#include <ArduinoJson/Json/JsonWriter.hpp>
#include <ArduinoJson/Json/TextFormatter.hpp>
#include <ArduinoJson/Serialization/DynamicStringWriter.hpp>
using namespace ARDUINOJSON_NAMESPACE;
@ -15,13 +15,13 @@ template <typename TFloat>
void check(TFloat input, const std::string& expected) {
std::string output;
DynamicStringWriter<std::string> sb(output);
JsonWriter<DynamicStringWriter<std::string> > writer(sb);
TextFormatter<DynamicStringWriter<std::string> > writer(sb);
writer.writeFloat(input);
REQUIRE(writer.bytesWritten() == output.size());
CHECK(expected == output);
}
TEST_CASE("JsonWriter::writeFloat(double)") {
TEST_CASE("TextFormatter::writeFloat(double)") {
SECTION("Pi") {
check<double>(3.14159265359, "3.141592654");
}
@ -102,7 +102,7 @@ TEST_CASE("JsonWriter::writeFloat(double)") {
}
}
TEST_CASE("JsonWriter::writeFloat(float)") {
TEST_CASE("TextFormatter::writeFloat(float)") {
SECTION("Pi") {
check<float>(3.14159265359f, "3.141593");
}

View File

@ -4,7 +4,7 @@
#include <catch.hpp>
#include <ArduinoJson/Json/JsonWriter.hpp>
#include <ArduinoJson/Json/TextFormatter.hpp>
#include <ArduinoJson/Serialization/StaticStringWriter.hpp>
using namespace ARDUINOJSON_NAMESPACE;
@ -12,13 +12,13 @@ using namespace ARDUINOJSON_NAMESPACE;
void check(const char* input, std::string expected) {
char output[1024];
StaticStringWriter sb(output, sizeof(output));
JsonWriter<StaticStringWriter> writer(sb);
TextFormatter<StaticStringWriter> writer(sb);
writer.writeString(input);
REQUIRE(expected == output);
REQUIRE(writer.bytesWritten() == expected.size());
}
TEST_CASE("JsonWriter::writeString()") {
TEST_CASE("TextFormatter::writeString()") {
SECTION("Null") {
check(0, "null");
}