X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-common%2Fstrlst-test.c;h=71f748d4a40e36999f0980d32a33c7df27757857;hb=c9acf48b993f5d49e57da1fda301350146acc630;hp=84d565aa79f13cb0fd0dd634048d4d025fe9ee40;hpb=f61b06f15ae185410e4d5795b4fd22aeb08bbb56;p=catta diff --git a/avahi-common/strlst-test.c b/avahi-common/strlst-test.c index 84d565a..71f748d 100644 --- a/avahi-common/strlst-test.c +++ b/avahi-common/strlst-test.c @@ -29,27 +29,37 @@ #include "strlst.h" #include "malloc.h" -int main(int argc, char *argv[]) { - char *t; +int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[]) { + char *t, *v; uint8_t data[1024]; - AvahiStringList *a = NULL, *b; + AvahiStringList *a = NULL, *b, *p; size_t size, n; + int r; a = avahi_string_list_new("prefix", "a", "b", NULL); a = avahi_string_list_add(a, "start"); - a = avahi_string_list_add(a, "foo"); + a = avahi_string_list_add(a, "foo=99"); a = avahi_string_list_add(a, "bar"); + a = avahi_string_list_add(a, ""); + a = avahi_string_list_add(a, ""); a = avahi_string_list_add(a, "quux"); + a = avahi_string_list_add(a, ""); a = avahi_string_list_add_arbitrary(a, (const uint8_t*) "null\0null", 9); - a = avahi_string_list_add(a, "end"); a = avahi_string_list_add_printf(a, "seven=%i %c", 7, 'x'); + a = avahi_string_list_add_pair(a, "blubb", "blaa"); + a = avahi_string_list_add_pair(a, "uxknurz", NULL); + a = avahi_string_list_add_pair_arbitrary(a, "uxknurz2", (const uint8_t*) "blafasel\0oerks", 14); + + a = avahi_string_list_add(a, "end"); t = avahi_string_list_to_string(a); printf("--%s--\n", t); avahi_free(t); - + + n = avahi_string_list_serialize(a, NULL, 0); size = avahi_string_list_serialize(a, data, sizeof(data)); + assert(size == n); printf("%u\n", size); @@ -62,9 +72,9 @@ int main(int argc, char *argv[]) { printf("\n"); - b = avahi_string_list_parse(data, size); + assert(avahi_string_list_parse(data, size, &b) == 0); - assert(avahi_string_list_equal(a, b)); + printf("equal: %i\n", avahi_string_list_equal(a, b)); t = avahi_string_list_to_string(b); printf("--%s--\n", t); @@ -79,9 +89,41 @@ int main(int argc, char *argv[]) { t = avahi_string_list_to_string(b); printf("--%s--\n", t); avahi_free(t); + + p = avahi_string_list_find(a, "seven"); + assert(p); + + r = avahi_string_list_get_pair(p, &t, &v, NULL); + assert(r >= 0); + assert(t); + assert(v); + + printf("<%s>=<%s>\n", t, v); + avahi_free(t); + avahi_free(v); + + p = avahi_string_list_find(a, "quux"); + assert(p); + + r = avahi_string_list_get_pair(p, &t, &v, NULL); + assert(r >= 0); + assert(t); + assert(!v); + + printf("<%s>=<%s>\n", t, v); + avahi_free(t); + avahi_free(v); avahi_string_list_free(a); avahi_string_list_free(b); + + n = avahi_string_list_serialize(NULL, NULL, 0); + size = avahi_string_list_serialize(NULL, data, sizeof(data)); + assert(size == 1); + assert(size == n); + + assert(avahi_string_list_parse(data, size, &a) == 0); + assert(!a); return 0; }