mirror of
https://github.com/bblanchon/ArduinoJson.git
synced 2025-07-29 10:17:39 +02:00
Clean up tests of adaptString()
This commit is contained in:
@ -12,77 +12,101 @@
|
|||||||
#include "custom_string.hpp"
|
#include "custom_string.hpp"
|
||||||
#include "weird_strcmp.hpp"
|
#include "weird_strcmp.hpp"
|
||||||
|
|
||||||
|
using ArduinoJson::JsonString;
|
||||||
using namespace ArduinoJson::detail;
|
using namespace ArduinoJson::detail;
|
||||||
|
|
||||||
TEST_CASE("ZeroTerminatedRamString") {
|
TEST_CASE("adaptString()") {
|
||||||
SECTION("null") {
|
SECTION("null const char*") {
|
||||||
ZeroTerminatedRamString s = adaptString(static_cast<const char*>(0));
|
auto s = adaptString(static_cast<const char*>(0));
|
||||||
|
|
||||||
CHECK(s.isNull() == true);
|
CHECK(s.isNull() == true);
|
||||||
CHECK(s.size() == 0);
|
CHECK(s.size() == 0);
|
||||||
|
CHECK(s.isLinked() == true);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("non-null") {
|
SECTION("non-null const char*") {
|
||||||
ZeroTerminatedRamString s = adaptString("bravo");
|
auto s = adaptString("bravo");
|
||||||
|
|
||||||
CHECK(s.isNull() == false);
|
CHECK(s.isNull() == false);
|
||||||
CHECK(s.size() == 5);
|
CHECK(s.size() == 5);
|
||||||
|
CHECK(s.isLinked() == true);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
TEST_CASE("SizedRamString") {
|
SECTION("null const char* + size") {
|
||||||
SECTION("null") {
|
auto s = adaptString(static_cast<const char*>(0), 10);
|
||||||
SizedRamString s = adaptString(static_cast<const char*>(0), 10);
|
|
||||||
|
|
||||||
CHECK(s.isNull() == true);
|
CHECK(s.isNull() == true);
|
||||||
|
CHECK(s.isLinked() == false);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("non-null") {
|
SECTION("non-null const char* + size") {
|
||||||
SizedRamString s = adaptString("bravo", 5);
|
auto s = adaptString("bravo", 5);
|
||||||
|
|
||||||
CHECK(s.isNull() == false);
|
CHECK(s.isNull() == false);
|
||||||
CHECK(s.size() == 5);
|
CHECK(s.size() == 5);
|
||||||
|
CHECK(s.isLinked() == false);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
TEST_CASE("FlashString") {
|
SECTION("null Flash string") {
|
||||||
SECTION("null") {
|
auto s = adaptString(static_cast<const __FlashStringHelper*>(0));
|
||||||
FlashString s = adaptString(static_cast<const __FlashStringHelper*>(0));
|
|
||||||
|
|
||||||
CHECK(s.isNull() == true);
|
CHECK(s.isNull() == true);
|
||||||
CHECK(s.size() == 0);
|
CHECK(s.size() == 0);
|
||||||
|
CHECK(s.isLinked() == false);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("non-null") {
|
SECTION("non-null Flash string") {
|
||||||
FlashString s = adaptString(F("bravo"));
|
auto s = adaptString(F("bravo"));
|
||||||
|
|
||||||
CHECK(s.isNull() == false);
|
CHECK(s.isNull() == false);
|
||||||
CHECK(s.size() == 5);
|
CHECK(s.size() == 5);
|
||||||
|
CHECK(s.isLinked() == false);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
TEST_CASE("std::string") {
|
SECTION("std::string") {
|
||||||
std::string orig("bravo");
|
std::string orig("bravo");
|
||||||
SizedRamString s = adaptString(orig);
|
auto s = adaptString(orig);
|
||||||
|
|
||||||
CHECK(s.isNull() == false);
|
CHECK(s.isNull() == false);
|
||||||
CHECK(s.size() == 5);
|
CHECK(s.size() == 5);
|
||||||
}
|
CHECK(s.isLinked() == false);
|
||||||
|
}
|
||||||
|
|
||||||
TEST_CASE("Arduino String") {
|
SECTION("Arduino String") {
|
||||||
::String orig("bravo");
|
::String orig("bravo");
|
||||||
SizedRamString s = adaptString(orig);
|
auto s = adaptString(orig);
|
||||||
|
|
||||||
CHECK(s.isNull() == false);
|
CHECK(s.isNull() == false);
|
||||||
CHECK(s.size() == 5);
|
CHECK(s.size() == 5);
|
||||||
}
|
CHECK(s.isLinked() == false);
|
||||||
|
}
|
||||||
|
|
||||||
TEST_CASE("custom_string") {
|
SECTION("custom_string") {
|
||||||
custom_string orig("bravo");
|
custom_string orig("bravo");
|
||||||
SizedRamString s = adaptString(orig);
|
auto s = adaptString(orig);
|
||||||
|
|
||||||
CHECK(s.isNull() == false);
|
CHECK(s.isNull() == false);
|
||||||
CHECK(s.size() == 5);
|
CHECK(s.size() == 5);
|
||||||
|
CHECK(s.isLinked() == false);
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("JsonString linked") {
|
||||||
|
JsonString orig("hello", JsonString::Ownership::Linked);
|
||||||
|
auto s = adaptString(orig);
|
||||||
|
|
||||||
|
CHECK(s.isNull() == false);
|
||||||
|
CHECK(s.size() == 5);
|
||||||
|
CHECK(s.isLinked() == true);
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("JsonString copied") {
|
||||||
|
JsonString orig("hello", JsonString::Ownership::Copied);
|
||||||
|
auto s = adaptString(orig);
|
||||||
|
|
||||||
|
CHECK(s.isNull() == false);
|
||||||
|
CHECK(s.size() == 5);
|
||||||
|
CHECK(s.isLinked() == false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct EmptyStruct {};
|
struct EmptyStruct {};
|
||||||
@ -97,6 +121,7 @@ TEST_CASE("IsString<T>") {
|
|||||||
CHECK(IsString<::String>::value == true);
|
CHECK(IsString<::String>::value == true);
|
||||||
CHECK(IsString<::StringSumHelper>::value == true);
|
CHECK(IsString<::StringSumHelper>::value == true);
|
||||||
CHECK(IsString<const EmptyStruct*>::value == false);
|
CHECK(IsString<const EmptyStruct*>::value == false);
|
||||||
|
CHECK(IsString<JsonString>::value == true);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("stringCompare") {
|
TEST_CASE("stringCompare") {
|
||||||
|
Reference in New Issue
Block a user