Mercurial > dovecot > core-2.2
changeset 18910:f0148bae3d62
lib-mail: Updated test-message-header-parser unit test
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 16 Jul 2015 18:09:17 +0300 |
parents | ab441df52e86 |
children | 4bebfbb32410 |
files | src/lib-mail/test-message-header-parser.c |
diffstat | 1 files changed, 24 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-mail/test-message-header-parser.c Thu Jul 16 18:08:40 2015 +0300 +++ b/src/lib-mail/test-message-header-parser.c Thu Jul 16 18:09:17 2015 +0300 @@ -239,12 +239,36 @@ test_end(); } +static void test_message_header_parser_extra_cr_in_eoh(void) +{ + static const char *str = "a:b\n\r\r\n"; + struct message_header_parser_ctx *parser; + struct message_header_line *hdr; + struct istream *input; + + test_begin("message header parser extra CR in EOH"); + + input = test_istream_create(str); + parser = message_parse_header_init(input, NULL, 0); + test_assert(message_parse_header_next(parser, &hdr) > 0 && + strcmp(hdr->name, "a") == 0); + test_assert(message_parse_header_next(parser, &hdr) > 0 && + strcmp(hdr->name, "\r") == 0 && hdr->middle_len == 0 && + hdr->value_len == 0 && !hdr->eoh); + test_assert(message_parse_header_next(parser, &hdr) < 0); + message_parse_header_deinit(&parser); + test_assert(input->stream_errno == 0); + i_stream_unref(&input); + test_end(); +} + int main(void) { static void (*test_functions[])(void) = { test_message_header_parser, test_message_header_parser_partial, test_message_header_parser_long_lines, + test_message_header_parser_extra_cr_in_eoh, NULL }; return test_run(test_functions);