gtk: Add a MessagesView to the XfstestsView
This is placed in a Gtk.Stack with a nice transition to show the failed tests log. Signed-off-by: Anna Schumaker <anna@nowheycreamery.com>
This commit is contained in:
parent
ea2913429c
commit
952889687f
|
@ -494,17 +494,32 @@ class TestXfstestsView(unittest.TestCase):
|
|||
xfstestsdb.gtk.view.PropertyView)
|
||||
self.assertEqual(sep.get_next_sibling(), self.view._propertyview)
|
||||
|
||||
def test_testcase_view(self):
|
||||
"""Check that the XfstestsView sets up a TestCaseView correctly."""
|
||||
def test_stack(self):
|
||||
"""Check that the XfstestsView sets u a Gtk.Stack correctly."""
|
||||
sep = self.view._propertyview.get_next_sibling()
|
||||
self.assertIsInstance(sep, Gtk.Separator)
|
||||
self.assertIsInstance(self.view._stack, Gtk.Stack)
|
||||
self.assertEqual(self.view._stack.props.transition_type,
|
||||
Gtk.StackTransitionType.OVER_LEFT_RIGHT)
|
||||
self.assertEqual(sep.get_next_sibling(), self.view._stack)
|
||||
|
||||
def test_testcase_view(self):
|
||||
"""Check that the XfstestsView sets up a TestCaseView correctly."""
|
||||
self.assertIsInstance(self.view._testcaseview,
|
||||
xfstestsdb.gtk.view.TestCaseView)
|
||||
self.assertEqual(sep.get_next_sibling(), self.view._testcaseview)
|
||||
self.assertEqual(self.view._stack.get_child_by_name("testcases"),
|
||||
self.view._testcaseview)
|
||||
|
||||
def test_messages_view(self):
|
||||
"""Check that the XfstestsView sets up a MessagesView correctly."""
|
||||
self.assertIsInstance(self.view._messagesview,
|
||||
xfstestsdb.gtk.view.MessagesView)
|
||||
self.assertEqual(self.view._stack.get_child_by_name("messages"),
|
||||
self.view._messagesview)
|
||||
|
||||
def test_summary_view(self):
|
||||
"""Check that the XfstestsView sets up a SummaryView correctly."""
|
||||
sep = self.view._testcaseview.get_next_sibling()
|
||||
sep = self.view._stack.get_next_sibling()
|
||||
self.assertIsInstance(sep, Gtk.Separator)
|
||||
self.assertIsInstance(self.view._summaryview,
|
||||
xfstestsdb.gtk.view.SummaryView)
|
||||
|
@ -538,3 +553,21 @@ class TestXfstestsView(unittest.TestCase):
|
|||
"""Test the XfstestsView 'filterbuttons' property."""
|
||||
self.assertEqual(self.view.filterbuttons,
|
||||
self.view._testcaseview.filterbuttons)
|
||||
|
||||
def test_messages(self):
|
||||
"""Test displaying messages to the user."""
|
||||
self.assertEqual(self.view._stack.get_visible_child_name(),
|
||||
"testcases")
|
||||
|
||||
self.view._testcaseview.emit("show-messages", "testcase",
|
||||
"xunit", "stdout", "stderr")
|
||||
self.assertEqual(self.view._stack.get_visible_child_name(),
|
||||
"messages")
|
||||
self.assertEqual(self.view._messagesview.testcase, "testcase")
|
||||
self.assertEqual(self.view._messagesview.xunit, "xunit")
|
||||
self.assertEqual(self.view._messagesview.stdout, "stdout")
|
||||
self.assertEqual(self.view._messagesview.stderr, "stderr")
|
||||
|
||||
self.view._messagesview.emit("go-back")
|
||||
self.assertEqual(self.view._stack.get_visible_child_name(),
|
||||
"testcases")
|
||||
|
|
|
@ -299,10 +299,13 @@ class XfstestsView(Gtk.Box):
|
|||
|
||||
def __init__(self):
|
||||
"""Initialize an XfstestsView."""
|
||||
animation = Gtk.StackTransitionType.OVER_LEFT_RIGHT
|
||||
super().__init__(orientation=Gtk.Orientation.VERTICAL)
|
||||
self._environview = EnvironmentView()
|
||||
self._propertyview = PropertyView()
|
||||
self._testcaseview = TestCaseView()
|
||||
self._messagesview = MessagesView()
|
||||
self._stack = Gtk.Stack(transition_type=animation)
|
||||
self._summaryview = SummaryView()
|
||||
|
||||
self.bind_property("environment", self._environview, "model")
|
||||
|
@ -310,14 +313,31 @@ class XfstestsView(Gtk.Box):
|
|||
self.bind_property("model", self._testcaseview, "model")
|
||||
self.bind_property("summary", self._summaryview, "model")
|
||||
|
||||
self._testcaseview.connect("show-messages", self.__show_messages)
|
||||
self._messagesview.connect("go-back", self.__show_testcases)
|
||||
|
||||
self._stack.add_named(self._testcaseview, "testcases")
|
||||
self._stack.add_named(self._messagesview, "messages")
|
||||
|
||||
self.append(self._environview)
|
||||
self.append(Gtk.Separator())
|
||||
self.append(self._propertyview)
|
||||
self.append(Gtk.Separator())
|
||||
self.append(self._testcaseview)
|
||||
self.append(self._stack)
|
||||
self.append(Gtk.Separator())
|
||||
self.append(self._summaryview)
|
||||
|
||||
def __show_messages(self, view: TestCaseView, testcase: str,
|
||||
xunit: str, stdout: str, stderr: str) -> None:
|
||||
self._messagesview.testcase = testcase
|
||||
self._messagesview.xunit = xunit
|
||||
self._messagesview.stdout = stdout
|
||||
self._messagesview.stderr = stderr
|
||||
self._stack.set_visible_child_name("messages")
|
||||
|
||||
def __show_testcases(self, view: MessagesView) -> None:
|
||||
self._stack.set_visible_child_name("testcases")
|
||||
|
||||
@GObject.Property(type=FilterButtons)
|
||||
def filterbuttons(self) -> FilterButtons:
|
||||
"""Get the FilterButtons attached to the child TestCaseView."""
|
||||
|
|
Loading…
Reference in New Issue