dovecot-2.2: lib-mail: Updated test-message-header-parser unit test

dovecot at dovecot.org dovecot at dovecot.org
Thu Jul 16 15:09:28 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/f0148bae3d62
changeset: 18910:f0148bae3d62
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Jul 16 18:09:17 2015 +0300
description:
lib-mail: Updated test-message-header-parser unit test

diffstat:

 src/lib-mail/test-message-header-parser.c |  24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diffs (40 lines):

diff -r ab441df52e86 -r f0148bae3d62 src/lib-mail/test-message-header-parser.c
--- 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);


More information about the dovecot-cvs mailing list