From 79f022b3a5b1d3f7bfda3762ceacc88dd971fd39 Mon Sep 17 00:00:00 2001 From: kaotisk Date: Thu, 24 Apr 2025 02:01:54 +0300 Subject: [libaksettings] Updates --- c_implementation/tests/test_aksettings.c | 58 ++++++++++++++++++++++++++++++-- 1 file changed, 55 insertions(+), 3 deletions(-) (limited to 'c_implementation/tests/test_aksettings.c') diff --git a/c_implementation/tests/test_aksettings.c b/c_implementation/tests/test_aksettings.c index 3a74444..4e7a091 100644 --- a/c_implementation/tests/test_aksettings.c +++ b/c_implementation/tests/test_aksettings.c @@ -2,13 +2,32 @@ #include #include -int test_ak_settings_read_write_example() +static int test_ak_settings_read_example() { printf("Testing: %s\n", __func__); if (!ak_settings_load_settings_binary()) { ak_log_warning(__func__, "No existing settings or error loading.\n"); } + const char *bindir = ak_settings_get_setting("AK_BINDIR"); + if (bindir) + { + char *some_text; + asprintf(&some_text, "Current bin directory: %s\n", bindir); + ak_log_info(__func__, some_text); + } + ak_settings_free_settings(); + return 0; +} + +static int test_ak_settings_read_write_example() +{ + printf("Testing: %s\n", __func__); + if (!ak_settings_load_settings_binary()) + { + ak_log_warning(__func__, "No existing settings or error loading.\n"); + } + ak_settings_import_from_environment(); ak_settings_set_setting("username", "john_doe"); ak_settings_set_setting("theme", "dark"); ak_settings_set_setting("volume", "75"); @@ -26,11 +45,18 @@ int test_ak_settings_read_write_example() asprintf(&some_text, "Current theme: %s\n", theme); ak_log_info(__func__, some_text); } + const char *bindir = ak_settings_get_setting("AK_BINDIR"); + if (bindir) + { + char *some_text; + asprintf(&some_text, "Current bin directory: %s\n", bindir); + ak_log_info(__func__, some_text); + } ak_settings_free_settings(); return 0; } -int test_ak_settings() +static int test_ak_settings() { char *some_text; if ( test_ak_settings_read_write_example() == 0 ) @@ -47,7 +73,33 @@ int test_ak_settings() } } +static void test_import() +{ + ak_settings_import_from_environment(); +} + +static int test_read_and_dump() +{ + printf("Testing: %s\n", __func__); + if (!ak_settings_load_settings_binary()) + { + ak_log_warning(__func__, "No existing settings or error loading.\n"); + } + AKSetting* ak_settings; + ak_settings = ak_settings_get_all(); + for ( int i = 0; ak_settings[i].key != NULL; ++i ) + { + printf("%s=%s\n", ak_settings[i].key, ak_settings[i].value); + } + ak_settings_free_settings(); + return 0; +} + int main() { - return test_ak_settings(); + test_import(); + test_ak_settings(); + test_ak_settings_read_example(); + test_read_and_dump(); + return 0; } -- cgit v1.2.3