tests: add tests of base 16/64 decoding/encoding
This commit is contained in:
parent
cf3e0ccbfd
commit
28cb1ae6f5
@ -737,7 +737,82 @@ TEST(String, FormatSize)
|
|||||||
|
|
||||||
TEST(String, BaseN)
|
TEST(String, BaseN)
|
||||||
{
|
{
|
||||||
/* TODO: write tests */
|
char str[1024];
|
||||||
|
const char *str_abc = "abc";
|
||||||
|
const char *str_abc_base64 = "YWJj";
|
||||||
|
const char *str_base64[][2] =
|
||||||
|
{ { "", "" },
|
||||||
|
{ "A", "QQ==" },
|
||||||
|
{ "B", "Qg==" },
|
||||||
|
{ "C", "Qw==" },
|
||||||
|
{ "D", "RA==" },
|
||||||
|
{ "abc", "YWJj" },
|
||||||
|
{ "This is a test.", "VGhpcyBpcyBhIHRlc3Qu" },
|
||||||
|
{ "This is a test..", "VGhpcyBpcyBhIHRlc3QuLg==" },
|
||||||
|
{ "This is a test...", "VGhpcyBpcyBhIHRlc3QuLi4=" },
|
||||||
|
{ "This is a test....", "VGhpcyBpcyBhIHRlc3QuLi4u" },
|
||||||
|
{ "This is a long long long sentence here...",
|
||||||
|
"VGhpcyBpcyBhIGxvbmcgbG9uZyBsb25nIHNlbnRlbmNlIGhlcmUuLi4=" },
|
||||||
|
{ "Another example for base64",
|
||||||
|
"QW5vdGhlciBleGFtcGxlIGZvciBiYXNlNjQ=" },
|
||||||
|
{ "Another example for base64.",
|
||||||
|
"QW5vdGhlciBleGFtcGxlIGZvciBiYXNlNjQu" },
|
||||||
|
{ "Another example for base64..",
|
||||||
|
"QW5vdGhlciBleGFtcGxlIGZvciBiYXNlNjQuLg==" },
|
||||||
|
{ "Another example for base64...",
|
||||||
|
"QW5vdGhlciBleGFtcGxlIGZvciBiYXNlNjQuLi4=" },
|
||||||
|
{ NULL, NULL } };
|
||||||
|
int i, length;
|
||||||
|
|
||||||
|
/* string_encode_base16 */
|
||||||
|
string_encode_base16 (NULL, 0, NULL);
|
||||||
|
string_encode_base16 (NULL, 0, str);
|
||||||
|
string_encode_base16 ("", 0, NULL);
|
||||||
|
str[0] = 0xAA;
|
||||||
|
string_encode_base16 ("", -1, str);
|
||||||
|
BYTES_EQUAL(0x0, str[0]);
|
||||||
|
str[0] = 0xAA;
|
||||||
|
string_encode_base16 ("", 0, str);
|
||||||
|
BYTES_EQUAL(0x0, str[0]);
|
||||||
|
string_encode_base16 ("abc", 3, str);
|
||||||
|
STRCMP_EQUAL("616263", str);
|
||||||
|
|
||||||
|
/* string_decode_base16 */
|
||||||
|
LONGS_EQUAL(0, string_decode_base16 (NULL, NULL));
|
||||||
|
LONGS_EQUAL(0, string_decode_base16 (NULL, str));
|
||||||
|
LONGS_EQUAL(0, string_decode_base16 ("", NULL));
|
||||||
|
LONGS_EQUAL(0, string_decode_base16 ("", str));
|
||||||
|
LONGS_EQUAL(3, string_decode_base16 ("616263", str));
|
||||||
|
STRCMP_EQUAL("abc", str);
|
||||||
|
|
||||||
|
/* string_encode_base64 */
|
||||||
|
string_encode_base64 (NULL, 0, NULL);
|
||||||
|
string_encode_base64 (NULL, 0, str);
|
||||||
|
string_encode_base64 ("", 0, NULL);
|
||||||
|
str[0] = 0xAA;
|
||||||
|
string_encode_base64 ("", -1, str);
|
||||||
|
BYTES_EQUAL(0x0, str[0]);
|
||||||
|
str[0] = 0xAA;
|
||||||
|
string_encode_base64 ("", 0, str);
|
||||||
|
BYTES_EQUAL(0x0, str[0]);
|
||||||
|
for (i = 0; str_base64[i][0]; i++)
|
||||||
|
{
|
||||||
|
string_encode_base64 (str_base64[i][0], strlen (str_base64[i][0]),
|
||||||
|
str);
|
||||||
|
STRCMP_EQUAL(str_base64[i][1], str);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* string_decode_base64 */
|
||||||
|
LONGS_EQUAL(0, string_decode_base64 (NULL, NULL));
|
||||||
|
LONGS_EQUAL(0, string_decode_base64 (NULL, str));
|
||||||
|
LONGS_EQUAL(0, string_decode_base64 ("", NULL));
|
||||||
|
LONGS_EQUAL(0, string_decode_base64 ("", str));
|
||||||
|
for (i = 0; str_base64[i][0]; i++)
|
||||||
|
{
|
||||||
|
length = string_decode_base64 (str_base64[i][1], str);
|
||||||
|
STRCMP_EQUAL(str_base64[i][0], str);
|
||||||
|
LONGS_EQUAL(strlen (str_base64[i][0]), length);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user