2021-08-26 12:27:25 -04:00
|
|
|
# Copyright 2021 (c) Anna Schumaker.
|
2021-08-26 12:58:08 -04:00
|
|
|
import db
|
2021-08-26 12:27:25 -04:00
|
|
|
import unittest
|
|
|
|
from gi.repository import Gtk
|
|
|
|
from . import queue
|
|
|
|
from . import task
|
|
|
|
from . import widgets
|
|
|
|
|
|
|
|
class FakeTask(task.Task):
|
|
|
|
def run_task(self): return None
|
|
|
|
|
|
|
|
class TestScannerProgressBar(unittest.TestCase):
|
|
|
|
def test_progress_bar(self):
|
|
|
|
q = queue.TaskQueue()
|
|
|
|
pb = widgets.ProgressBar(q)
|
|
|
|
|
|
|
|
self.assertIsInstance(pb, Gtk.ProgressBar)
|
|
|
|
self.assertTrue( pb.get_hexpand())
|
|
|
|
self.assertFalse(pb.get_visible())
|
|
|
|
self.assertEqual(pb.get_valign(), Gtk.Align.CENTER)
|
|
|
|
self.assertEqual(pb.queue, q)
|
|
|
|
|
|
|
|
for i in range(3): q.push(FakeTask())
|
|
|
|
self.assertTrue(pb.get_visible())
|
|
|
|
|
|
|
|
for i in [ 1, 2, 0 ]:
|
|
|
|
q.run()
|
|
|
|
self.assertEqual(pb.get_fraction(), i/3)
|
|
|
|
self.assertFalse(pb.get_visible())
|
2021-08-26 12:58:08 -04:00
|
|
|
|
|
|
|
|
|
|
|
class TestScannerUpdateButton(unittest.TestCase):
|
|
|
|
def test_update_button(self):
|
|
|
|
lib = db.library.Table.find("/a/b/c")
|
|
|
|
q = queue.TaskQueue()
|
|
|
|
ub = widgets.UpdateButton(lib, q)
|
|
|
|
|
|
|
|
self.assertIsInstance(ub, Gtk.Button)
|
|
|
|
self.assertEqual(ub.get_icon_name(), "view-refresh")
|
|
|
|
self.assertEqual(ub.library, lib)
|
|
|
|
self.assertEqual(ub.queue, q)
|
|
|
|
self.assertTrue(ub.get_hexpand())
|
|
|
|
|
|
|
|
ub.emit("clicked")
|
|
|
|
self.assertEqual(len(q.tasks), 2)
|
|
|
|
self.assertIsInstance(q.tasks[0], task.CheckSchedulerTask)
|
|
|
|
self.assertIsInstance(q.tasks[1], task.DirectoryTask)
|
|
|
|
q.tasks_finished()
|