Skip to content

Commit

Permalink
lib-mail: test-message-address - Add TEST_MESSAGE_ADDRESS_FLAG_SKIP_L…
Browse files Browse the repository at this point in the history
…IST flag

This commit just adds the flag and sets it to 0 for all existing tests.
  • Loading branch information
sirainen authored and villesavolainen committed Feb 20, 2018
1 parent 3213a02 commit ccde1a8
Showing 1 changed file with 54 additions and 46 deletions.
100 changes: 54 additions & 46 deletions src/lib-mail/test-message-address.c
Expand Up @@ -5,6 +5,10 @@
#include "message-address.h"
#include "test-common.h"

enum test_message_address {
TEST_MESSAGE_ADDRESS_FLAG_SKIP_LIST = BIT(0),
};

static bool cmp_addr(const struct message_address *a1,
const struct message_address *a2)
{
Expand Down Expand Up @@ -38,161 +42,162 @@ static void test_message_address(void)
const char *wanted_filled_output;
struct message_address addr;
struct message_address filled_addr;
enum test_message_address flags;
} tests[] = {
/* user@domain -> <user@domain> */
{ "user@domain", "<user@domain>", NULL,
{ NULL, NULL, NULL, "user", "domain", FALSE },
{ NULL, NULL, NULL, "user", "domain", FALSE } },
{ NULL, NULL, NULL, "user", "domain", FALSE }, 0 },
{ "\"user\"@domain", "<user@domain>", NULL,
{ NULL, NULL, NULL, "user", "domain", FALSE },
{ NULL, NULL, NULL, "user", "domain", FALSE } },
{ NULL, NULL, NULL, "user", "domain", FALSE }, 0 },
{ "\"user name\"@domain", "<\"user name\"@domain>", NULL,
{ NULL, NULL, NULL, "user name", "domain", FALSE },
{ NULL, NULL, NULL, "user name", "domain", FALSE } },
{ NULL, NULL, NULL, "user name", "domain", FALSE }, 0 },
{ "\"user@na\\\\me\"@domain", "<\"user@na\\\\me\"@domain>", NULL,
{ NULL, NULL, NULL, "user@na\\me", "domain", FALSE },
{ NULL, NULL, NULL, "user@na\\me", "domain", FALSE } },
{ NULL, NULL, NULL, "user@na\\me", "domain", FALSE }, 0 },
{ "\"user\\\"name\"@domain", "<\"user\\\"name\"@domain>", NULL,
{ NULL, NULL, NULL, "user\"name", "domain", FALSE },
{ NULL, NULL, NULL, "user\"name", "domain", FALSE } },
{ NULL, NULL, NULL, "user\"name", "domain", FALSE }, 0 },
{ "\"\"@domain", "<\"\"@domain>", NULL,
{ NULL, NULL, NULL, "", "domain", FALSE },
{ NULL, NULL, NULL, "", "domain", FALSE } },
{ NULL, NULL, NULL, "", "domain", FALSE }, 0 },
{ "user", "<user>", "<user@MISSING_DOMAIN>",
{ NULL, NULL, NULL, "user", "", TRUE },
{ NULL, NULL, NULL, "user", "MISSING_DOMAIN", TRUE } },
{ NULL, NULL, NULL, "user", "MISSING_DOMAIN", TRUE }, 0 },
{ "@domain", "<\"\"@domain>", "<MISSING_MAILBOX@domain>",
{ NULL, NULL, NULL, "", "domain", TRUE },
{ NULL, NULL, NULL, "MISSING_MAILBOX", "domain", TRUE } },
{ NULL, NULL, NULL, "MISSING_MAILBOX", "domain", TRUE }, 0 },

