ocarina/tests/gui/settings.c

58 lines
1.8 KiB
C

/*
* Copyright 2015 (c) Anna Schumaker.
*/
#include <core/file.h>
#include <gui/settings.h>
#include <tests/test.h>
static void test_settings()
{
struct file f = FILE_INIT("settings", 0, 0);
g_assert_null(test_get_gui_settings());
gui_settings_set("test.value1", 42);
gui_settings_set("test.value2", 84);
g_assert_false(gui_settings_has("test.value1"));
g_assert_cmpuint(gui_settings_get("test.value1"), ==, 0);
g_assert_cmpuint(gui_settings_get("test.value2"), ==, 0);
g_assert_false(file_exists(&f));
gui_settings_init();
g_assert_nonnull(test_get_gui_settings());
g_assert_false(gui_settings_has("test.value1"));
gui_settings_set("test.value1", 42);
g_assert_true(gui_settings_has("test.value1"));
g_assert_false(gui_settings_has("test.value2"));
g_assert_true(file_exists(&f));
gui_settings_set("test.value2", 84);
g_assert_true(gui_settings_has("test.value2"));
g_assert_cmpuint(gui_settings_get("test.value1"), ==, 42);
g_assert_cmpuint(gui_settings_get("test.value2"), ==, 84);
gui_settings_deinit();
g_assert_null(test_get_gui_settings());
gui_settings_set("test.value1", 42);
gui_settings_set("test.value2", 84);
g_assert_cmpuint(gui_settings_get("test.value1"), ==, 0);
g_assert_cmpuint(gui_settings_get("test.value2"), ==, 0);
g_assert_false(gui_settings_has("test.value1"));
g_assert_false(gui_settings_has("test.value2"));
g_assert_true(file_exists(&f));
gui_settings_init();
g_assert_nonnull(test_get_gui_settings());
g_assert_cmpuint(gui_settings_get("test.value1"), ==, 42);
g_assert_cmpuint(gui_settings_get("test.value2"), ==, 84);
g_assert_true(gui_settings_has("test.value1"));
g_assert_true(gui_settings_has("test.value2"));
gui_settings_deinit();
}
int main(int argc, char **argv)
{
g_test_init(&argc, &argv, NULL);
g_test_add_func("/Gui/Settings", test_settings);
return g_test_run();
}