It now sets artwork based on the signals sent by the player, allowing us to move it out of the Player class and create instances based on the global Player instead. Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
79 lines
3.7 KiB
Python
79 lines
3.7 KiB
Python
# Copyright 2021 (c) Anna Schumaker.
|
|
from lib import settings
|
|
import audio
|
|
import sidebar
|
|
import unittest
|
|
from gi.repository import Gtk
|
|
|
|
class TestSidebar(unittest.TestCase):
|
|
def setUpClass():
|
|
sidebar.initialize()
|
|
|
|
def test_sidebar_init(self):
|
|
self.assertIsInstance(sidebar.Switcher, Gtk.Box)
|
|
self.assertIsInstance(sidebar.Stack, Gtk.Stack)
|
|
self.assertIsInstance(sidebar.Box, Gtk.Box)
|
|
|
|
#self.assertIn(audio.Player.Artwork, sidebar.Box)
|
|
self.assertIn(sidebar.Stack, sidebar.Box)
|
|
self.assertIn(sidebar.pulser.Box, sidebar.Box)
|
|
|
|
def test_sidebar_pages(self):
|
|
self.assertTrue(sidebar.Switcher.has_css_class("osd"))
|
|
self.assertTrue(sidebar.Switcher.has_css_class("linked"))
|
|
self.assertTrue(sidebar.Switcher.has_css_class("large-icons"))
|
|
self.assertEqual(sidebar.Stack.get_transition_type(), Gtk.StackTransitionType.OVER_UP_DOWN)
|
|
self.assertEqual(settings.get("sidebar.page"), "Libraries")
|
|
self.assertEqual(sidebar.Stack.get_visible_child_name(), "Libraries")
|
|
|
|
for toggle in sidebar.Toggles:
|
|
self.assertIsInstance(toggle, Gtk.ToggleButton)
|
|
self.assertIn(toggle, sidebar.Switcher)
|
|
self.assertTrue(toggle.get_vexpand())
|
|
|
|
self.assertIsInstance(sidebar.Stack.get_child_by_name("Playlists"),
|
|
sidebar.user.UserTagBox)
|
|
self.assertEqual(sidebar.Toggles[0].get_icon_name(), "audio-x-generic")
|
|
self.assertEqual(sidebar.Toggles[0].get_name(), "Playlists")
|
|
sidebar.Toggles[0].set_active(True)
|
|
self.assertEqual(sidebar.Stack.get_visible_child_name(), "Playlists")
|
|
self.assertEqual(settings.get("sidebar.page"), "Playlists")
|
|
|
|
self.assertIsInstance(sidebar.Stack.get_child_by_name("Artists"),
|
|
sidebar.tagbox.ParentTagBox)
|
|
self.assertEqual(sidebar.Toggles[1].get_icon_name(), "avatar-default-symbolic")
|
|
self.assertEqual(sidebar.Toggles[1].get_name(), "Artists")
|
|
sidebar.Toggles[1].set_active(True)
|
|
self.assertEqual(sidebar.Stack.get_visible_child_name(), "Artists")
|
|
self.assertEqual(settings.get("sidebar.page"), "Artists")
|
|
|
|
self.assertIsInstance(sidebar.Stack.get_child_by_name("Genres"),
|
|
sidebar.tagbox.TagBox)
|
|
self.assertEqual(sidebar.Toggles[2].get_icon_name(), "emblem-generic")
|
|
self.assertEqual(sidebar.Toggles[2].get_name(), "Genres")
|
|
sidebar.Toggles[2].set_active(True)
|
|
self.assertEqual(sidebar.Stack.get_visible_child_name(), "Genres")
|
|
self.assertEqual(settings.get("sidebar.page"), "Genres")
|
|
|
|
self.assertIsInstance(sidebar.Stack.get_child_by_name("Decades"),
|
|
sidebar.tagbox.ParentTagBox)
|
|
self.assertEqual(sidebar.Toggles[3].get_icon_name(), "x-office-calendar")
|
|
self.assertEqual(sidebar.Toggles[3].get_name(), "Decades")
|
|
sidebar.Toggles[3].set_active(True)
|
|
self.assertEqual(sidebar.Stack.get_visible_child_name(), "Decades")
|
|
self.assertEqual(settings.get("sidebar.page"), "Decades")
|
|
|
|
self.assertEqual(sidebar.Stack.get_child_by_name("Libraries"),
|
|
sidebar.library.Box)
|
|
self.assertEqual(sidebar.Toggles[4].get_icon_name(), "folder-music")
|
|
self.assertEqual(sidebar.Toggles[4].get_name(), "Libraries")
|
|
sidebar.Toggles[4].set_active(True)
|
|
self.assertEqual(sidebar.Stack.get_visible_child_name(), "Libraries")
|
|
self.assertEqual(settings.get("sidebar.page"), "Libraries")
|
|
|
|
for toggle in sidebar.Toggles:
|
|
if toggle != sidebar.Toggles[-1]:
|
|
self.assertFalse(toggle.get_active())
|
|
else:
|
|
self.assertTrue(toggle.get_active())
|