emmental/sidebar/test_sidebar.py
Anna Schumaker 3a50235c38 audio: Rework the Artwork widget
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>
2021-09-08 10:07:45 -04:00

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