diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:51:24 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:51:24 +0000 |
commit | f7548d6d28c313cf80e6f3ef89aed16a19815df1 (patch) | |
tree | a3f6f2a3f247293bee59ecd28e8cd8ceb6ca064a /src/lib/test-str-table.c | |
parent | Initial commit. (diff) | |
download | dovecot-f7548d6d28c313cf80e6f3ef89aed16a19815df1.tar.xz dovecot-f7548d6d28c313cf80e6f3ef89aed16a19815df1.zip |
Adding upstream version 1:2.3.19.1+dfsg1.upstream/1%2.3.19.1+dfsg1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/lib/test-str-table.c')
-rw-r--r-- | src/lib/test-str-table.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/lib/test-str-table.c b/src/lib/test-str-table.c new file mode 100644 index 0000000..ea97d14 --- /dev/null +++ b/src/lib/test-str-table.c @@ -0,0 +1,33 @@ +/* Copyright (c) 2014-2018 Dovecot authors, see the included COPYING file */ + +#include "test-lib.h" +#include "str-table.h" + +void test_str_table(void) +{ + struct str_table *table; + const char *key1, *key2, *key1_copy, *key2_copy; + + test_begin("str_table"); + table = str_table_init(); + + key1 = str_table_ref(table, "str1"); + key2 = str_table_ref(table, "str2"); + test_assert(key1 != key2); + key1_copy = str_table_ref(table, "str1"); + test_assert(key1_copy == key1); + key2_copy = str_table_ref(table, "str2"); + test_assert(key2_copy == key2); + + str_table_unref(table, &key1); + test_assert(key1 == NULL); + str_table_unref(table, &key1_copy); + + str_table_unref(table, &key2); + str_table_unref(table, &key2_copy); + test_assert(str_table_is_empty(table)); + + str_table_deinit(&table); + test_assert(table == NULL); + test_end(); +} |