test-doveadm-util.c revision 35a2af0c24277e9b9d935271abc3b709fa856d3e
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi/* Copyright (c) 2016 Dovecot authors, see the included COPYING file */
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi#include "lib.h"
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi#include "test-common.h"
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi#include "doveadm-settings.h"
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi#include "doveadm-util.h"
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomistruct doveadm_settings *doveadm_settings; /* just to avoid linker error */
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomistatic void test_i_strccdascmp(void)
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi{
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_begin("i_strccdascmp()");
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("", "")==0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("", "-")!=0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("-", "")!=0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("-", "-")==0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("-\0baz", "-\0bar")==0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("", "a")!=0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("a", "")!=0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("a", "a")==0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("a-", "a-")==0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("a-a", "a-a")==0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("ca", "ba")!=0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("camel case", "camel case")==0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("camel case", "camel-case")==0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("camel case", "camelCase")==0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("camel case", "camel-case")==0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("camel-case", "camel-case")==0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("camelCase", "camel-case")==0);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("camel case", "camel Case")==-i_strccdascmp("camel Case", "camel case"));
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("camel-case", "camel Case")==-i_strccdascmp("camel Case", "camel-case"));
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_assert(i_strccdascmp("camel dase", "camel case")==-i_strccdascmp("camel case", "camel dase"));
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_end();
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi}
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomiint main(void)
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi{
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi static void (*test_functions[])(void) = {
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi test_i_strccdascmp,
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi NULL
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi };
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi return test_run(test_functions);
35a2af0c24277e9b9d935271abc3b709fa856d3eAki Tuomi}