extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { DynamicJsonBuffer jsonBuffer; memstream json(data, size); JsonVariant variant = jsonBuffer.parse(json); if (variant.success()) { variant.as<std::string>(); // <- serialize to JSON } return 0; }
TEST_F(JsonVariant_Comparison_Tests, String) { DynamicJsonBuffer jsonBuffer; JsonVariant variant = jsonBuffer.parse("\"hello\""); ASSERT_TRUE(variant == std::string("hello")); ASSERT_FALSE(variant != std::string("hello")); ASSERT_TRUE(variant != std::string("world")); ASSERT_FALSE(variant == std::string("world")); ASSERT_TRUE(std::string("hello") == variant); ASSERT_FALSE(std::string("hello") != variant); ASSERT_TRUE(std::string("world") != variant); ASSERT_FALSE(std::string("world") == variant); }
TEST_F(JsonVariant_Comparison_Tests, StringLiteral) { DynamicJsonBuffer jsonBuffer; JsonVariant variant = jsonBuffer.parse("\"hello\""); ASSERT_TRUE(variant == "hello"); ASSERT_FALSE(variant != "hello"); ASSERT_TRUE(variant != "world"); ASSERT_FALSE(variant == "world"); ASSERT_TRUE("hello" == variant); ASSERT_FALSE("hello" != variant); ASSERT_TRUE("world" != variant); ASSERT_FALSE("world" == variant); }
// MIT License // // Arduino JSON library // https://bblanchon.github.io/ArduinoJson/ // If you like this project, please add a star! #include <ArduinoJson.h> #include <catch.hpp> using namespace Catch::Matchers; TEST_CASE("JsonBuffer::parse()") { DynamicJsonBuffer jb; SECTION("EmptyObject") { JsonVariant variant = jb.parse("{}"); REQUIRE(variant.success()); REQUIRE(variant.is<JsonObject>()); } SECTION("EmptyArray") { JsonVariant variant = jb.parse("[]"); REQUIRE(variant.success()); REQUIRE(variant.is<JsonArray>()); } SECTION("Integer") { JsonVariant variant = jb.parse("-42"); REQUIRE(variant.success()); REQUIRE(variant.is<int>()); REQUIRE_FALSE(variant.is<bool>());