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(Idle)
|
||||||
gui_unit_test(Sidebar)
|
gui_unit_test(Sidebar)
|
||||||
gui_unit_test(Playlist)
|
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/playlist.c") ]
|
||||||
gui_objs += [ env.Object("../../gui/collection.c") ]
|
gui_objs += [ env.Object("../../gui/collection.c") ]
|
||||||
gui_objs += [ env.Object("../../gui/artwork.c") ]
|
gui_objs += [ env.Object("../../gui/artwork.c") ]
|
||||||
res += [ GuiTest("audio") ]
|
gui_objs += [ env.Object("../../gui/auido.c") ]
|
||||||
|
|
||||||
ignore.close()
|
ignore.close()
|
||||||
Return("res")
|
Return("res")
|
||||||
|
|
|
@ -58,21 +58,12 @@ static void test_audio()
|
||||||
struct db_entry *dbe, *next;
|
struct db_entry *dbe, *next;
|
||||||
struct track *track;
|
struct track *track;
|
||||||
gchar *duration;
|
gchar *duration;
|
||||||
int argc = 0;
|
|
||||||
|
|
||||||
gtk_init(&argc, NULL);
|
g_assert_true(gtk_widget_is_visible(gui_builder_widget("o_play")));
|
||||||
gui_builder_init("share/ocarina/ocarina6.glade");
|
g_assert_false(gtk_widget_is_visible(gui_builder_widget("o_pause")));
|
||||||
gui_queue_model_init();
|
g_assert_cmpstr_free(test_get_pause_text(), ==, "(disabled)");
|
||||||
|
g_assert_false(test_get_toggle_state("o_favorite"));
|
||||||
test_equal(gtk_widget_is_visible(gui_builder_widget("o_play")), true);
|
g_assert_false(test_get_toggle_state("o_hide"));
|
||||||
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()) {};
|
|
||||||
|
|
||||||
db_for_each(dbe, next, track_db_get()) {
|
db_for_each(dbe, next, track_db_get()) {
|
||||||
if (TRACK(dbe)->tr_track == 1) {
|
if (TRACK(dbe)->tr_track == 1) {
|
||||||
|
@ -83,65 +74,78 @@ static void test_audio()
|
||||||
|
|
||||||
playlist_add(PL_SYSTEM, "Favorites", track);
|
playlist_add(PL_SYSTEM, "Favorites", track);
|
||||||
playlist_add(PL_SYSTEM, "Hidden", 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);
|
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);
|
duration = string_sec2str(track->tr_length);
|
||||||
test_equal(test_get_label_text("o_title"), track->tr_title);
|
g_assert_cmpstr(test_get_label_text("o_title"), ==, track->tr_title);
|
||||||
test_equal(test_get_label_text("o_album"), track->tr_album->al_name);
|
g_assert_cmpstr(test_get_label_text("o_album"), ==, track->tr_album->al_name);
|
||||||
test_equal(test_get_label_text("o_artist"), track->tr_artist->ar_name);
|
g_assert_cmpstr(test_get_label_text("o_artist"), ==, track->tr_artist->ar_name);
|
||||||
test_equal(test_get_label_text("o_position"), "0:00");
|
g_assert_cmpstr(test_get_label_text("o_position"), ==, "0:00");
|
||||||
test_equal(test_get_label_text("o_duration"), duration);
|
g_assert_cmpstr(test_get_label_text("o_duration"), ==, duration);
|
||||||
test_equal(test_get_toggle_state("o_favorite"), (bool)true);
|
g_assert_true(test_get_toggle_state("o_favorite"));
|
||||||
test_equal(test_get_toggle_state("o_hide"), (bool)true);
|
g_assert_true(test_get_toggle_state("o_hide"));
|
||||||
g_free(duration);
|
g_free(duration);
|
||||||
|
|
||||||
test_click_button("o_play");
|
test_click_button("o_play");
|
||||||
test_equal(gtk_widget_is_visible(gui_builder_widget("o_play")), false);
|
g_assert_false(gtk_widget_is_visible(gui_builder_widget("o_play")));
|
||||||
test_equal(gtk_widget_is_visible(gui_builder_widget("o_pause")), true);
|
g_assert_true(gtk_widget_is_visible(gui_builder_widget("o_pause")));
|
||||||
|
|
||||||
test_click_button("o_pause");
|
test_click_button("o_pause");
|
||||||
test_equal(gtk_widget_is_visible(gui_builder_widget("o_play")), true);
|
g_assert_true(gtk_widget_is_visible(gui_builder_widget("o_play")));
|
||||||
test_equal(gtk_widget_is_visible(gui_builder_widget("o_pause")), false);
|
g_assert_false(gtk_widget_is_visible(gui_builder_widget("o_pause")));
|
||||||
|
|
||||||
test_set_pause_after(0);
|
test_set_pause_after(0);
|
||||||
audio_eos();
|
audio_eos();
|
||||||
test_equal(audio_cur_track()->tr_track, 2);
|
g_assert_cmpuint(audio_cur_track()->tr_track, ==, 2);
|
||||||
test_str_equal(test_get_pause_text(), "(disabled)");
|
g_assert_cmpstr_free(test_get_pause_text(), ==, "(disabled)");
|
||||||
|
|
||||||
test_click_button("o_next");
|
test_click_button("o_next");
|
||||||
test_equal(audio_cur_track()->tr_track, 3);
|
g_assert_cmpuint(audio_cur_track()->tr_track, ==, 3);
|
||||||
test_equal(test_get_toggle_state("o_favorite"), (bool)false);
|
g_assert_false(test_get_toggle_state("o_favorite"));
|
||||||
test_equal(test_get_toggle_state("o_hide"), (bool)false);
|
g_assert_false(test_get_toggle_state("o_hide"));
|
||||||
|
|
||||||
test_set_pause_after(1);
|
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();
|
audio_eos();
|
||||||
test_equal(audio_cur_track()->tr_track, 4);
|
g_assert_cmpuint(audio_cur_track()->tr_track, ==, 4);
|
||||||
test_str_equal(test_get_pause_text(), "this track");
|
g_assert_cmpstr_free(test_get_pause_text(), ==, "this track");
|
||||||
|
|
||||||
audio_eos();
|
audio_eos();
|
||||||
test_equal(audio_cur_track()->tr_track, 5);
|
g_assert_cmpuint(audio_cur_track()->tr_track, ==, 5);
|
||||||
test_str_equal(test_get_pause_text(), "(disabled)");
|
g_assert_cmpstr_free(test_get_pause_text(), ==, "(disabled)");
|
||||||
|
|
||||||
test_click_button("o_prev");
|
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_click_button("o_pause");
|
||||||
test_audio_seek(71 * GST_SECOND);
|
test_audio_seek(71 * GST_SECOND);
|
||||||
test_gui_audio_timeout();
|
test_gui_audio_timeout();
|
||||||
test_equal(test_get_label_text("o_position"), "1:11");
|
g_assert_cmpstr(test_get_label_text("o_position"), ==, "1:11");
|
||||||
test_equal((guint)gtk_adjustment_get_upper(
|
g_assert_cmpuint(gtk_adjustment_get_upper(GTK_ADJUSTMENT(gui_builder_object("o_progress"))),
|
||||||
GTK_ADJUSTMENT(gui_builder_object("o_progress"))),
|
==, audio_cur_track()->tr_length);
|
||||||
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_window_deinit();
|
||||||
gui_queue_model_deinit();
|
gui_queue_model_deinit();
|
||||||
gui_builder_deinit();
|
gui_builder_deinit();
|
||||||
|
core_deinit();
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
DECLARE_UNIT_TESTS(
|
|
||||||
UNIT_TEST("Audio GUI", test_audio),
|
|
||||||
);
|
|
||||||
|
|
Loading…
Reference in New Issue