forked from bblanchon/ArduinoJson
JsonObject::createNestedObject()
returns JsonObject::invalid()
if key is null (fixes #1891)
This commit is contained in:
@ -1,6 +1,11 @@
|
|||||||
ArduinoJson: change log
|
ArduinoJson: change log
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
|
HEAD
|
||||||
|
----
|
||||||
|
|
||||||
|
* `JsonObject::createNestedObject()` returns `JsonObject::invalid()` if key is null (issue #1891)
|
||||||
|
|
||||||
v5.13.5
|
v5.13.5
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
@ -22,7 +22,9 @@ template <typename TStringRef>
|
|||||||
inline JsonObject &JsonObject::createNestedObject_impl(TStringRef key) {
|
inline JsonObject &JsonObject::createNestedObject_impl(TStringRef key) {
|
||||||
if (!_buffer) return JsonObject::invalid();
|
if (!_buffer) return JsonObject::invalid();
|
||||||
JsonObject &object = _buffer->createObject();
|
JsonObject &object = _buffer->createObject();
|
||||||
set(key, object);
|
if (set(key, object))
|
||||||
return object;
|
return object;
|
||||||
|
else
|
||||||
|
return JsonObject::invalid();
|
||||||
}
|
}
|
||||||
} // namespace ArduinoJson
|
} // namespace ArduinoJson
|
||||||
|
@ -2,9 +2,10 @@
|
|||||||
# Copyright Benoit Blanchon 2014-2023
|
# Copyright Benoit Blanchon 2014-2023
|
||||||
# MIT License
|
# MIT License
|
||||||
|
|
||||||
add_executable(JsonObjectTests
|
add_executable(JsonObjectTests
|
||||||
basics.cpp
|
basics.cpp
|
||||||
containsKey.cpp
|
containsKey.cpp
|
||||||
|
createNestedObject.cpp
|
||||||
get.cpp
|
get.cpp
|
||||||
invalid.cpp
|
invalid.cpp
|
||||||
iterator.cpp
|
iterator.cpp
|
||||||
|
23
test/JsonObject/createNestedObject.cpp
Normal file
23
test/JsonObject/createNestedObject.cpp
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
// ArduinoJson - arduinojson.org
|
||||||
|
// Copyright Benoit Blanchon 2014-2023
|
||||||
|
// MIT License
|
||||||
|
|
||||||
|
#include <ArduinoJson.h>
|
||||||
|
|
||||||
|
#include <catch.hpp>
|
||||||
|
|
||||||
|
TEST_CASE("JsonObject::createNestedObject()") {
|
||||||
|
DynamicJsonBuffer _jsonBuffer;
|
||||||
|
JsonObject& _object = _jsonBuffer.createObject();
|
||||||
|
|
||||||
|
SECTION("success() should return true if key is non-null") {
|
||||||
|
JsonObject& obj = _object.createNestedObject("key");
|
||||||
|
REQUIRE(obj.success() == true);
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("success() should return false if key is null") {
|
||||||
|
const char* null = 0;
|
||||||
|
JsonObject& obj = _object.createNestedObject(null);
|
||||||
|
REQUIRE(obj.success() == false);
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user