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())
|