From d4ac85c6f6d8547f8b835009ae431438de72df28 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 18 Jul 2013 20:22:29 +0200 Subject: util: add split_pair() for splitting foo=bar strings --- src/test/test-util.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/test/test-util.c') diff --git a/src/test/test-util.c b/src/test/test-util.c index 4768310fbe..315bc419c2 100644 --- a/src/test/test-util.c +++ b/src/test/test-util.c @@ -521,6 +521,28 @@ static void test_parse_user_at_host(void) { assert_se(streq(host, "mikescomputer")); } +static void test_split_pair(void) { + _cleanup_free_ char *a = NULL, *b = NULL; + + assert_se(split_pair("", "", &a, &b) == -EINVAL); + assert_se(split_pair("foo=bar", "", &a, &b) == -EINVAL); + assert_se(split_pair("", "=", &a, &b) == -EINVAL); + assert_se(split_pair("foo=bar", "=", &a, &b) >= 0); + assert_se(streq(a, "foo")); + assert_se(streq(b, "bar")); + free(a); + free(b); + assert_se(split_pair("==", "==", &a, &b) >= 0); + assert_se(streq(a, "")); + assert_se(streq(b, "")); + free(a); + free(b); + + assert_se(split_pair("===", "==", &a, &b) >= 0); + assert_se(streq(a, "")); + assert_se(streq(b, "=")); +} + int main(int argc, char *argv[]) { test_streq_ptr(); test_first_word(); @@ -555,6 +577,7 @@ int main(int argc, char *argv[]) { test_strextend(); test_strrep(); test_parse_user_at_host(); + test_split_pair(); return 0; } -- cgit v1.2.3-54-g00ecf