ocarina/tests/gui/sidebar.c

67 lines
1.7 KiB
C

/*
* Copyright 2015 (c) Anna Schumaker.
*/
#define TEST_NEED_AUDIO
#define TEST_NEED_COLLECTION
#define TEST_NEED_PLAYLIST
#include <core/collection.h>
#include <core/history.h>
#include <gui/builder.h>
#include <gui/settings.h>
#include <gui/sidebar.h>
#include <tests/gui.h>
#include <tests/test.h>
static void test_sidebar()
{
GtkPaned *paned;
int argc = 0;
test_equal(gui_settings_has("gui.sidebar.pos"), (bool)false);
gtk_init(&argc, NULL);
gui_builder_init("share/ocarina/ocarina6.glade");
gui_settings_init();
gui_sidebar_init();
paned = GTK_PANED(gui_builder_widget("o_sidebar"));
test_equal(gui_settings_has("gui.sidebar.pos"), (bool)false);
test_equal(gtk_paned_get_position(paned), 125);
gtk_paned_set_position(paned, 300);
test_equal(gui_settings_has("gui.sidebar.pos"), (bool)true);
test_equal(gui_settings_get("gui.sidebar.pos"), 300);
gui_settings_set("gui.sidebar.pos", 250);
gui_sidebar_init();
test_equal(gui_settings_get("gui.sidebar.pos"), 250);
test_equal(gtk_paned_get_position(paned), 250);
}
static void test_treeview()
{
struct queue *queue;
GtkTreeModel *model;
GtkTreeIter iter;
model = GTK_TREE_MODEL(gui_builder_object("o_sidebar_store"));
test_equal(gtk_tree_model_get_iter_first(model, &iter), true);
gtk_tree_model_get(model, &iter, 3, &queue, -1);
test_equal((void *)queue, (void *)collection_get_queue());
test_equal(gtk_tree_model_iter_next(model, &iter), true);
gtk_tree_model_get(model, &iter, 3, &queue, -1);
test_equal((void *)queue, (void *)history_get_queue());
test_equal(gtk_tree_model_iter_next(model, &iter), false);
gui_settings_deinit();
gui_builder_deinit();
}
DECLARE_UNIT_TESTS(
UNIT_TEST("Sidebar", test_sidebar),
UNIT_TEST("Sidebar Treeview", test_treeview),
);