db: Fix random next_track() on playlists with only one track
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
bb0a9face7
commit
8f26cf9fee
|
@ -70,7 +70,7 @@ class Playlist(GObject.GObject):
|
|||
|
||||
def next_track(self):
|
||||
n = self.get_n_tracks()
|
||||
if self.random and n > 0:
|
||||
if self.random and n > 1:
|
||||
self.current += random.randint(1, int((3*n)/4))
|
||||
else:
|
||||
self.current += 1
|
||||
|
|
|
@ -205,10 +205,14 @@ class TestPlaylist(unittest.TestCase):
|
|||
self.assertEqual(plist.get_property("current"), -1)
|
||||
|
||||
plist.add_track(db.make_fake_track(1, 1, "Track 1", "/a/b/c/1.ogg"))
|
||||
self.assertEqual(plist.next_track(), plist.get_track(0))
|
||||
self.assertEqual(plist.get_property("current"), 0)
|
||||
|
||||
plist.add_track(db.make_fake_track(2, 2, "Track 2", "/a/b/c/2.ogg"))
|
||||
plist.add_track(db.make_fake_track(3, 3, "Track 3", "/a/b/c/3.ogg"))
|
||||
|
||||
random.seed(20210318)
|
||||
plist.current = -1
|
||||
self.assertEqual(plist.next_track(), plist.get_track(1))
|
||||
self.assertEqual(plist.next_track(), plist.get_track(2))
|
||||
self.assertEqual(plist.next_track(), plist.get_track(0))
|
||||
|
|
Loading…
Reference in New Issue