From c7332b0844e28d9b70c3c763b929f105c1056fe8 Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Mon, 2 Dec 2013 21:35:31 -0500 Subject: catalog: determine language from the filename --- src/journal/test-catalog.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/journal/test-catalog.c') diff --git a/src/journal/test-catalog.c b/src/journal/test-catalog.c index 5db5bed8de..863b9f4b51 100644 --- a/src/journal/test-catalog.c +++ b/src/journal/test-catalog.c @@ -120,6 +120,28 @@ static void test_catalog_update(void) { assert(r >= 0); } +static void test_catalog_file_lang(void) { + _cleanup_free_ char *lang = NULL, *lang2 = NULL, *lang3 = NULL; + + assert_se(catalog_file_lang("systemd.de_DE.catalog", &lang) == 1); + assert_se(streq(lang, "de_DE")); + + assert_se(catalog_file_lang("systemd..catalog", &lang2) == 0); + assert_se(lang2 == NULL); + + assert_se(catalog_file_lang("systemd.fr.catalog", &lang2) == 1); + assert_se(streq(lang2, "fr")); + + assert_se(catalog_file_lang("systemd.fr.catalog.gz", &lang3) == 0); + assert_se(lang3 == NULL); + + assert_se(catalog_file_lang("systemd.01234567890123456789012345678901.catalog", &lang3) == 0); + assert_se(lang3 == NULL); + + assert_se(catalog_file_lang("systemd.0123456789012345678901234567890.catalog", &lang3) == 1); + assert_se(streq(lang3, "0123456789012345678901234567890")); +} + int main(int argc, char *argv[]) { _cleanup_free_ char *text = NULL; int r; @@ -144,5 +166,7 @@ int main(int argc, char *argv[]) { if (database) unlink(database); + test_catalog_file_lang(); + return 0; } -- cgit v1.2.3-54-g00ecf