ocarina/tests/gui/builder.c

50 lines
1.1 KiB
C

/*
* Copyright 2016 (c) Anna Schumaker.
*/
#include <gui/builder.h>
#include <tests/test.h>
static unsigned int gui_clicked = 0;
void test_builder_clicked()
{
gui_clicked++;
}
static void test_builder()
{
GObject *object;
GtkWidget *widget;
g_assert_nonnull(test_get_gui_builder());
object = gui_builder_object("button1");
g_assert_nonnull(object);
g_assert_true(G_IS_OBJECT(object));
widget = gui_builder_widget("button1");
g_assert_nonnull(widget);
g_assert_true(GTK_IS_WIDGET(widget));
g_assert_true(GTK_IS_BUTTON(widget));
g_assert_cmpint(gui_builder_widget_height("button1"), >, 0);
gtk_button_clicked(GTK_BUTTON(widget));
g_assert_cmpuint(gui_clicked, ==, 1);
gtk_widget_destroy(gui_builder_widget("window1"));
gui_builder_deinit();
g_assert_null(test_get_gui_builder());
g_assert_null(gui_builder_object("button1"));
g_assert_null(gui_builder_widget("button1"));
}
int main(int argc, char **argv)
{
gtk_init(&argc, NULL);
gui_builder_init("tests/gui/builder.ui");
g_test_init(&argc, &argv, NULL);
g_test_add_func("/Gui/Builder", test_builder);
return g_test_run();
}