core/playlist: Add playlist_deinit() function

Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
Anna Schumaker 2015-12-09 09:20:18 -05:00
parent b1c5d42387
commit 1f5ce9e0d1
4 changed files with 34 additions and 0 deletions

View File

@ -24,6 +24,7 @@ void core :: init(struct core_init_data *init)
void core :: deinit()
{
playlist_deinit();
collection_deinit();
tags_deinit();
filter_deinit();

View File

@ -102,6 +102,12 @@ void playlist_init(struct queue_ops *ops)
track_get(it.it_val));
}
void playlist_deinit()
{
queue_deinit(&playlist_q);
db_deinit(&playlist_db);
}
bool playlist :: has(struct track *track, const std::string &name)
{
if (playlist_db.db_size == 0)

View File

@ -83,4 +83,7 @@ namespace playlist
/* Called to initialize the playlist manager. */
void playlist_init(struct queue_ops *);
/* Called to deinitialize the playlist manager. */
void playlist_deinit();
#endif /* OCARINA_CORE_PLAYLIST_H */

View File

@ -34,12 +34,22 @@ static void test_init()
test_equal(GPOINTER_TO_INT(list->data), COMPARE_YEAR);
list = g_slist_next(list);
test_equal(GPOINTER_TO_INT(list->data), COMPARE_TRACK);
playlist_deinit();
collection_deinit();
tags_deinit();
filter_deinit();
}
static void test_queue()
{
queue *q = playlist :: get_queue();
test_cp_data_dir();
filter_init();
tags_init();
collection_init(NULL);
playlist_init(NULL);
playlist :: select("Banned");
test_equal(queue_size(q), (unsigned)4);
@ -120,10 +130,24 @@ static void test_has()
} test_loop_passed();
}
static void test_deinit()
{
struct queue *q = playlist :: get_queue();
playlist_deinit();
collection_deinit();
tags_deinit();
filter_deinit();
test_equal(queue_size(q), 0);
test_equal(q->q_sort, NULL);
}
DECLARE_UNIT_TESTS(
UNIT_TEST("Playlist Initialization", test_init),
UNIT_TEST("Playlist Queue", test_queue),
UNIT_TEST("Playlist Add", test_add),
UNIT_TEST("Playlist Delete", test_delete),
UNIT_TEST("Playlist Has", test_has),
UNIT_TEST("Playlist Deinit", test_deinit),
);