
【主 题】:不从配置文件远端获取 ArduinoJson库 添加到根目录调用 【描 述】: [原因]:防止版本不同 造成bug [过程]: [影响]: 【结 束】 # 类型 包含: # feat:新功能(feature) # fix:修补bug # docs:文档(documentation) # style: 格式(不影响代码运行的变动) # refactor:重构(即不是新增功能,也不是修改bug的代码变动) # test:增加测试 # chore:构建过程或辅助工具的变动
59 lines
1.5 KiB
C++
59 lines
1.5 KiB
C++
#include <ArduinoJson.h>
|
|
|
|
#include <catch.hpp>
|
|
|
|
TEST_CASE("Issue #1120") {
|
|
StaticJsonDocument<500> doc;
|
|
constexpr char str[] =
|
|
"{\"contents\":[{\"module\":\"Packet\"},{\"module\":\"Analog\"}]}";
|
|
deserializeJson(doc, str);
|
|
|
|
SECTION("MemberProxy<std::string>::isNull()") {
|
|
SECTION("returns false") {
|
|
auto value = doc[std::string("contents")];
|
|
CHECK(value.isNull() == false);
|
|
}
|
|
|
|
SECTION("returns true") {
|
|
auto value = doc[std::string("zontents")];
|
|
CHECK(value.isNull() == true);
|
|
}
|
|
}
|
|
|
|
SECTION("ElementProxy<MemberProxy<const char*> >::isNull()") {
|
|
SECTION("returns false") { // Issue #1120
|
|
auto value = doc["contents"][1];
|
|
CHECK(value.isNull() == false);
|
|
}
|
|
|
|
SECTION("returns true") {
|
|
auto value = doc["contents"][2];
|
|
CHECK(value.isNull() == true);
|
|
}
|
|
}
|
|
|
|
SECTION("MemberProxy<ElementProxy<MemberProxy>, const char*>::isNull()") {
|
|
SECTION("returns false") {
|
|
auto value = doc["contents"][1]["module"];
|
|
CHECK(value.isNull() == false);
|
|
}
|
|
|
|
SECTION("returns true") {
|
|
auto value = doc["contents"][1]["zodule"];
|
|
CHECK(value.isNull() == true);
|
|
}
|
|
}
|
|
|
|
SECTION("MemberProxy<ElementProxy<MemberProxy>, std::string>::isNull()") {
|
|
SECTION("returns false") {
|
|
auto value = doc["contents"][1][std::string("module")];
|
|
CHECK(value.isNull() == false);
|
|
}
|
|
|
|
SECTION("returns true") {
|
|
auto value = doc["contents"][1][std::string("zodule")];
|
|
CHECK(value.isNull() == true);
|
|
}
|
|
}
|
|
}
|