test-rfc2231-parser.c revision 39025a2dabfcfaeee3790988b9ea00d19887a3d3
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainen/* Copyright (c) 2007-2009 Dovecot authors, see the included COPYING file */
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainenstatic void test_rfc2231_parser(void)
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainen const char *input =
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainen "; key*2=ba%"
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainen "; key3*0*=us-ascii'en'xyz"
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainen "; key*0=\"foo\""
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainen "; key2*1*=b%25"
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainen "; key3*1=plop%"
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainen "; key*1=baz";
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainen const char *output[] = {
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainen "us-ascii'en'xyzplop%25",
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainen const char *const *result;
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainen unsigned int i;
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainen rfc822_parser_init(&parser, (const void *)input, strlen(input), NULL);
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainen for (i = 0; output[i] != NULL && result[i] != NULL; i++) {
39025a2dabfcfaeee3790988b9ea00d19887a3d3Timo Sirainen static void (*test_functions[])(void) = {