test-rfc822-parser.c revision efb00f1b47d7219f77d89a963c9f3584583b207e
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/* Copyright (c) 2015 Dovecot authors, see the included COPYING file */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync const struct {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync unsigned int i = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync rfc822_parser_init(&parser, (const void *)tests[i].input,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync test_assert_idx(rfc822_parse_quoted_string(&parser, str) == tests[i].ret, i);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync const char *input =
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync "; key1=value1#$!%&'*+-.^_`{|}~"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync "; key2=\" \\\"(),/:;<=>?@[\\\\]\"";
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync const struct {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync unsigned int i = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync rfc822_parser_init(&parser, (const void *)input, strlen(input), NULL);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync while ((ret = rfc822_parse_content_param(&parser, &key, &value)) > 0) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync test_assert_idx(strcmp(output[i].key, key) == 0, i);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync test_assert_idx(strcmp(output[i].value, value) == 0, i);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync static void (*test_functions[])(void) = {