|
|
@@ -51,3 +51,37 @@ TEST_CASE("Flash strings") {
|
|
|
REQUIRE(doc[0] == F("world"));
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+TEST_CASE("strlen_P") {
|
|
|
+ CHECK(strlen_P(FC("")) == 0);
|
|
|
+ CHECK(strlen_P(FC("a")) == 1);
|
|
|
+ CHECK(strlen_P(FC("ac")) == 2);
|
|
|
+}
|
|
|
+
|
|
|
+TEST_CASE("strncmp_P") {
|
|
|
+ CHECK(strncmp_P("a", FC("b"), 0) == 0);
|
|
|
+ CHECK(strncmp_P("a", FC("b"), 1) == -1);
|
|
|
+ CHECK(strncmp_P("b", FC("a"), 1) == 1);
|
|
|
+ CHECK(strncmp_P("a", FC("a"), 0) == 0);
|
|
|
+ CHECK(strncmp_P("a", FC("b"), 2) == -1);
|
|
|
+ CHECK(strncmp_P("b", FC("a"), 2) == 1);
|
|
|
+ CHECK(strncmp_P("a", FC("a"), 2) == 0);
|
|
|
+}
|
|
|
+
|
|
|
+TEST_CASE("strcmp_P") {
|
|
|
+ CHECK(strcmp_P("a", FC("b")) == -1);
|
|
|
+ CHECK(strcmp_P("b", FC("a")) == 1);
|
|
|
+ CHECK(strcmp_P("a", FC("a")) == 0);
|
|
|
+ CHECK(strcmp_P("aa", FC("ab")) == -1);
|
|
|
+ CHECK(strcmp_P("ab", FC("aa")) == 1);
|
|
|
+ CHECK(strcmp_P("aa", FC("aa")) == 0);
|
|
|
+}
|
|
|
+
|
|
|
+TEST_CASE("memcpy_P") {
|
|
|
+ char dst[4];
|
|
|
+ CHECK(memcpy_P(dst, FC("ABC"), 4) == dst);
|
|
|
+ CHECK(dst[0] == 'A');
|
|
|
+ CHECK(dst[1] == 'B');
|
|
|
+ CHECK(dst[2] == 'C');
|
|
|
+ CHECK(dst[3] == 0);
|
|
|
+}
|