test-message-header-decode.c revision d9076f5939edf5d20a261494b1a861dcbb0d32e2
a8c5a86d183db25a57bf193c06b41e092ec2e151Timo Sirainen/* Copyright (c) 2009-2012 Dovecot authors, see the included COPYING file */
f6c1297c26b355c4aec2a08978f51ec3efecb351Timo Sirainenbool charset_is_utf8(const char *charset ATTR_UNUSED) { return TRUE; }
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainenint charset_to_utf8_begin(const char *charset ATTR_UNUSED,
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen struct charset_translation **t_r ATTR_UNUSED) { return 0; }
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainenvoid charset_to_utf8_end(struct charset_translation **t ATTR_UNUSED) {}
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainencharset_to_utf8(struct charset_translation *t ATTR_UNUSED,
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen const unsigned char *src, size_t *src_size, buffer_t *dest)
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen static const char *data[] = {
2e5d624013c30633e8ded148d338ce46c321a995Timo Sirainen "a =?utf-8?q?=c3=a4?=\t\t\r\n =?utf-8?q?=c3=a4?= b", "a ää b",
88b9f9eb91da632d3e941fe4276f8ace03205b25Timo Sirainen "a =?utf-8?q?=c3=a4?= x =?utf-8?q?=c3=a4?= b", "a ä x ä b",
57b523eeb99ed5d7f5002907a409cdef54353ce5Timo Sirainen unsigned int i;
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen message_header_decode_utf8((const unsigned char *)data[i],
c8296ac1ed68ed5c5168de545b76f9b27fc76d35Timo Sirainen test_assert(strcmp(str_c(dest), data[i+1]) == 0);
c37098f8ce6d512ba41f09564d04ed25720f0a77Timo Sirainen static void (*test_functions[])(void) = {