2021-06-29 11:44:10 -04:00
|
|
|
# Copyright 2021 (c) Anna Schumaker.
|
2021-06-29 11:55:29 -04:00
|
|
|
from lib import settings
|
2021-06-29 11:44:10 -04:00
|
|
|
from . import column
|
|
|
|
from gi.repository import Gtk
|
|
|
|
import unittest
|
|
|
|
|
2021-11-03 12:54:58 -04:00
|
|
|
class FakeListItem:
|
|
|
|
def __init__(self): self.child = None
|
|
|
|
def get_item(self): return None
|
|
|
|
def get_child(self): return self.child
|
|
|
|
def set_child(self, child): self.child = child
|
|
|
|
|
|
|
|
|
|
|
|
class TestLabelFactory(unittest.TestCase):
|
|
|
|
def test_init(self):
|
|
|
|
factory = column.LabelFactory(0.5)
|
|
|
|
self.assertIsInstance(factory, Gtk.SignalListItemFactory)
|
|
|
|
self.assertEqual(factory.xalign, 0.5)
|
|
|
|
|
|
|
|
def test_setup_teardown(self):
|
|
|
|
fake = FakeListItem()
|
|
|
|
factory = column.LabelFactory(0.5)
|
|
|
|
|
|
|
|
factory.on_setup(factory, fake)
|
|
|
|
self.assertIsInstance(fake.child, Gtk.Label)
|
|
|
|
self.assertEqual(fake.child.get_xalign(), 0.5)
|
|
|
|
|
|
|
|
factory.on_teardown(factory, fake)
|
|
|
|
self.assertIsNone(fake.child)
|
|
|
|
|
|
|
|
def test_bind_unbind(self):
|
|
|
|
fake = FakeListItem()
|
|
|
|
factory = column.LabelFactory(0.5)
|
|
|
|
factory.on_setup(factory, fake)
|
|
|
|
|
|
|
|
with self.assertRaises(NotImplementedError):
|
|
|
|
factory.on_bind(factory, fake)
|
|
|
|
|
|
|
|
fake.child.set_text("abcde")
|
|
|
|
factory.on_unbind(factory, fake)
|
|
|
|
self.assertEqual(fake.child.get_text(), "")
|
|
|
|
|
|
|
|
|
2021-06-29 11:44:10 -04:00
|
|
|
class TestPlaylistColumn(unittest.TestCase):
|
2021-06-29 11:55:29 -04:00
|
|
|
def tearDown(self):
|
|
|
|
settings.reset()
|
|
|
|
|
2021-06-29 11:44:10 -04:00
|
|
|
def test_playlist_column_init(self):
|
2021-06-29 17:01:30 -04:00
|
|
|
col = column.Column("Test", "test")
|
2021-06-29 11:44:10 -04:00
|
|
|
self.assertIsInstance(col, Gtk.ColumnViewColumn)
|
2021-06-29 17:01:30 -04:00
|
|
|
self.assertIsInstance(col.factory, Gtk.SignalListItemFactory)
|
2021-06-29 11:44:10 -04:00
|
|
|
|
|
|
|
self.assertEqual(col.get_title(), "Test")
|
2021-06-29 17:01:30 -04:00
|
|
|
self.assertEqual(col.field, "test")
|
|
|
|
self.assertEqual(col.align, 0)
|
|
|
|
self.assertEqual(col.get_factory(), col.factory)
|
2021-06-29 11:44:10 -04:00
|
|
|
self.assertTrue(col.get_resizable())
|
2021-06-29 12:52:09 -04:00
|
|
|
self.assertFalse(col.get_expand())
|
|
|
|
|
2021-06-29 17:01:30 -04:00
|
|
|
col = column.Column("Test2", "test", expand=True)
|
2021-06-29 12:52:09 -04:00
|
|
|
self.assertTrue(col.get_expand())
|
2021-06-29 11:55:29 -04:00
|
|
|
|
|
|
|
def test_playlist_column_width(self):
|
2021-06-29 17:01:30 -04:00
|
|
|
col = column.Column("Test", "test", width=100)
|
2021-06-29 11:55:29 -04:00
|
|
|
|
|
|
|
self.assertEqual(settings.get_int("column.Test"), 100)
|
|
|
|
col.set_fixed_width(200)
|
|
|
|
self.assertEqual(settings.get_int("column.Test"), 200)
|