diff options
Diffstat (limited to 'test/check_dbmail_misc.c')
-rw-r--r-- | test/check_dbmail_misc.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/test/check_dbmail_misc.c b/test/check_dbmail_misc.c index 2a571c6b..2effe9ee 100644 --- a/test/check_dbmail_misc.c +++ b/test/check_dbmail_misc.c @@ -424,6 +424,61 @@ START_TEST(test_whirlpool) } END_TEST +START_TEST(test_get_crlf_encoded_opt1) +{ + char *in[] = { + "a\n", + "a\nb\nc\n", + "a\nb\r\nc\n", + "a\nb\rc\n", + "a\nb\r\r\nc\n", + NULL + }; + char *out[] = { + "a\r\n", + "a\r\nb\r\nc\r\n", + "a\r\nb\r\nc\r\n", + "a\r\nb\rc\r\n", + "a\r\nb\r\r\nc\r\n", + NULL + }; + int i=0; + while (in[i]) { + char *r = get_crlf_encoded_opt(in[i],0); + fail_unless(MATCH(r,out[i]), "get_crlf_encoded failed [%s]!=[%s]", r, out[i]); + g_free(r); + i++; + } +} +END_TEST + +START_TEST(test_get_crlf_encoded_opt2) +{ + char *in[] = { + "a\nb\nc.\n", + "a\n.b\r\nc.\n", + "a\nb\r.c.\n", + "a\nb\r\r\n.\nc\n", + NULL + }; + char *out[] = { + "a\r\nb\r\nc.\r\n", + "a\r\n..b\r\nc.\r\n", + "a\r\nb\r.c.\r\n", + "a\r\nb\r\r\n..\r\nc\r\n", + NULL + }; + int i=0; + while (in[i]) { + char *r = get_crlf_encoded_opt(in[i],1); + fail_unless(MATCH(r,out[i]), "get_crlf_encoded failed [%s]!=[%s]", r, out[i]); + g_free(r); + i++; + } +} +END_TEST + + Suite *dbmail_misc_suite(void) { Suite *s = suite_create("Dbmail Misc"); @@ -448,6 +503,8 @@ Suite *dbmail_misc_suite(void) tcase_add_test(tc_misc, test_whirlpool); tcase_add_test(tc_misc, test_md5); tcase_add_test(tc_misc, test_tiger); + tcase_add_test(tc_misc, test_get_crlf_encoded_opt1); + tcase_add_test(tc_misc, test_get_crlf_encoded_opt2); return s; } |