rind: Clean up playlist view test
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
5ef15bfab3
commit
0e74303b13
|
@ -12,5 +12,6 @@ class UserNode(node.PlaylistNode):
|
|||
|
||||
def reset(self):
|
||||
node.PlaylistNode.reset(self)
|
||||
self.starred.reset()
|
||||
self.insert_child(self.starred)
|
||||
node.nodes[id(self.starred)] = self.starred
|
||||
|
|
|
@ -14,6 +14,15 @@ class TestPlaylistView(unittest.TestCase):
|
|||
curds.reset()
|
||||
view.reset()
|
||||
|
||||
self.plist = curds.Playlist("Test Playlist")
|
||||
view.switch(self.plist)
|
||||
|
||||
def add_track(self, trackno):
|
||||
path = os.path.join(test_album, f"{trackno:02} - Test Track {trackno:02}.ogg")
|
||||
track = curds.Track.lookup(path)
|
||||
self.plist.add(track)
|
||||
gtk.notify_loop()
|
||||
|
||||
def test_init(self):
|
||||
self.assertIsInstance(view.Loop, Gtk.ToggleButton)
|
||||
self.assertIsInstance(view.Model, model.PlaylistModel)
|
||||
|
@ -21,161 +30,127 @@ class TestPlaylistView(unittest.TestCase):
|
|||
self.assertIsInstance(view.TreeView, Gtk.TreeView)
|
||||
self.assertIsInstance(view.Selection, Gtk.TreeSelection)
|
||||
|
||||
view.reset()
|
||||
self.assertEqual(view.Model.playlist, curds.playlist.lookup("Collection"))
|
||||
|
||||
def test_switch(self):
|
||||
plist = curds.Playlist("Test Playlist")
|
||||
plist = curds.Playlist("Test Playlist 2")
|
||||
view.switch(plist)
|
||||
self.assertEqual(view.Model.playlist, plist)
|
||||
self.assertEqual(view.TreeView.get_model(), view.Model)
|
||||
|
||||
def test_loop_toggled(self):
|
||||
plist = curds.Playlist("Test Playlist")
|
||||
model = view.Model
|
||||
view.switch(plist)
|
||||
self.assertEqual(view.Model, model)
|
||||
|
||||
self.assertFalse(plist.loop)
|
||||
view.switch(plist, force=True)
|
||||
self.assertNotEqual(view.Model, model)
|
||||
|
||||
def test_loop_toggled(self):
|
||||
self.assertFalse(self.plist.loop)
|
||||
view.Loop.set_active(True)
|
||||
self.assertTrue(plist.loop)
|
||||
self.assertTrue(self.plist.loop)
|
||||
view.Loop.set_active(False)
|
||||
self.assertFalse(plist.loop)
|
||||
self.assertFalse(self.plist.loop)
|
||||
|
||||
plist.can_loop = False
|
||||
self.plist.can_loop = False
|
||||
view.Loop.set_active(True)
|
||||
self.assertFalse(plist.loop)
|
||||
self.assertFalse(self.plist.loop)
|
||||
self.assertFalse(view.Loop.get_active())
|
||||
|
||||
def test_random_toggled(self):
|
||||
plist = curds.Playlist("Test Playlist")
|
||||
view.switch(plist)
|
||||
|
||||
self.assertFalse(plist.random)
|
||||
self.assertFalse(self.plist.random)
|
||||
view.Random.set_active(True)
|
||||
self.assertTrue(plist.random)
|
||||
self.assertTrue(self.plist.random)
|
||||
view.Random.set_active(False)
|
||||
self.assertFalse(plist.random)
|
||||
self.assertFalse(self.plist.random)
|
||||
|
||||
plist.can_random = False
|
||||
self.plist.can_random = False
|
||||
view.Random.set_active(True)
|
||||
self.assertFalse(plist.random)
|
||||
self.assertFalse(self.plist.random)
|
||||
self.assertFalse(view.Random.get_active())
|
||||
|
||||
def test_switch_toggle_buttons(self):
|
||||
plist = curds.Playlist("Test Playlist")
|
||||
|
||||
plist.can_random = False
|
||||
plist.can_loop = False
|
||||
view.switch(plist)
|
||||
self.plist.can_random = False
|
||||
self.plist.can_loop = False
|
||||
view.switch(self.plist, force=True)
|
||||
self.assertFalse(view.Loop.is_sensitive())
|
||||
self.assertFalse(view.Random.is_sensitive())
|
||||
|
||||
plist.can_random = True
|
||||
plist.can_loop = True
|
||||
plist.random = True
|
||||
plist.loop = True
|
||||
view.switch(plist)
|
||||
self.assertFalse(view.Loop.is_sensitive())
|
||||
self.assertFalse(view.Random.is_sensitive())
|
||||
|
||||
view.switch(plist, force=True)
|
||||
self.plist.can_random = True
|
||||
self.plist.can_loop = True
|
||||
self.plist.random = True
|
||||
self.plist.loop = True
|
||||
view.switch(self.plist, force=True)
|
||||
self.assertTrue(view.Loop.is_sensitive())
|
||||
self.assertTrue(view.Loop.get_active())
|
||||
self.assertTrue(view.Random.is_sensitive())
|
||||
self.assertTrue(view.Random.get_active())
|
||||
|
||||
def test_columns_clickable(self):
|
||||
for i, col in enumerate(view.TreeView.get_columns()):
|
||||
if i == 0:
|
||||
self.assertFalse(col.get_clickable())
|
||||
else:
|
||||
self.assertTrue(col.get_clickable())
|
||||
|
||||
def test_column_clicks(self):
|
||||
plist = view.Model.playlist
|
||||
plist.sort_order = [ ]
|
||||
self.plist.sort_order = [ ]
|
||||
self.assertFalse(view.TreeView.get_columns()[0].get_clickable())
|
||||
|
||||
for i, col in enumerate(view.TreeView.get_columns()[1:]):
|
||||
self.assertTrue(col.get_clickable())
|
||||
|
||||
col.clicked()
|
||||
self.assertEqual(plist.sort_order, [ model.cols[i+1] ])
|
||||
self.assertEqual(self.plist.sort_order, [ model.cols[i+1] ])
|
||||
self.assertEqual(col.get_sort_indicator(), True)
|
||||
self.assertEqual(col.get_sort_order(), Gtk.SortType.ASCENDING)
|
||||
|
||||
col.clicked()
|
||||
self.assertEqual(plist.sort_order, [ ])
|
||||
self.assertEqual(self.plist.sort_order, [ ])
|
||||
self.assertEqual(col.get_sort_order(), False)
|
||||
|
||||
def on_row_inserted(self, model, path, iter):
|
||||
self.row_inserted += 1
|
||||
|
||||
def test_add_track(self):
|
||||
plist = curds.Playlist("Test Playlist")
|
||||
view.switch(plist)
|
||||
|
||||
cb = view.Model.connect("row-inserted", self.on_row_inserted)
|
||||
self.row_inserted = 0
|
||||
|
||||
for i in range(1, 11):
|
||||
track = curds.Track.lookup(os.path.join(test_album, f"{i:02} - Test Track {i:02}.ogg"))
|
||||
plist.add(track)
|
||||
self.plist.add(track)
|
||||
gtk.notify_loop()
|
||||
|
||||
self.assertEqual(self.row_inserted, 10)
|
||||
view.Model.disconnect(cb)
|
||||
|
||||
def test_playlist_changed(self):
|
||||
plist = curds.Playlist("Test Playlist")
|
||||
view.switch(plist)
|
||||
|
||||
for i in range(1, 11):
|
||||
track = curds.Track.lookup(os.path.join(test_album, f"{i:02} - Test Track {i:02}.ogg"))
|
||||
plist.add(track)
|
||||
gtk.notify_loop()
|
||||
self.assertEqual(view.Runtime.get_text(), f" {plist.runtime()} ")
|
||||
self.add_track(i)
|
||||
self.assertEqual(view.Runtime.get_text(), f" {self.plist.runtime()} ")
|
||||
|
||||
def test_playlist_switch_runtime(self):
|
||||
plist = curds.Playlist("Test Playlist")
|
||||
view.switch(plist)
|
||||
self.assertEqual(view.Runtime.get_text(), f"")
|
||||
view.switch(curds.playlist.Starred)
|
||||
self.assertEqual(view.Runtime.get_text(), "")
|
||||
|
||||
for i in range(1, 11):
|
||||
track = curds.Track.lookup(os.path.join(test_album, f"{i:02} - Test Track {i:02}.ogg"))
|
||||
plist.add(track)
|
||||
gtk.notify_loop()
|
||||
view.switch(plist, force=True)
|
||||
self.assertEqual(view.Runtime.get_text(), f" {plist.runtime()} ")
|
||||
view.switch(self.plist)
|
||||
self.assertEqual(view.Runtime.get_text(), f" {self.plist.runtime()} ")
|
||||
|
||||
def test_stream_start(self):
|
||||
plist = curds.Playlist("Test Playlist")
|
||||
view.switch(plist)
|
||||
curds.playlist.Root.select(plist)
|
||||
curds.playlist.Root.select(self.plist)
|
||||
|
||||
for i in range(1, 11):
|
||||
track = curds.Track.lookup(os.path.join(test_album, f"{i:02} - Test Track {i:02}.ogg"))
|
||||
plist.add(track)
|
||||
gtk.notify_loop()
|
||||
|
||||
for i in range(10):
|
||||
plist.current = i
|
||||
curds.notify.notify("stream-start")
|
||||
self.assertEqual(view.Selection.count_selected_rows(), 1)
|
||||
self.assertTrue( view.Selection.path_is_selected(Gtk.TreePath(i)))
|
||||
|
||||
plist.current = -1
|
||||
curds.notify.notify("stream-start")
|
||||
self.assertEqual(view.Selection.count_selected_rows(), 0)
|
||||
|
||||
def test_switch_scroll(self):
|
||||
plist = curds.Playlist("Test Playlist")
|
||||
view.switch(plist)
|
||||
curds.playlist.Root.select(plist)
|
||||
|
||||
for i in range(1, 11):
|
||||
track = curds.Track.lookup(os.path.join(test_album, f"{i:02} - Test Track {i:02}.ogg"))
|
||||
plist.add(track)
|
||||
gtk.notify_loop()
|
||||
self.add_track(i)
|
||||
|
||||
for i in range(-1, 10):
|
||||
plist.current = i
|
||||
view.switch(plist, force=True)
|
||||
self.plist.current = i
|
||||
curds.notify.notify("stream-start")
|
||||
if i == -1:
|
||||
self.assertEqual(view.Selection.count_selected_rows(), 0)
|
||||
else:
|
||||
self.assertEqual(view.Selection.count_selected_rows(), 1)
|
||||
self.assertTrue( view.Selection.path_is_selected(Gtk.TreePath(i)))
|
||||
|
||||
def test_switch_scroll(self):
|
||||
for i in range(1, 11):
|
||||
self.add_track(i)
|
||||
|
||||
for i in range(-1, 10):
|
||||
self.plist.current = i
|
||||
view.switch(self.plist, force=True)
|
||||
if i == -1:
|
||||
self.assertEqual(view.Selection.count_selected_rows(), 0)
|
||||
else:
|
||||
|
|
Loading…
Reference in New Issue
Block a user