62
62
self.assertTrue(self._on_the_right_page)
63
63
self.assertTrue(self._action_bar_hidden)
65
def _trigger_test_channel_view(self):
65
def _trigger_test_channel_view(self, condition):
67
67
self.app.available_pane.on_navigation_category(None, None)
73
73
# activate first app
74
74
column = self.app.channel_pane.app_view.get_column(0)
75
75
self.app.channel_pane.app_view.row_activated((0,), column)
76
# now simulate a channel-change
77
self.app.backend.emit("channels-changed", True)
77
# now simulate a the condition
78
if condition == "channels-changed":
79
self.app.backend.emit("channels-changed", True)
80
elif condition == "db-reopen":
81
self.app.db.emit("reopen")
82
elif condition == "cache-ready":
83
self.app.cache.emit("cache-ready")
85
self.assertNotReached("unknown condition")
79
87
# we just add bools here and do the asserts in the test_ function,
80
88
# make sure we stay on the same page
81
89
self._on_the_right_channel_view_page = (self.app.channel_pane.notebook.get_current_page() == self.app.channel_pane.PAGE_APP_DETAILS)
85
91
self.app.on_menuitem_close_activate(None)
87
93
def test_channel_view(self):
88
glib.timeout_add_seconds(1, self._trigger_test_channel_view)
94
glib.timeout_add_seconds(1, self._trigger_test_channel_view, "channels-changed")
96
self.assertTrue(self._on_the_right_channel_view_page)
98
def test_channel_view_on_db_reopen(self):
99
glib.timeout_add_seconds(1, self._trigger_test_channel_view, "db-reopen")
101
self.assertTrue(self._on_the_right_channel_view_page)
103
def test_channel_view_on_cache_ready(self):
104
glib.timeout_add_seconds(1, self._trigger_test_channel_view, "cache-ready")
90
106
self.assertTrue(self._on_the_right_channel_view_page)