rind: Clean up playlist track add tests
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
dc4803eb46
commit
419e80d983
|
@ -49,9 +49,7 @@ class Playlist(node.PlaylistNode):
|
|||
index = self.bisect_track(track)
|
||||
|
||||
self.list[index:index] = [ track ]
|
||||
if self.visible == True:
|
||||
notify.notify("add-track", self, track, index)
|
||||
self.changed()
|
||||
self.track_added(index)
|
||||
|
||||
def bisect_track(self, track):
|
||||
key = self.sort_key(track)
|
||||
|
@ -67,7 +65,7 @@ class Playlist(node.PlaylistNode):
|
|||
return begin
|
||||
|
||||
def changed(self):
|
||||
notify.notify("playlist-changed", self)
|
||||
notify.notify("playlist-changed", self)
|
||||
|
||||
def next(self):
|
||||
max = len(self) - 1
|
||||
|
@ -147,3 +145,8 @@ class Playlist(node.PlaylistNode):
|
|||
val = ''.join(filter(str.isalnum, val.lower()))
|
||||
ret.append(val)
|
||||
return ret
|
||||
|
||||
def track_added(self, index):
|
||||
if self.visible == True:
|
||||
notify.notify("add-track", self, index)
|
||||
self.changed()
|
||||
|
|
|
@ -10,8 +10,7 @@ class PreviousPlaylist(playlist.Playlist):
|
|||
if track is not None and track not in self:
|
||||
self.list.insert(0, track)
|
||||
self.current = 0
|
||||
notify.notify("add-track", self, track, 0)
|
||||
self.changed()
|
||||
self.track_added(0)
|
||||
|
||||
def sort(self, field):
|
||||
return False
|
||||
|
|
|
@ -16,10 +16,9 @@ class TestPlaylist(unittest.TestCase):
|
|||
notify.register("add-track", self.on_add)
|
||||
notify.register("playlist-changed", self.on_plist_changed)
|
||||
self.cb_plist = None
|
||||
self.cb_track = None
|
||||
self.cb_index = None
|
||||
self.cb_changed = None
|
||||
self.plist = playlist.Playlist("Test Playlist")
|
||||
self.plist = playlist.Playlist("Test Playlist", sort=[])
|
||||
|
||||
def tearDown(self):
|
||||
notify.cancel("add-track", self.on_add)
|
||||
|
@ -33,9 +32,8 @@ class TestPlaylist(unittest.TestCase):
|
|||
self.plist.add(tracks[-1])
|
||||
return tracks
|
||||
|
||||
def on_add(self, plist, track, index):
|
||||
def on_add(self, plist, index):
|
||||
self.cb_plist = plist
|
||||
self.cb_track = track
|
||||
self.cb_index = index
|
||||
|
||||
def on_plist_changed(self, plist):
|
||||
|
@ -80,31 +78,29 @@ class TestPlaylist(unittest.TestCase):
|
|||
self.add_tracks([2])
|
||||
self.assertEqual(str(self.plist), "Test Playlist\n2 Tracks")
|
||||
|
||||
def test_playlist_add(self):
|
||||
self.assertEqual(str(self.plist), "Test Playlist\n0 Tracks")
|
||||
self.plist.add(tags.Track.lookup(os.path.join(test_album, "01 - Test Track 01.ogg")))
|
||||
self.assertEqual(len(self.plist), 1)
|
||||
self.assertEqual(str(self.plist), "Test Playlist\n1 Track")
|
||||
self.assertEqual(self.plist.runtime(), "1 second")
|
||||
def test_playlist_add_append(self):
|
||||
tracks = self.add_tracks(range(1, 6))
|
||||
|
||||
self.plist.add(tags.Track.lookup(os.path.join(test_album, "02 - Test Track 02.ogg")))
|
||||
self.assertEqual(len(self.plist), 2)
|
||||
self.assertEqual(str(self.plist), "Test Playlist\n2 Tracks")
|
||||
self.assertEqual(self.plist.runtime(), "3 seconds")
|
||||
self.assertEqual(len(self.plist), 5)
|
||||
self.assertEqual(self.cb_changed, self.plist)
|
||||
self.assertIsNone(self.cb_plist)
|
||||
self.assertIsNone(self.cb_index)
|
||||
for i, track in enumerate(tracks):
|
||||
self.assertEqual(self.plist[i], track)
|
||||
|
||||
self.plist.add(tags.Track.lookup(os.path.join(test_album, "02 - Test Track 02.ogg")))
|
||||
self.assertEqual(len(self.plist), 2)
|
||||
self.assertEqual(str(self.plist), "Test Playlist\n2 Tracks")
|
||||
self.assertEqual(self.plist.runtime(), "3 seconds")
|
||||
self.plist.show()
|
||||
self.add_tracks([6])
|
||||
self.assertEqual(len(self.plist), 6)
|
||||
self.assertEqual(self.cb_plist, self.plist)
|
||||
self.assertEqual(self.cb_index, 5)
|
||||
|
||||
self.plist.add(None)
|
||||
self.assertEqual(len(self.plist), 2)
|
||||
self.assertEqual(str(self.plist), "Test Playlist\n2 Tracks")
|
||||
self.assertEqual(self.plist.runtime(), "3 seconds")
|
||||
self.assertNotIn(None, self.plist)
|
||||
|
||||
self.plist.reset()
|
||||
self.assertEqual(len(self.plist), 0)
|
||||
def test_playlist_add_sorted(self):
|
||||
self.plist.sort("tracknumber")
|
||||
tracknos = [ 5, 6, 4, 7, 3, 8, 2, 9, 1, 10 ]
|
||||
tracks = self.add_tracks(tracknos)
|
||||
self.assertEqual(len(self.plist), 10)
|
||||
for i, track in enumerate(self.plist.list):
|
||||
self.assertEqual(track.tracknumber, i + 1)
|
||||
|
||||
def test_playlist_runtime(self):
|
||||
track = self.add_tracks([1])[0]
|
||||
|
@ -124,30 +120,6 @@ class TestPlaylist(unittest.TestCase):
|
|||
track.length = 172800
|
||||
self.assertEqual(self.plist.runtime(), "2 days")
|
||||
|
||||
def test_playlist_notifications(self):
|
||||
track1 = tags.Track.lookup(os.path.join(test_album, "01 - Test Track 01.ogg"))
|
||||
track2 = tags.Track.lookup(os.path.join(test_album, "02 - Test Track 02.ogg"))
|
||||
|
||||
self.plist.add(track1)
|
||||
self.assertEqual(self.cb_plist, None)
|
||||
self.assertEqual(self.cb_track, None)
|
||||
self.assertEqual(self.cb_index, None)
|
||||
self.assertEqual(self.cb_changed, self.plist)
|
||||
|
||||
self.plist.show()
|
||||
self.assertTrue(self.plist.visible)
|
||||
self.plist.add(track2)
|
||||
self.assertEqual(self.cb_plist, self.plist)
|
||||
self.assertEqual(self.cb_track, track2)
|
||||
self.assertEqual(self.cb_index, 1)
|
||||
self.assertEqual(self.cb_changed, self.plist)
|
||||
|
||||
self.plist.add(None)
|
||||
self.assertEqual(self.cb_plist, self.plist)
|
||||
self.assertEqual(self.cb_track, track2)
|
||||
self.assertEqual(self.cb_index, 1)
|
||||
self.assertEqual(self.cb_changed, self.plist)
|
||||
|
||||
def test_playlist_can_loop_random(self):
|
||||
self.plist = playlist.Playlist("Test Playlist", can_loop=False, can_random=False)
|
||||
|
||||
|
|
|
@ -12,20 +12,19 @@ class TestPreviousPlaylist(unittest.TestCase):
|
|||
def setUp(self):
|
||||
notify.register("add-track", self.on_add_track)
|
||||
self.cb_plist = None
|
||||
self.cb_track = None
|
||||
self.cb_index = 0
|
||||
|
||||
def tearDown(self):
|
||||
notify.cancel("add-track", self.on_add_track)
|
||||
|
||||
def on_add_track(self, plist, track, index):
|
||||
def on_add_track(self, plist, index):
|
||||
if isinstance(plist, previous.PreviousPlaylist):
|
||||
self.cb_plist = plist
|
||||
self.cb_track = track
|
||||
self.cb_index = index
|
||||
|
||||
def test_previous_playlist(self):
|
||||
plist = previous.PreviousPlaylist()
|
||||
plist.show()
|
||||
|
||||
self.assertIsInstance(plist, previous.PreviousPlaylist)
|
||||
self.assertIsInstance(plist, playlist.Playlist)
|
||||
|
@ -55,14 +54,12 @@ class TestPreviousPlaylist(unittest.TestCase):
|
|||
|
||||
plist.add(track1)
|
||||
self.assertEqual(self.cb_plist, plist)
|
||||
self.assertEqual(self.cb_track, track1)
|
||||
self.assertEqual(self.cb_index, 0)
|
||||
self.assertEqual(plist.current, 0)
|
||||
self.assertEqual(plist.next(), None)
|
||||
|
||||
plist.add(track2)
|
||||
self.assertEqual(self.cb_plist, plist)
|
||||
self.assertEqual(self.cb_track, track2)
|
||||
self.assertEqual(self.cb_index, 0)
|
||||
self.assertEqual(plist.current, 0)
|
||||
|
||||
|
|
|
@ -53,10 +53,9 @@ for i, column in enumerate(TreeView.get_columns()):
|
|||
column.connect("clicked", on_column_clicked, i)
|
||||
|
||||
|
||||
def on_add_track(plist, track, index):
|
||||
def on_add_track(plist, index):
|
||||
if plist == Model.playlist:
|
||||
iter = Model.iter_nth_child(None, index)
|
||||
Model.row_inserted(Gtk.TreePath(index), iter)
|
||||
Model.row_inserted(Gtk.TreePath(0), Gtk.TreeIter())
|
||||
|
||||
curds.notify.register("add-track", on_add_track, queue=True)
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user