1#ifdef HAVE_CONFIG_H 2#include <config.h> 3#endif 4 5#include <stdio.h> 6#include <check.h> 7 8#include <pulse/xmalloc.h> 9 10#include <pulsecore/strlist.h> 11#include <pulsecore/core-util.h> 12 13START_TEST (strlist_test) { 14 char *t, *u; 15 pa_strlist *l = NULL; 16 17 l = pa_strlist_prepend(l, "e"); 18 l = pa_strlist_prepend(l, "d"); 19 l = pa_strlist_prepend(l, "c"); 20 l = pa_strlist_prepend(l, "b"); 21 l = pa_strlist_prepend(l, "a"); 22 23 t = pa_strlist_to_string(l); 24 pa_strlist_free(l); 25 26 fprintf(stderr, "1: %s\n", t); 27 fail_unless(pa_streq(t, "a b c d e")); 28 29 l = pa_strlist_parse(t); 30 pa_xfree(t); 31 32 t = pa_strlist_to_string(l); 33 fprintf(stderr, "2: %s\n", t); 34 fail_unless(pa_streq(t, "a b c d e")); 35 pa_xfree(t); 36 37 l = pa_strlist_pop(l, &u); 38 fprintf(stderr, "3: %s\n", u); 39 fail_unless(pa_streq(u, "a")); 40 pa_xfree(u); 41 42 l = pa_strlist_remove(l, "c"); 43 44 t = pa_strlist_to_string(l); 45 fprintf(stderr, "4: %s\n", t); 46 fail_unless(pa_streq(t, "b d e")); 47 pa_xfree(t); 48 49 pa_strlist_free(l); 50} 51END_TEST 52 53int main(int argc, char *argv[]) { 54 int failed = 0; 55 Suite *s; 56 TCase *tc; 57 SRunner *sr; 58 59 s = suite_create("StrList"); 60 tc = tcase_create("strlist"); 61 tcase_add_test(tc, strlist_test); 62 suite_add_tcase(s, tc); 63 64 sr = srunner_create(s); 65 srunner_run_all(sr, CK_NORMAL); 66 failed = srunner_ntests_failed(sr); 67 srunner_free(sr); 68 69 return (failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE; 70} 71