48 lines
2.0 KiB
Python
48 lines
2.0 KiB
Python
# Copyright 2021 (c) Anna Schumaker.
|
|
from . import tagbox
|
|
from . import tagrow
|
|
from . import user
|
|
from gi.repository import Gtk
|
|
import tagdb
|
|
import unittest
|
|
|
|
Expected = [ ("Collection", "media-playback-start", tagrow.TagRow),
|
|
("Favorites", "emblem-favorites", tagrow.TagRow),
|
|
("New Tracks", "starred", tagrow.TagRow),
|
|
("Previous", "edit-undo", tagrow.TagRow),
|
|
("Test", "audio-x-generic", user.UserTagRow),
|
|
("Up Next", "edit-redo", tagrow.TagRow) ]
|
|
|
|
class TestUserSidebar(unittest.TestCase):
|
|
def test_user_sidebar_init(self):
|
|
self.assertIsInstance(user.TagBox, user.UserTagBox)
|
|
self.assertIsInstance(user.TagBox, tagbox.TagBox)
|
|
|
|
self.assertEqual(user.Icons["Collection"], "media-playback-start")
|
|
self.assertEqual(user.Icons["Favorites"], "emblem-favorites")
|
|
self.assertEqual(user.Icons["New Tracks"], "starred")
|
|
self.assertEqual(user.Icons["Previous"], "edit-undo")
|
|
self.assertEqual(user.Icons["Up Next"], "edit-redo")
|
|
|
|
def test_user_sidebar_row(self):
|
|
tag = tagdb.tags.User.add("Test")
|
|
row = user.UserTagRow(tag, "audio-x-generic")
|
|
|
|
self.assertIsInstance(row.remove, Gtk.Button)
|
|
self.assertIsInstance(row.KeyEvent, Gtk.EventControllerKey)
|
|
self.assertEqual(row.remove.get_icon_name(), "list-remove")
|
|
self.assertIn(row.remove, row.grid)
|
|
|
|
row.remove_tag(row.remove)
|
|
self.assertIsNone(tagdb.tags.User["Test"])
|
|
|
|
def test_user_sidebar(self):
|
|
user.TagBox = user.UserTagBox(tagdb.tags.User, "audio-x-generic")
|
|
tag = tagdb.tags.User.add("Test")
|
|
user.TagBox.bus.complete()
|
|
|
|
for (i, (tag, icon, type)) in enumerate(Expected):
|
|
self.assertIsInstance(user.TagBox[i], type)
|
|
self.assertEqual(user.TagBox[i].tag, tagdb.tags.User[tag])
|
|
self.assertEqual(user.TagBox[i].image.get_icon_name(), icon)
|