Anna Schumaker
dbc2ec03f2
And expose properties for setting their values. Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
83 lines
3.2 KiB
Python
83 lines
3.2 KiB
Python
# Copyright 2022 (c) Anna Schumaker.
|
|
"""Tests our TagInfo widget."""
|
|
import unittest
|
|
import emmental.nowplaying.label
|
|
import emmental.nowplaying.tags
|
|
from gi.repository import Gtk
|
|
|
|
|
|
class TestTagInfo(unittest.TestCase):
|
|
"""Tests the tags.Info widget."""
|
|
|
|
def setUp(self):
|
|
"""Set up common variables."""
|
|
self.info = emmental.nowplaying.tags.TagInfo()
|
|
|
|
def test_init(self):
|
|
"""Test that the TagInfo widget is set up correctly."""
|
|
self.assertIsInstance(self.info, Gtk.ScrolledWindow)
|
|
self.assertIsInstance(self.info.get_child(), Gtk.Viewport)
|
|
self.assertIsInstance(self.info._box, Gtk.Box)
|
|
|
|
self.assertTrue(self.info.get_hexpand())
|
|
self.assertTrue(self.info.get_vexpand())
|
|
self.assertEqual(self.info._saved_height, 0)
|
|
self.assertIsNone(self.info._idle_id)
|
|
|
|
self.assertEqual(self.info.get_child().get_child(), self.info._box)
|
|
self.assertEqual(self.info._box.get_orientation(),
|
|
Gtk.Orientation.VERTICAL)
|
|
self.assertEqual(self.info._box.get_spacing(), 0)
|
|
|
|
def test_title(self):
|
|
"""Test the title label."""
|
|
self.assertIsInstance(self.info._title,
|
|
emmental.nowplaying.label.Label)
|
|
self.assertEqual(self.info._box.get_first_child(), self.info._title)
|
|
|
|
self.assertEqual(self.info.title, "")
|
|
self.assertEqual(self.info._title.prefix, "")
|
|
self.info.title = "Test Title"
|
|
self.assertEqual(self.info.title, "Test Title")
|
|
self.assertEqual(self.info._title.get_text(), "Test Title")
|
|
|
|
def test_album(self):
|
|
"""Test the album label."""
|
|
self.assertIsInstance(self.info._album,
|
|
emmental.nowplaying.label.Label)
|
|
self.assertEqual(self.info._title.get_next_sibling(),
|
|
self.info._album)
|
|
|
|
self.assertEqual(self.info.album, "")
|
|
self.assertEqual(self.info._album.prefix, "from ")
|
|
self.info.album = "Test Album"
|
|
self.assertEqual(self.info.album, "Test Album")
|
|
self.assertEqual(self.info._album.get_text(), "from Test Album")
|
|
|
|
def test_artist(self):
|
|
"""Test the artist label."""
|
|
self.assertIsInstance(self.info._artist,
|
|
emmental.nowplaying.label.ArtistLabel)
|
|
self.assertEqual(self.info._album.get_next_sibling(),
|
|
self.info._artist)
|
|
|
|
self.assertEqual(self.info.artist, "")
|
|
self.assertEqual(self.info._artist.prefix, "by ")
|
|
self.assertTrue(self.info.prefer_artist)
|
|
|
|
self.info.artist = "Test Artist"
|
|
self.assertEqual(self.info.artist, "Test Artist")
|
|
self.assertEqual(self.info._artist.artist, "Test Artist")
|
|
|
|
self.info.album_artist = "Test Album Artist"
|
|
self.assertEqual(self.info.album_artist, "Test Album Artist")
|
|
self.assertEqual(self.info._artist.album_artist, "Test Album Artist")
|
|
|
|
self.info.prefer_artist = False
|
|
self.assertFalse(self.info._artist.prefer_artist)
|
|
self.assertEqual(self.info._artist.get_text(), "by Test Album Artist")
|
|
|
|
self.info._artist.prefer_artist = True
|
|
self.assertTrue(self.info.prefer_artist)
|
|
self.assertEqual(self.info._artist.get_text(), "by Test Artist")
|