153a5a1b3Sopenharmony_ci#ifdef HAVE_CONFIG_H 253a5a1b3Sopenharmony_ci#include <config.h> 353a5a1b3Sopenharmony_ci#endif 453a5a1b3Sopenharmony_ci 553a5a1b3Sopenharmony_ci#include <stdio.h> 653a5a1b3Sopenharmony_ci#include <check.h> 753a5a1b3Sopenharmony_ci 853a5a1b3Sopenharmony_ci#include <pulse/xmalloc.h> 953a5a1b3Sopenharmony_ci 1053a5a1b3Sopenharmony_ci#include <pulsecore/strlist.h> 1153a5a1b3Sopenharmony_ci#include <pulsecore/core-util.h> 1253a5a1b3Sopenharmony_ci 1353a5a1b3Sopenharmony_ciSTART_TEST (strlist_test) { 1453a5a1b3Sopenharmony_ci char *t, *u; 1553a5a1b3Sopenharmony_ci pa_strlist *l = NULL; 1653a5a1b3Sopenharmony_ci 1753a5a1b3Sopenharmony_ci l = pa_strlist_prepend(l, "e"); 1853a5a1b3Sopenharmony_ci l = pa_strlist_prepend(l, "d"); 1953a5a1b3Sopenharmony_ci l = pa_strlist_prepend(l, "c"); 2053a5a1b3Sopenharmony_ci l = pa_strlist_prepend(l, "b"); 2153a5a1b3Sopenharmony_ci l = pa_strlist_prepend(l, "a"); 2253a5a1b3Sopenharmony_ci 2353a5a1b3Sopenharmony_ci t = pa_strlist_to_string(l); 2453a5a1b3Sopenharmony_ci pa_strlist_free(l); 2553a5a1b3Sopenharmony_ci 2653a5a1b3Sopenharmony_ci fprintf(stderr, "1: %s\n", t); 2753a5a1b3Sopenharmony_ci fail_unless(pa_streq(t, "a b c d e")); 2853a5a1b3Sopenharmony_ci 2953a5a1b3Sopenharmony_ci l = pa_strlist_parse(t); 3053a5a1b3Sopenharmony_ci pa_xfree(t); 3153a5a1b3Sopenharmony_ci 3253a5a1b3Sopenharmony_ci t = pa_strlist_to_string(l); 3353a5a1b3Sopenharmony_ci fprintf(stderr, "2: %s\n", t); 3453a5a1b3Sopenharmony_ci fail_unless(pa_streq(t, "a b c d e")); 3553a5a1b3Sopenharmony_ci pa_xfree(t); 3653a5a1b3Sopenharmony_ci 3753a5a1b3Sopenharmony_ci l = pa_strlist_pop(l, &u); 3853a5a1b3Sopenharmony_ci fprintf(stderr, "3: %s\n", u); 3953a5a1b3Sopenharmony_ci fail_unless(pa_streq(u, "a")); 4053a5a1b3Sopenharmony_ci pa_xfree(u); 4153a5a1b3Sopenharmony_ci 4253a5a1b3Sopenharmony_ci l = pa_strlist_remove(l, "c"); 4353a5a1b3Sopenharmony_ci 4453a5a1b3Sopenharmony_ci t = pa_strlist_to_string(l); 4553a5a1b3Sopenharmony_ci fprintf(stderr, "4: %s\n", t); 4653a5a1b3Sopenharmony_ci fail_unless(pa_streq(t, "b d e")); 4753a5a1b3Sopenharmony_ci pa_xfree(t); 4853a5a1b3Sopenharmony_ci 4953a5a1b3Sopenharmony_ci pa_strlist_free(l); 5053a5a1b3Sopenharmony_ci} 5153a5a1b3Sopenharmony_ciEND_TEST 5253a5a1b3Sopenharmony_ci 5353a5a1b3Sopenharmony_ciint main(int argc, char *argv[]) { 5453a5a1b3Sopenharmony_ci int failed = 0; 5553a5a1b3Sopenharmony_ci Suite *s; 5653a5a1b3Sopenharmony_ci TCase *tc; 5753a5a1b3Sopenharmony_ci SRunner *sr; 5853a5a1b3Sopenharmony_ci 5953a5a1b3Sopenharmony_ci s = suite_create("StrList"); 6053a5a1b3Sopenharmony_ci tc = tcase_create("strlist"); 6153a5a1b3Sopenharmony_ci tcase_add_test(tc, strlist_test); 6253a5a1b3Sopenharmony_ci suite_add_tcase(s, tc); 6353a5a1b3Sopenharmony_ci 6453a5a1b3Sopenharmony_ci sr = srunner_create(s); 6553a5a1b3Sopenharmony_ci srunner_run_all(sr, CK_NORMAL); 6653a5a1b3Sopenharmony_ci failed = srunner_ntests_failed(sr); 6753a5a1b3Sopenharmony_ci srunner_free(sr); 6853a5a1b3Sopenharmony_ci 6953a5a1b3Sopenharmony_ci return (failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE; 7053a5a1b3Sopenharmony_ci} 71