/* * Copyright 2015 (c) Anna Schumaker. */ #include #include #include #include #include GMainLoop *main_loop; static int test_on_idle(gpointer data) { g_main_loop_quit(main_loop); return G_SOURCE_CONTINUE; } static void test_window() { GtkWindow *window; main_loop = g_main_loop_new(NULL, FALSE); window = GTK_WINDOW(gui_builder_widget("o_window")); g_idle_add(test_on_idle, window); g_assert_false(settings_has("gui.window.width")); g_assert_false(settings_has("gui.window.height")); g_assert_cmpstr(gtk_window_get_title(window), ==, "Ocarina " CONFIG_VERSION); g_main_loop_run(main_loop); g_assert_true(settings_has("gui.window.width")); g_assert_true(settings_has("gui.window.height")); settings_set("gui.window.width", 800); settings_set("gui.window.height", 600); gui_window_init("share/ocarina/ocarina.png"); g_main_loop_run(main_loop); g_assert_cmpuint(settings_get("gui.window.width"), ==, 800); g_assert_cmpuint(settings_get("gui.window.height"), ==, 600); g_main_loop_unref(main_loop); } int main(int argc, char **argv) { int ret; gtk_init(&argc, NULL); settings_init(); gui_builder_init("share/ocarina/ocarina6.glade"); gui_view_init(); gui_window_init("share/ocarina/ocarina.png"); g_test_init(&argc, &argv, NULL); g_test_add_func("/Gui/Window", test_window); ret = g_test_run(); gui_window_deinit(); gui_builder_deinit(); settings_deinit(); return ret; }