forked from bblanchon/ArduinoJson
Use strlen()
for literals too
This commit is contained in:
@ -22,10 +22,10 @@ TEST_CASE("JsonDocument::remove()") {
|
|||||||
|
|
||||||
SECTION("string literal") {
|
SECTION("string literal") {
|
||||||
doc["a"] = 1;
|
doc["a"] = 1;
|
||||||
doc["a\0b"_s] = 2;
|
doc["x"] = 2;
|
||||||
doc["b"] = 3;
|
doc["b"] = 3;
|
||||||
|
|
||||||
doc.remove("a\0b");
|
doc.remove("x");
|
||||||
|
|
||||||
REQUIRE(doc.as<std::string>() == "{\"a\":1,\"b\":3}");
|
REQUIRE(doc.as<std::string>() == "{\"a\":1,\"b\":3}");
|
||||||
}
|
}
|
||||||
|
@ -25,8 +25,6 @@ TEST_CASE("JsonDocument::operator[]") {
|
|||||||
SECTION("string literal") {
|
SECTION("string literal") {
|
||||||
REQUIRE(doc["abc"] == "ABC");
|
REQUIRE(doc["abc"] == "ABC");
|
||||||
REQUIRE(cdoc["abc"] == "ABC");
|
REQUIRE(cdoc["abc"] == "ABC");
|
||||||
REQUIRE(doc["abc\0d"] == "ABCD");
|
|
||||||
REQUIRE(cdoc["abc\0d"] == "ABCD");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("std::string") {
|
SECTION("std::string") {
|
||||||
|
@ -57,7 +57,7 @@ TEST_CASE("JsonVariantConst::operator[]") {
|
|||||||
SECTION("string literal") {
|
SECTION("string literal") {
|
||||||
REQUIRE(var["ab"] == "AB"_s);
|
REQUIRE(var["ab"] == "AB"_s);
|
||||||
REQUIRE(var["abc"] == "ABC"_s);
|
REQUIRE(var["abc"] == "ABC"_s);
|
||||||
REQUIRE(var["abc\0d"] == "ABCD"_s);
|
REQUIRE(var["abc\0d"] == "ABC"_s);
|
||||||
REQUIRE(var["def"].isNull());
|
REQUIRE(var["def"].isNull());
|
||||||
REQUIRE(var[0].isNull());
|
REQUIRE(var[0].isNull());
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ TEST_CASE("adaptString()") {
|
|||||||
auto s = adaptString("bravo\0alpha");
|
auto s = adaptString("bravo\0alpha");
|
||||||
|
|
||||||
CHECK(s.isNull() == false);
|
CHECK(s.isNull() == false);
|
||||||
CHECK(s.size() == 11);
|
CHECK(s.size() == 5);
|
||||||
CHECK(s.isStatic() == true);
|
CHECK(s.isStatic() == true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,8 +80,9 @@ template <size_t N>
|
|||||||
struct StringAdapter<const char (&)[N]> {
|
struct StringAdapter<const char (&)[N]> {
|
||||||
using AdaptedString = RamString;
|
using AdaptedString = RamString;
|
||||||
|
|
||||||
static AdaptedString adapt(const char (&p)[N]) {
|
static AdaptedString adapt(const char* p) {
|
||||||
return RamString(p, N - 1, true);
|
ARDUINOJSON_ASSERT(p);
|
||||||
|
return RamString(p, ::strlen(p), true);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user