efi-string: add new xstr16_to_ascii() helper
This commit is contained in:
@@ -332,30 +332,70 @@ TEST(xstrdup16) {
|
||||
TEST(xstrn8_to_16) {
|
||||
char16_t *s = NULL;
|
||||
|
||||
assert_se(xstrn8_to_16(NULL, 1) == NULL);
|
||||
assert_se(xstrn8_to_16("a", 0) == NULL);
|
||||
assert_se(s = xstrn8_to_16(NULL, 0));
|
||||
ASSERT_TRUE(streq16(s, u""));
|
||||
free(s);
|
||||
|
||||
assert_se(s = xstrn8_to_16("", 0));
|
||||
ASSERT_TRUE(streq16(s, u""));
|
||||
free(s);
|
||||
|
||||
assert_se(s = xstrn8_to_16("a", 0));
|
||||
ASSERT_TRUE(streq16(s, u""));
|
||||
free(s);
|
||||
|
||||
assert_se(s = xstrn8_to_16("", 1));
|
||||
assert_se(streq16(s, u""));
|
||||
ASSERT_TRUE(streq16(s, u""));
|
||||
free(s);
|
||||
|
||||
assert_se(s = xstrn8_to_16("1", 1));
|
||||
assert_se(streq16(s, u"1"));
|
||||
ASSERT_TRUE(streq16(s, u"1"));
|
||||
free(s);
|
||||
|
||||
assert_se(s = xstr8_to_16("abcxyzABCXYZ09 .,-_#*!\"§$%&/()=?`~"));
|
||||
assert_se(streq16(s, u"abcxyzABCXYZ09 .,-_#*!\"§$%&/()=?`~"));
|
||||
ASSERT_TRUE(streq16(s, u"abcxyzABCXYZ09 .,-_#*!\"§$%&/()=?`~"));
|
||||
free(s);
|
||||
|
||||
assert_se(s = xstr8_to_16("ÿⱿ𝇉 😺"));
|
||||
assert_se(streq16(s, u"ÿⱿ "));
|
||||
ASSERT_TRUE(streq16(s, u"ÿⱿ "));
|
||||
free(s);
|
||||
|
||||
assert_se(s = xstrn8_to_16("¶¶", 3));
|
||||
assert_se(streq16(s, u"¶"));
|
||||
ASSERT_TRUE(streq16(s, u"¶"));
|
||||
free(s);
|
||||
}
|
||||
|
||||
TEST(xstrn16_to_ascii) {
|
||||
char *s;
|
||||
|
||||
assert_se(s = xstrn16_to_ascii(NULL, 0));
|
||||
ASSERT_TRUE(streq8(s, ""));
|
||||
free(s);
|
||||
|
||||
assert_se(s = xstrn16_to_ascii(u"", 0));
|
||||
ASSERT_TRUE(streq8(s, ""));
|
||||
free(s);
|
||||
|
||||
assert_se(s = xstrn16_to_ascii(u"a", 0));
|
||||
ASSERT_TRUE(streq8(s, ""));
|
||||
free(s);
|
||||
|
||||
assert_se(s = xstrn16_to_ascii(u"", 1));
|
||||
ASSERT_TRUE(streq8(s, ""));
|
||||
free(s);
|
||||
|
||||
assert_se(s = xstrn16_to_ascii(u"1", 1));
|
||||
ASSERT_TRUE(streq8(s, "1"));
|
||||
free(s);
|
||||
|
||||
assert_se(s = xstr16_to_ascii(u"abcxyzABCXYZ09 .,-_#*!\"$%&/()=?`~"));
|
||||
ASSERT_TRUE(streq8(s, "abcxyzABCXYZ09 .,-_#*!\"$%&/()=?`~"));
|
||||
free(s);
|
||||
|
||||
assert_se(!xstr16_to_ascii(u"ÿⱿ𝇉 😺"));
|
||||
assert_se(!xstr16_to_ascii(u"¶¶"));
|
||||
}
|
||||
|
||||
TEST(startswith8) {
|
||||
assert_se(streq8(startswith8("", ""), ""));
|
||||
assert_se(streq8(startswith8("x", ""), "x"));
|
||||
|
||||
Reference in New Issue
Block a user