curds: Add the ArtistNode to the PlaylistManager

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2019-04-19 14:46:13 -04:00
parent 42a26832eb
commit 68953c273d
4 changed files with 22 additions and 12 deletions

View File

@ -1,4 +1,5 @@
# Copyright 2019 (c) Anna Schumaker.
from . import artist
from . import collection
from . import genre
from . import library
@ -13,6 +14,7 @@ class PlaylistManager(node.PlaylistNode):
self.append_child(collection.CollectionPlaylist())
self.append_child(previous.PreviousPlaylist())
self.append_child(artist.ArtistNode())
self.append_child(genre.GenreNode())
self.append_child(library.LibraryNode())

View File

@ -12,6 +12,7 @@ test_library = os.path.abspath("./trier/Test Library/Test Artist 01")
class TestGenrePlaylist(unittest.TestCase):
def test_genre_node(self):
notify.registered.clear()
tags.clear()
gnode = genre.GenreNode()
self.assertIsInstance(gnode, node.PlaylistNode)

View File

@ -1,4 +1,5 @@
# Copyright 2019 (c) Anna Schumaker.
from . import artist
from . import collection
from . import genre
from . import library
@ -53,9 +54,16 @@ class TestPlaylistManager(unittest.TestCase):
self.assertIsInstance(self.playman.lookup("Collection"), collection.CollectionPlaylist)
self.assertIsInstance(self.playman.lookup("Previous"), previous.PreviousPlaylist)
self.assertIsInstance(self.playman.lookup("Artists"), artist.ArtistNode)
self.assertIsInstance(self.playman.lookup("Genres"), genre.GenreNode)
self.assertIsInstance(self.playman.lookup("Libraries"), library.LibraryNode)
self.assertEqual(self.playman.nth_child(0), self.playman.lookup("Collection"))
self.assertEqual(self.playman.nth_child(1), self.playman.lookup("Previous"))
self.assertEqual(self.playman.nth_child(2), self.playman.lookup("Artists"))
self.assertEqual(self.playman.nth_child(3), self.playman.lookup("Genres"))
self.assertEqual(self.playman.nth_child(4), self.playman.lookup("Libraries"))
self.assertEqual(self.playman.name, "Root")
self.assertEqual(self.playman.current, [ self.playman.lookup("Collection") ])
self.assertEqual(self.playman.track, None)

View File

@ -18,8 +18,9 @@ class TestManager(unittest.TestCase):
curds.notify.register("playlist-changed", manager.MgrModel.on_playlist_changed, queue=True)
curds.notify.register("node-inserted", manager.MgrModel.on_node_inserted)
self.model = manager.ManagerModel()
self.genre = curds.PlaylistManager.lookup("Genres")
self.model = manager.ManagerModel()
self.artist = curds.PlaylistManager.lookup("Artists")
self.genre = curds.PlaylistManager.lookup("Genres")
curds.Track.lookup(os.path.join(test_album1, "01 - Test Track 01.ogg"))
curds.Track.lookup(os.path.join(test_album2, "01 - Test Track 01.ogg"))
@ -105,7 +106,7 @@ class TestManager(unittest.TestCase):
for i, node in enumerate(plist_mgr.children):
iter.user_data = i + 1
child = self.model.iter_children(iter)
if node != self.genre:
if node != self.artist and node != self.genre:
self.assertIsNone(child)
iter.user_data = plist_mgr.n_children()
self.assertIsNone(self.model.iter_children(iter))
@ -123,7 +124,7 @@ class TestManager(unittest.TestCase):
for i, node in enumerate(plist_mgr.children):
iter.user_data = i + 1
expected = node == self.genre
expected = node == self.artist or node == self.genre
self.assertEqual(self.model.iter_has_child(iter), expected)
iter.user_data = plist_mgr.n_children()
self.assertFalse(self.model.iter_has_child(iter))
@ -141,8 +142,7 @@ class TestManager(unittest.TestCase):
for i, node in enumerate(plist_mgr.children):
iter.user_data = i + 1
n = 2 if node == self.genre else 0
self.assertEqual(self.model.iter_n_children(iter), n)
self.assertEqual(self.model.iter_n_children(iter), node.n_children())
iter.user_data = plist_mgr.n_children()
self.assertEqual(self.model.iter_n_children(iter), 0)
@ -155,7 +155,7 @@ class TestManager(unittest.TestCase):
for i, node in enumerate(plist_mgr.children):
iter = self.model.iter_nth_child(None, i)
self.assertTreeIterEqual(iter, (i + 1, 0, 0))
if node != self.genre:
if node != self.artist and node != self.genre:
self.assertIsNone(self.model.iter_nth_child(iter, 0))
self.assertIsNone(self.model.iter_nth_child(None, plist_mgr.n_children()))
@ -207,8 +207,7 @@ class TestManager(unittest.TestCase):
iter.user_data2 = 1
for i, node in enumerate(plist_mgr.children):
iter.user_data = i + 1
expected = self.genre.nth_child(0) if node == self.genre else None
self.assertEqual(self.model.iter_playlist(iter), expected)
self.assertEqual(self.model.iter_playlist(iter), node.nth_child(0))
iter = self.model.playlist_iter(self.genre)
for i in range(self.genre.n_children() + 1):
@ -297,12 +296,12 @@ class TestManager(unittest.TestCase):
iter = filter.iter_nth_child(None, i)
text = str(node) if i != 0 else f"<b>{str(node)}</b>"
self.assertEqual(filter.get_value(iter, 1), text)
if node != self.genre:
if node != self.artist and node != self.genre:
self.assertIsNone(filter.iter_nth_child(iter, 0))
else:
for i, node in enumerate(self.genre.children):
for i, cnode in enumerate(node.children):
child = filter.iter_nth_child(iter, i)
self.assertEqual(filter.get_value(child, 1), str(node))
self.assertEqual(filter.get_value(child, 1), str(cnode))
entry.set_text("*v")
self.model.set_filter_text(entry)