playlist: Allow creating models without a Tag

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2021-07-03 09:56:47 -04:00
parent 1fb4c25fc6
commit 035fcd3398
2 changed files with 12 additions and 3 deletions

View File

@ -2,7 +2,7 @@
from gi.repository import GObject, Gio
class TagModel(GObject.GObject, Gio.ListModel):
def __init__(self, tag):
def __init__(self, tag=None):
GObject.GObject.__init__(self)
self.tag = tag
@ -10,10 +10,13 @@ class TagModel(GObject.GObject, Gio.ListModel):
return GObject.TYPE_PYOBJECT
def do_get_n_items(self):
return len(self.tag)
if self.tag:
return len(self.tag)
return 0
def do_get_item(self, n):
return self.tag[n]
if self.tag:
return self.tag[n]
def do_get_object(self, n):
return self.tag[n]

View File

@ -21,3 +21,9 @@ class TestTagModel(unittest.TestCase):
t.add_track(fake.Track(1))
self.assertEqual(m.get_n_items(), 1)
self.assertEqual(m.get_item(0), fake.Track(1))
def test_tag_model_init_none(self):
m = model.TagModel()
self.assertEqual(m.get_n_items(), 0)
self.assertIsNone(m.get_item(0))