diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/test/test-strv.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/test-strv.c b/src/test/test-strv.c index c3d536d057..de5cef0b17 100644 --- a/src/test/test-strv.c +++ b/src/test/test-strv.c @@ -282,6 +282,34 @@ static void test_strv_append(void) { assert_se(streq(c[0], "test3")); } +static void test_strv_foreach(void) { + _cleanup_strv_free_ char **a; + unsigned i = 0; + char **check; + + a = strv_new("one", "two", "three", NULL); + + assert_se(a); + + STRV_FOREACH(check, a) { + assert_se(streq(*check, input_table_multiple[i++])); + } +} + +static void test_strv_foreach_backwards(void) { + _cleanup_strv_free_ char **a; + unsigned i = 2; + char **check; + + a = strv_new("one", "two", "three", NULL); + + assert_se(a); + + STRV_FOREACH_BACKWARDS(check, a) { + assert_se(streq(*check, input_table_multiple[i--])); + } +} + static void test_strv_foreach_pair(void) { _cleanup_strv_free_ char **a = NULL; char **x, **y; @@ -298,6 +326,8 @@ static void test_strv_foreach_pair(void) { int main(int argc, char *argv[]) { test_specifier_printf(); + test_strv_foreach(); + test_strv_foreach_backwards(); test_strv_foreach_pair(); test_strv_find(); test_strv_find_prefix(); |