153a5a1b3Sopenharmony_ci#ifdef HAVE_CONFIG_H
253a5a1b3Sopenharmony_ci#include <config.h>
353a5a1b3Sopenharmony_ci#endif
453a5a1b3Sopenharmony_ci
553a5a1b3Sopenharmony_ci#include <stdlib.h>
653a5a1b3Sopenharmony_ci#include <stdio.h>
753a5a1b3Sopenharmony_ci#include <assert.h>
853a5a1b3Sopenharmony_ci
953a5a1b3Sopenharmony_ci#include <check.h>
1053a5a1b3Sopenharmony_ci
1153a5a1b3Sopenharmony_ci#include <pulse/channelmap.h>
1253a5a1b3Sopenharmony_ci
1353a5a1b3Sopenharmony_ciSTART_TEST (channelmap_test) {
1453a5a1b3Sopenharmony_ci    char cm[PA_CHANNEL_MAP_SNPRINT_MAX];
1553a5a1b3Sopenharmony_ci    pa_channel_map map, map2;
1653a5a1b3Sopenharmony_ci
1753a5a1b3Sopenharmony_ci    pa_channel_map_init_auto(&map, 6, PA_CHANNEL_MAP_AIFF);
1853a5a1b3Sopenharmony_ci
1953a5a1b3Sopenharmony_ci    fprintf(stderr, "map: <%s>\n", pa_channel_map_snprint(cm, sizeof(cm), &map));
2053a5a1b3Sopenharmony_ci
2153a5a1b3Sopenharmony_ci    pa_channel_map_init_auto(&map, 6, PA_CHANNEL_MAP_AUX);
2253a5a1b3Sopenharmony_ci
2353a5a1b3Sopenharmony_ci    fprintf(stderr, "map: <%s>\n", pa_channel_map_snprint(cm, sizeof(cm), &map));
2453a5a1b3Sopenharmony_ci
2553a5a1b3Sopenharmony_ci    pa_channel_map_init_auto(&map, 6, PA_CHANNEL_MAP_ALSA);
2653a5a1b3Sopenharmony_ci
2753a5a1b3Sopenharmony_ci    fprintf(stderr, "map: <%s>\n", pa_channel_map_snprint(cm, sizeof(cm), &map));
2853a5a1b3Sopenharmony_ci
2953a5a1b3Sopenharmony_ci    pa_channel_map_init_extend(&map, 14, PA_CHANNEL_MAP_ALSA);
3053a5a1b3Sopenharmony_ci
3153a5a1b3Sopenharmony_ci    fprintf(stderr, "map: <%s>\n", pa_channel_map_snprint(cm, sizeof(cm), &map));
3253a5a1b3Sopenharmony_ci
3353a5a1b3Sopenharmony_ci    pa_channel_map_parse(&map2, cm);
3453a5a1b3Sopenharmony_ci
3553a5a1b3Sopenharmony_ci    fail_unless(pa_channel_map_equal(&map, &map2));
3653a5a1b3Sopenharmony_ci
3753a5a1b3Sopenharmony_ci    pa_channel_map_parse(&map2, "left,test");
3853a5a1b3Sopenharmony_ci}
3953a5a1b3Sopenharmony_ciEND_TEST
4053a5a1b3Sopenharmony_ci
4153a5a1b3Sopenharmony_ciint main(int argc, char *argv[]) {
4253a5a1b3Sopenharmony_ci    int failed = 0;
4353a5a1b3Sopenharmony_ci    Suite *s;
4453a5a1b3Sopenharmony_ci    TCase *tc;
4553a5a1b3Sopenharmony_ci    SRunner *sr;
4653a5a1b3Sopenharmony_ci
4753a5a1b3Sopenharmony_ci    s = suite_create("Channel Map");
4853a5a1b3Sopenharmony_ci    tc = tcase_create("channelmap");
4953a5a1b3Sopenharmony_ci    tcase_add_test(tc, channelmap_test);
5053a5a1b3Sopenharmony_ci    suite_add_tcase(s, tc);
5153a5a1b3Sopenharmony_ci
5253a5a1b3Sopenharmony_ci    sr = srunner_create(s);
5353a5a1b3Sopenharmony_ci    srunner_run_all(sr, CK_NORMAL);
5453a5a1b3Sopenharmony_ci    failed = srunner_ntests_failed(sr);
5553a5a1b3Sopenharmony_ci    srunner_free(sr);
5653a5a1b3Sopenharmony_ci
5753a5a1b3Sopenharmony_ci    return (failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
5853a5a1b3Sopenharmony_ci}
59