/* Display Name -> Display Name */
{ "Display Name", "\"Display Name\"", "\"Display Name\" <MISSING_MAILBOX@MISSING_DOMAIN>",
{ NULL, "Display Name", NULL, "", "", TRUE },
{ NULL, "Display Name", NULL, "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE } },
{ NULL, "Display Name", NULL, "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE }, 0 },
{ "\"Display Name\"", "\"Display Name\"", "\"Display Name\" <MISSING_MAILBOX@MISSING_DOMAIN>",
{ NULL, "Display Name", NULL, "", "", TRUE },
{ NULL, "Display Name", NULL, "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE } },
{ NULL, "Display Name", NULL, "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE }, 0 },
{ "Display \"Name\"", "\"Display Name\"", "\"Display Name\" <MISSING_MAILBOX@MISSING_DOMAIN>",
{ NULL, "Display Name", NULL, "", "", TRUE },
{ NULL, "Display Name", NULL, "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE } },
{ NULL, "Display Name", NULL, "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE }, 0 },
{ "\"Display\" \"Name\"", "\"Display Name\"", "\"Display Name\" <MISSING_MAILBOX@MISSING_DOMAIN>",
{ NULL, "Display Name", NULL, "", "", TRUE },
{ NULL, "Display Name", NULL, "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE } },
{ NULL, "Display Name", NULL, "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE }, 0 },
{ "\"\"", "", "<MISSING_MAILBOX@MISSING_DOMAIN>",
{ NULL, "", NULL, "", "", TRUE },
{ NULL, "", NULL, "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE } },
{ NULL, "", NULL, "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE }, 0 },

/* <user@domain> -> <user@domain> */
{ "<user@domain>", NULL, NULL,
{ NULL, NULL, NULL, "user", "domain", FALSE },
{ NULL, NULL, NULL, "user", "domain", FALSE } },
{ NULL, NULL, NULL, "user", "domain", FALSE }, 0 },
{ "<\"user\"@domain>", "<user@domain>", NULL,
{ NULL, NULL, NULL, "user", "domain", FALSE },
{ NULL, NULL, NULL, "user", "domain", FALSE } },
{ NULL, NULL, NULL, "user", "domain", FALSE }, 0 },
{ "<\"user name\"@domain>", NULL, NULL,
{ NULL, NULL, NULL, "user name", "domain", FALSE },
{ NULL, NULL, NULL, "user name", "domain", FALSE } },
{ NULL, NULL, NULL, "user name", "domain", FALSE }, 0 },
{ "<\"user@na\\\\me\"@domain>", NULL, NULL,
{ NULL, NULL, NULL, "user@na\\me", "domain", FALSE },
{ NULL, NULL, NULL, "user@na\\me", "domain", FALSE } },
{ NULL, NULL, NULL, "user@na\\me", "domain", FALSE }, 0 },
{ "<\"user\\\"name\"@domain>", NULL, NULL,
{ NULL, NULL, NULL, "user\"name", "domain", FALSE },
{ NULL, NULL, NULL, "user\"name", "domain", FALSE } },
{ NULL, NULL, NULL, "user\"name", "domain", FALSE }, 0 },
{ "<\"\"@domain>", NULL, NULL,
{ NULL, NULL, NULL, "", "domain", FALSE },
{ NULL, NULL, NULL, "", "domain", FALSE } },
{ NULL, NULL, NULL, "", "domain", FALSE }, 0 },
{ "<user>", NULL, "<user@MISSING_DOMAIN>",
{ NULL, NULL, NULL, "user", "", TRUE },
{ NULL, NULL, NULL, "user", "MISSING_DOMAIN", TRUE } },
{ NULL, NULL, NULL, "user", "MISSING_DOMAIN", TRUE }, 0 },
{ "<@route>", "<@route:\"\">", "<INVALID_ROUTE:MISSING_MAILBOX@MISSING_DOMAIN>",
{ NULL, NULL, "@route", "", "", TRUE },
{ NULL, NULL, "INVALID_ROUTE", "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE } },
{ NULL, NULL, "INVALID_ROUTE", "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE }, 0 },

/* user@domain (Display Name) -> "Display Name" <user@domain> */
{ "user@domain (DisplayName)", "DisplayName <user@domain>", NULL,
{ NULL, "DisplayName", NULL, "user", "domain", FALSE },
{ NULL, "DisplayName", NULL, "user", "domain", FALSE } },
{ NULL, "DisplayName", NULL, "user", "domain", FALSE }, 0 },
{ "user@domain (Display Name)", "\"Display Name\" <user@domain>", NULL,
{ NULL, "Display Name", NULL, "user", "domain", FALSE },
{ NULL, "Display Name", NULL, "user", "domain", FALSE } },
{ NULL, "Display Name", NULL, "user", "domain", FALSE }, 0 },
{ "user@domain (Display\"Name)", "\"Display\\\"Name\" <user@domain>", NULL,
{ NULL, "Display\"Name", NULL, "user", "domain", FALSE },
{ NULL, "Display\"Name", NULL, "user", "domain", FALSE } },
{ NULL, "Display\"Name", NULL, "user", "domain", FALSE }, 0 },
{ "user (Display Name)", "\"Display Name\" <user>", "\"Display Name\" <user@MISSING_DOMAIN>",
{ NULL, "Display Name", NULL, "user", "", TRUE },
{ NULL, "Display Name", NULL, "user", "MISSING_DOMAIN", TRUE } },
{ NULL, "Display Name", NULL, "user", "MISSING_DOMAIN", TRUE }, 0 },
{ "@domain (Display Name)", "\"Display Name\" <\"\"@domain>", "\"Display Name\" <MISSING_MAILBOX@domain>",
{ NULL, "Display Name", NULL, "", "domain", TRUE },
{ NULL, "Display Name", NULL, "MISSING_MAILBOX", "domain", TRUE } },
{ NULL, "Display Name", NULL, "MISSING_MAILBOX", "domain", TRUE }, 0 },
{ "user@domain ()", "<user@domain>", NULL,
{ NULL, NULL, NULL, "user", "domain", FALSE },
{ NULL, NULL, NULL, "user", "domain", FALSE } },
{ NULL, NULL, NULL, "user", "domain", FALSE }, 0 },

/* Display Name <user@domain> -> "Display Name" <user@domain> */
{ "DisplayName <user@domain>", NULL, NULL,
{ NULL, "DisplayName", NULL, "user", "domain", FALSE },
{ NULL, "DisplayName", NULL, "user", "domain", FALSE } },
{ NULL, "DisplayName", NULL, "user", "domain", FALSE }, 0 },
{ "Display Name <user@domain>", "\"Display Name\" <user@domain>", NULL,
{ NULL, "Display Name", NULL, "user", "domain", FALSE },
{ NULL, "Display Name", NULL, "user", "domain", FALSE } },
{ NULL, "Display Name", NULL, "user", "domain", FALSE }, 0 },
{ "\"Display Name\" <user@domain>", NULL, NULL,
{ NULL, "Display Name", NULL, "user", "domain", FALSE },
{ NULL, "Display Name", NULL, "user", "domain", FALSE } },
{ NULL, "Display Name", NULL, "user", "domain", FALSE }, 0 },
{ "\"Display\\\"Name\" <user@domain>", NULL, NULL,
{ NULL, "Display\"Name", NULL, "user", "domain", FALSE },
{ NULL, "Display\"Name", NULL, "user", "domain", FALSE } },
{ NULL, "Display\"Name", NULL, "user", "domain", FALSE }, 0 },
{ "Display Name <user>", "\"Display Name\" <user>", "\"Display Name\" <user@MISSING_DOMAIN>",
{ NULL, "Display Name", NULL, "user", "", TRUE },
{ NULL, "Display Name", NULL, "user", "MISSING_DOMAIN", TRUE } },
{ NULL, "Display Name", NULL, "user", "MISSING_DOMAIN", TRUE }, 0 },
{ "\"\" <user@domain>", "<user@domain>", NULL,
{ NULL, NULL, NULL, "user", "domain", FALSE },
{ NULL, NULL, NULL, "user", "domain", FALSE } },
{ NULL, NULL, NULL, "user", "domain", FALSE }, 0 },

