X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Ftest%2Ftest-strv.c;h=de5cef0b17ec3c3757e8e1329b1969b9fc04d8d7;hp=c3d536d0579bca2c12bb9613d76279bdb2ad6a87;hb=02f19706a9fd96e05c9ed16aa55ba3d03d008167;hpb=fb15be839500c39f6c2f006f45306d439e1a7add diff --git a/src/test/test-strv.c b/src/test/test-strv.c index c3d536d05..de5cef0b1 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();