46 lines
1.9 KiB
Python
46 lines
1.9 KiB
Python
# Copyright 2021 (c) Anna Schumaker.
|
|
from gi.repository import Gtk
|
|
import lib
|
|
import playlist
|
|
import unittest
|
|
|
|
class ColumnEV:
|
|
def __init__(self, title, width, expand):
|
|
self.title = title
|
|
self.width = width
|
|
self.expand = expand
|
|
|
|
columns = [ ColumnEV("#", -1, False),
|
|
ColumnEV("Title", 250, True),
|
|
ColumnEV("Length", -1, False),
|
|
ColumnEV("Artist", 150, False),
|
|
ColumnEV("Album", 150, False),
|
|
ColumnEV("Year", -1, False),
|
|
ColumnEV("Count", -1, False),
|
|
ColumnEV("Last Played", 150, False) ]
|
|
|
|
class TestPlaylist(unittest.TestCase):
|
|
def test_playlist_init(self):
|
|
self.assertIsInstance(playlist.Model, playlist.model.TagModel)
|
|
self.assertIsInstance(playlist.FilterModel, Gtk.FilterListModel)
|
|
self.assertIsInstance(playlist.Selection, Gtk.MultiSelection)
|
|
self.assertIsInstance(playlist.View, Gtk.ColumnView)
|
|
self.assertIsInstance(playlist.Scroll, Gtk.ScrolledWindow)
|
|
|
|
self.assertEqual(playlist.FilterModel.get_model(), playlist.Model)
|
|
self.assertEqual(playlist.FilterModel.get_filter(),
|
|
playlist.Model.Controls.filter)
|
|
self.assertEqual(playlist.Selection.get_model(), playlist.FilterModel)
|
|
self.assertEqual(playlist.View.get_model(), playlist.Selection)
|
|
self.assertEqual(playlist.Scroll.get_child(), playlist.View)
|
|
|
|
self.assertTrue(playlist.View.get_hexpand())
|
|
self.assertTrue(playlist.View.get_vexpand())
|
|
self.assertTrue(playlist.View.has_css_class("data-table"))
|
|
self.assertTrue(playlist.View.get_enable_rubberband())
|
|
|
|
for (i, c) in enumerate(playlist.View.get_columns()):
|
|
self.assertEqual(c.get_title(), columns[i].title)
|
|
self.assertEqual(c.get_fixed_width(), columns[i].width)
|
|
self.assertEqual(c.get_expand(), columns[i].expand)
|