/* <@route:user@domain> -> <@route:user@domain> */
{ "<@route:user@domain>", NULL, NULL,
{ NULL, NULL, "@route", "user", "domain", FALSE },
{ NULL, NULL, "@route", "user", "domain", FALSE } },
{ NULL, NULL, "@route", "user", "domain", FALSE }, 0 },
{ "<@route,@route2:user@domain>", NULL, NULL,
{ NULL, NULL, "@route,@route2", "user", "domain", FALSE },
{ NULL, NULL, "@route,@route2", "user", "domain", FALSE } },
{ NULL, NULL, "@route,@route2", "user", "domain", FALSE }, 0 },
{ "<@route@route2:user@domain>", "<@route,@route2:user@domain>", NULL,
{ NULL, NULL, "@route,@route2", "user", "domain", FALSE },
{ NULL, NULL, "@route,@route2", "user", "domain", FALSE } },
{ NULL, NULL, "@route,@route2", "user", "domain", FALSE }, 0 },
{ "<@route@route2:user>", "<@route,@route2:user>", "<@route,@route2:user@MISSING_DOMAIN>",
{ NULL, NULL, "@route,@route2", "user", "", TRUE },
{ NULL, NULL, "@route,@route2", "user", "MISSING_DOMAIN", TRUE } },
{ NULL, NULL, "@route,@route2", "user", "MISSING_DOMAIN", TRUE }, 0 },
{ "<@route@route2:\"\"@domain>", "<@route,@route2:\"\"@domain>", NULL,
{ NULL, NULL, "@route,@route2", "", "domain", FALSE },
{ NULL, NULL, "@route,@route2", "", "domain", FALSE } },
{ NULL, NULL, "@route,@route2", "", "domain", FALSE }, 0 },

