tests: Build gui audio test with ctest
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
59839547e2
commit
19ca9d932b
|
@ -13,3 +13,4 @@ gui_unit_test(Window)
|
|||
gui_unit_test(Idle)
|
||||
gui_unit_test(Sidebar)
|
||||
gui_unit_test(Playlist)
|
||||
gui_unit_test(Audio)
|
||||
|
|
|
@ -35,7 +35,7 @@ gui_objs += [ env.Object("../../gui/sidebar.c") ]
|
|||
gui_objs += [ env.Object("../../gui/playlist.c") ]
|
||||
gui_objs += [ env.Object("../../gui/collection.c") ]
|
||||
gui_objs += [ env.Object("../../gui/artwork.c") ]
|
||||
res += [ GuiTest("audio") ]
|
||||
gui_objs += [ env.Object("../../gui/auido.c") ]
|
||||
|
||||
ignore.close()
|
||||
Return("res")
|
||||
|
|
|
@ -58,21 +58,12 @@ static void test_audio()
|
|||
struct db_entry *dbe, *next;
|
||||
struct track *track;
|
||||
gchar *duration;
|
||||
int argc = 0;
|
||||
|
||||
gtk_init(&argc, NULL);
|
||||
gui_builder_init("share/ocarina/ocarina6.glade");
|
||||
gui_queue_model_init();
|
||||
|
||||
test_equal(gtk_widget_is_visible(gui_builder_widget("o_play")), true);
|
||||
test_equal(gtk_widget_is_visible(gui_builder_widget("o_pause")), false);
|
||||
test_str_equal(test_get_pause_text(), "(disabled)");
|
||||
test_equal(test_get_toggle_state("o_favorite"), (bool)false);
|
||||
test_equal(test_get_toggle_state("o_hide"), (bool)false);
|
||||
|
||||
core_init(&argc, NULL, &init_data);
|
||||
playlist_new(PL_LIBRARY, "tests/Music/Hyrule Symphony");
|
||||
while (idle_run_task()) {};
|
||||
g_assert_true(gtk_widget_is_visible(gui_builder_widget("o_play")));
|
||||
g_assert_false(gtk_widget_is_visible(gui_builder_widget("o_pause")));
|
||||
g_assert_cmpstr_free(test_get_pause_text(), ==, "(disabled)");
|
||||
g_assert_false(test_get_toggle_state("o_favorite"));
|
||||
g_assert_false(test_get_toggle_state("o_hide"));
|
||||
|
||||
db_for_each(dbe, next, track_db_get()) {
|
||||
if (TRACK(dbe)->tr_track == 1) {
|
||||
|
@ -83,65 +74,78 @@ static void test_audio()
|
|||
|
||||
playlist_add(PL_SYSTEM, "Favorites", track);
|
||||
playlist_add(PL_SYSTEM, "Hidden", track);
|
||||
test_equal(playlist_has(PL_SYSTEM, "Collection", track), (bool)false);
|
||||
g_assert_false(playlist_has(PL_SYSTEM, "Collection", track));
|
||||
audio_load(track);
|
||||
test_equal(audio_cur_track()->tr_track, track->tr_track);
|
||||
g_assert_cmpuint(audio_cur_track()->tr_track, ==, track->tr_track);
|
||||
|
||||
duration = string_sec2str(track->tr_length);
|
||||
test_equal(test_get_label_text("o_title"), track->tr_title);
|
||||
test_equal(test_get_label_text("o_album"), track->tr_album->al_name);
|
||||
test_equal(test_get_label_text("o_artist"), track->tr_artist->ar_name);
|
||||
test_equal(test_get_label_text("o_position"), "0:00");
|
||||
test_equal(test_get_label_text("o_duration"), duration);
|
||||
test_equal(test_get_toggle_state("o_favorite"), (bool)true);
|
||||
test_equal(test_get_toggle_state("o_hide"), (bool)true);
|
||||
g_assert_cmpstr(test_get_label_text("o_title"), ==, track->tr_title);
|
||||
g_assert_cmpstr(test_get_label_text("o_album"), ==, track->tr_album->al_name);
|
||||
g_assert_cmpstr(test_get_label_text("o_artist"), ==, track->tr_artist->ar_name);
|
||||
g_assert_cmpstr(test_get_label_text("o_position"), ==, "0:00");
|
||||
g_assert_cmpstr(test_get_label_text("o_duration"), ==, duration);
|
||||
g_assert_true(test_get_toggle_state("o_favorite"));
|
||||
g_assert_true(test_get_toggle_state("o_hide"));
|
||||
g_free(duration);
|
||||
|
||||
test_click_button("o_play");
|
||||
test_equal(gtk_widget_is_visible(gui_builder_widget("o_play")), false);
|
||||
test_equal(gtk_widget_is_visible(gui_builder_widget("o_pause")), true);
|
||||
g_assert_false(gtk_widget_is_visible(gui_builder_widget("o_play")));
|
||||
g_assert_true(gtk_widget_is_visible(gui_builder_widget("o_pause")));
|
||||
|
||||
test_click_button("o_pause");
|
||||
test_equal(gtk_widget_is_visible(gui_builder_widget("o_play")), true);
|
||||
test_equal(gtk_widget_is_visible(gui_builder_widget("o_pause")), false);
|
||||
g_assert_true(gtk_widget_is_visible(gui_builder_widget("o_play")));
|
||||
g_assert_false(gtk_widget_is_visible(gui_builder_widget("o_pause")));
|
||||
|
||||
test_set_pause_after(0);
|
||||
audio_eos();
|
||||
test_equal(audio_cur_track()->tr_track, 2);
|
||||
test_str_equal(test_get_pause_text(), "(disabled)");
|
||||
g_assert_cmpuint(audio_cur_track()->tr_track, ==, 2);
|
||||
g_assert_cmpstr_free(test_get_pause_text(), ==, "(disabled)");
|
||||
|
||||
test_click_button("o_next");
|
||||
test_equal(audio_cur_track()->tr_track, 3);
|
||||
test_equal(test_get_toggle_state("o_favorite"), (bool)false);
|
||||
test_equal(test_get_toggle_state("o_hide"), (bool)false);
|
||||
g_assert_cmpuint(audio_cur_track()->tr_track, ==, 3);
|
||||
g_assert_false(test_get_toggle_state("o_favorite"));
|
||||
g_assert_false(test_get_toggle_state("o_hide"));
|
||||
|
||||
test_set_pause_after(1);
|
||||
test_str_equal(test_get_pause_text(), "next track");
|
||||
g_assert_cmpstr_free(test_get_pause_text(), ==, "next track");
|
||||
|
||||
audio_eos();
|
||||
test_equal(audio_cur_track()->tr_track, 4);
|
||||
test_str_equal(test_get_pause_text(), "this track");
|
||||
g_assert_cmpuint(audio_cur_track()->tr_track, ==, 4);
|
||||
g_assert_cmpstr_free(test_get_pause_text(), ==, "this track");
|
||||
|
||||
audio_eos();
|
||||
test_equal(audio_cur_track()->tr_track, 5);
|
||||
test_str_equal(test_get_pause_text(), "(disabled)");
|
||||
g_assert_cmpuint(audio_cur_track()->tr_track, ==, 5);
|
||||
g_assert_cmpstr_free(test_get_pause_text(), ==, "(disabled)");
|
||||
|
||||
test_click_button("o_prev");
|
||||
test_equal(audio_cur_track()->tr_track, 4);
|
||||
g_assert_cmpuint(audio_cur_track()->tr_track, ==, 4);
|
||||
|
||||
test_click_button("o_pause");
|
||||
test_audio_seek(71 * GST_SECOND);
|
||||
test_gui_audio_timeout();
|
||||
test_equal(test_get_label_text("o_position"), "1:11");
|
||||
test_equal((guint)gtk_adjustment_get_upper(
|
||||
GTK_ADJUSTMENT(gui_builder_object("o_progress"))),
|
||||
audio_cur_track()->tr_length);
|
||||
g_assert_cmpstr(test_get_label_text("o_position"), ==, "1:11");
|
||||
g_assert_cmpuint(gtk_adjustment_get_upper(GTK_ADJUSTMENT(gui_builder_object("o_progress"))),
|
||||
==, audio_cur_track()->tr_length);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int ret;
|
||||
|
||||
gtk_init(&argc, NULL);
|
||||
gui_builder_init("share/ocarina/ocarina6.glade");
|
||||
gui_queue_model_init();
|
||||
core_init(&argc, NULL, &init_data);
|
||||
playlist_new(PL_LIBRARY, "tests/Music/Hyrule Symphony");
|
||||
while (idle_run_task()) {};
|
||||
|
||||
g_test_init(&argc, &argv, NULL);
|
||||
g_test_add_func("/Gui/Audio", test_audio);
|
||||
ret = g_test_run();
|
||||
|
||||
gui_window_deinit();
|
||||
gui_queue_model_deinit();
|
||||
gui_builder_deinit();
|
||||
core_deinit();
|
||||
return ret;
|
||||
}
|
||||
|
||||
DECLARE_UNIT_TESTS(
|
||||
UNIT_TEST("Audio GUI", test_audio),
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue