core/playlist: Add playlist_size() function
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
00dd72d46e
commit
2c18f9e715
|
@ -42,6 +42,12 @@ bool playlist_has(const gchar *name, struct track *track)
|
|||
return queue_has(queue, track);
|
||||
}
|
||||
|
||||
unsigned int playlist_size(const gchar *name)
|
||||
{
|
||||
struct queue *queue = pl_system.pl_get_queue(name);
|
||||
return queue ? queue_size(queue) : 0;
|
||||
}
|
||||
|
||||
struct queue *playlist_get_queue(const gchar *name)
|
||||
{
|
||||
return pl_system.pl_get_queue(name);
|
||||
|
|
|
@ -32,6 +32,9 @@ void playlist_update(const gchar *);
|
|||
/* Called to check if a specific track is in the playlist. */
|
||||
bool playlist_has(const gchar *, struct track *);
|
||||
|
||||
/* Called to find the number of tracks in the playlist. */
|
||||
unsigned int playlist_size(const gchar *);
|
||||
|
||||
|
||||
/* Called to access the playlist queue. */
|
||||
struct queue *playlist_get_queue(const gchar *);
|
||||
|
|
|
@ -59,7 +59,6 @@ static void test_init()
|
|||
|
||||
static void test_add()
|
||||
{
|
||||
struct queue *q = playlist_get_queue("Favorites");
|
||||
struct track *track = track_get(0);
|
||||
|
||||
test_equal(playlist_add("Favorites", NULL), (bool)false);
|
||||
|
@ -68,47 +67,42 @@ static void test_add()
|
|||
test_equal(playlist_has("Favorites", track), (bool)false);
|
||||
test_equal(playlist_add("Favorites", track), (bool)true);
|
||||
test_equal(playlist_has("Favorites", track), (bool)true);
|
||||
q = playlist_get_queue("Favorites");
|
||||
test_equal(queue_size(q), 1);
|
||||
test_equal(playlist_size("Favorites"), 1);
|
||||
test_equal(playlist_add("Favorites", track), (bool)false);
|
||||
test_equal(queue_size(q), 1);
|
||||
test_equal(playlist_size("Favorites"), 1);
|
||||
test_equal(playlist_add("Favorites", track_get(1)), (bool)true);
|
||||
test_equal(queue_size(q), 2);
|
||||
test_equal(playlist_size("Favorites"), 2);
|
||||
|
||||
track = track_get(2);
|
||||
q = playlist_get_queue("Hidden");
|
||||
test_equal(playlist_has("Hidden", track), (bool)false);
|
||||
test_equal(playlist_add("Hidden", track), (bool)true);
|
||||
test_equal(playlist_has("Hidden", track), (bool)true);
|
||||
q = playlist_get_queue("Hidden");
|
||||
test_equal(queue_size(q), 1);
|
||||
test_equal(playlist_size("Hidden"), 1);
|
||||
}
|
||||
|
||||
static void test_remove()
|
||||
{
|
||||
struct queue *q = playlist_get_queue("Favorites");
|
||||
struct track *track = track_get(0);
|
||||
|
||||
/* The important thing here is that we don't crash */
|
||||
test_equal(playlist_remove("Favorites", NULL), (bool)false);
|
||||
|
||||
test_equal(queue_size(q), 2);
|
||||
test_equal(playlist_size("Favorites"), 2);
|
||||
test_equal(playlist_has("Favorites", track), (bool)true);
|
||||
test_equal(playlist_remove("Favorites", track), (bool)true);
|
||||
test_equal(playlist_has("Favorites", track), (bool)false);
|
||||
test_equal(queue_size(q), 1);
|
||||
test_equal(playlist_size("Favorites"), 1);
|
||||
test_equal(playlist_remove("Favorites", track), (bool)false);
|
||||
test_equal(queue_size(q), 1);
|
||||
test_equal(playlist_size("Favorites"), 1);
|
||||
test_equal(playlist_remove("Favorites", track_get(1)), (bool)true);
|
||||
test_equal(queue_size(q), 0);
|
||||
test_equal(playlist_size("Favorites"), 0);
|
||||
|
||||
q = playlist_get_queue("Hidden");
|
||||
track = track_get(2);
|
||||
test_equal(queue_size(q), 1);
|
||||
test_equal(playlist_size("Hidden"), 1);
|
||||
test_equal(playlist_has("Hidden", track), (bool)true);
|
||||
test_equal(playlist_remove("Hidden", track), (bool)true);
|
||||
test_equal(playlist_has("Hidden", track), (bool)false);
|
||||
test_equal(queue_size(q), 0);
|
||||
test_equal(playlist_size("Hidden"), 0);
|
||||
}
|
||||
|
||||
static void test_deinit()
|
||||
|
|
Loading…
Reference in New Issue