/* Display Name <@route:user@domain> ->
"Display Name" <@route:user@domain> */
{ "Display Name <@route:user@domain>", "\"Display Name\" <@route:user@domain>", NULL,
{ NULL, "Display Name", "@route", "user", "domain", FALSE },
{ NULL, "Display Name", "@route", "user", "domain", FALSE } },
{ NULL, "Display Name", "@route", "user", "domain", FALSE }, 0 },
{ "Display Name <@route,@route2:user@domain>", "\"Display Name\" <@route,@route2:user@domain>", NULL,
{ NULL, "Display Name", "@route,@route2", "user", "domain", FALSE },
{ NULL, "Display Name", "@route,@route2", "user", "domain", FALSE } },
{ NULL, "Display Name", "@route,@route2", "user", "domain", FALSE }, 0 },
{ "Display Name <@route@route2:user@domain>", "\"Display Name\" <@route,@route2:user@domain>", NULL,
{ NULL, "Display Name", "@route,@route2", "user", "domain", FALSE },
{ NULL, "Display Name", "@route,@route2", "user", "domain", FALSE } },
{ NULL, "Display Name", "@route,@route2", "user", "domain", FALSE }, 0 },
{ "Display Name <@route@route2:user>", "\"Display Name\" <@route,@route2:user>", "\"Display Name\" <@route,@route2:user@MISSING_DOMAIN>",
{ NULL, "Display Name", "@route,@route2", "user", "", TRUE },
{ NULL, "Display Name", "@route,@route2", "user", "MISSING_DOMAIN", TRUE } },
{ NULL, "Display Name", "@route,@route2", "user", "MISSING_DOMAIN", TRUE }, 0 },
{ "Display Name <@route@route2:\"\"@domain>", "\"Display Name\" <@route,@route2:\"\"@domain>", NULL,
{ NULL, "Display Name", "@route,@route2", "", "domain", FALSE },
{ NULL, "Display Name", "@route,@route2", "", "domain", FALSE } },
{ NULL, "Display Name", "@route,@route2", "", "domain", FALSE }, 0 },

/* other tests: */
{ "\"foo: <a@b>;,\" <user@domain>", NULL, NULL,
{ NULL, "foo: <a@b>;,", NULL, "user", "domain", FALSE },
{ NULL, "foo: <a@b>;,", NULL, "user", "domain", FALSE } },
{ NULL, "foo: <a@b>;,", NULL, "user", "domain", FALSE }, 0 },
{ "<>", "", "<MISSING_MAILBOX@MISSING_DOMAIN>",
{ NULL, NULL, NULL, "", "", TRUE },
{ NULL, NULL, NULL, "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE } },
{ NULL, NULL, NULL, "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE }, 0 },
{ "<@>", "", "<INVALID_ROUTE:MISSING_MAILBOX@MISSING_DOMAIN>",
{ NULL, NULL, NULL, "", "", TRUE },
{ NULL, NULL, "INVALID_ROUTE", "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE } },
{ NULL, NULL, "INVALID_ROUTE", "MISSING_MAILBOX", "MISSING_DOMAIN", TRUE }, 0 },
};
static struct message_address group_prefix = {
NULL, NULL, NULL, "group", NULL, FALSE
Expand Down Expand Up @@ -231,6 +236,9 @@ static void test_message_address(void)
wanted_string = test->input;
test_assert_idx(strcmp(str_c(str), wanted_string) == 0, i);

if ((test->flags & TEST_MESSAGE_ADDRESS_FLAG_SKIP_LIST) != 0)
continue;

/* test the address as a list of itself */
for (unsigned int list_length = 2; list_length <= 5; list_length++) {
str_truncate(group, 0);
Expand Down

0 comments on commit ccde1a8

Please sign in to comment.