~gary-lasker/software-center/tos-simple-fix

« back to all changes in this revision

Viewing changes to test/test_gui_withmainloop.py

  • Committer: Michael Vogt
  • Date: 2010-09-01 14:47:12 UTC
  • mfrom: (1093.1.12 less-flicker)
  • Revision ID: michael.vogt@ubuntu.com-20100901144712-i1pqx1y3qrpv3yt7
* softwarecenter/view/channelpane.py:
  - fix flicker in channelspane on db-reopen and add regression
    test
* merged lp:~mvo/software-center/less-flicker that fixes some
  UI flicker/ghost activity (LP: #626733)

Show diffs side-by-side

added added

removed removed

Lines of Context:
62
62
        self.assertTrue(self._on_the_right_page)
63
63
        self.assertTrue(self._action_bar_hidden)
64
64
 
65
 
    def _trigger_test_channel_view(self):
 
65
    def _trigger_test_channel_view(self, condition):
66
66
        # reset
67
67
        self.app.available_pane.on_navigation_category(None, None)
68
68
        self._p()
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)
 
76
        self._p()
 
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")
 
84
        else:
 
85
            self.assertNotReached("unknown condition")
78
86
        self._p()
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)
82
 
        
83
 
 
84
90
        # done
85
91
        self.app.on_menuitem_close_activate(None)
86
92
 
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")
 
95
        gtk.main()
 
96
        self.assertTrue(self._on_the_right_channel_view_page)
 
97
 
 
98
    def test_channel_view_on_db_reopen(self):
 
99
        glib.timeout_add_seconds(1, self._trigger_test_channel_view, "db-reopen")
 
100
        gtk.main()
 
101
        self.assertTrue(self._on_the_right_channel_view_page)
 
102
 
 
103
    def test_channel_view_on_cache_ready(self):
 
104
        glib.timeout_add_seconds(1, self._trigger_test_channel_view, "cache-ready")
89
105
        gtk.main()
90
106
        self.assertTrue(self._on_the_right_channel_view_page)
91
107
 
104
120
            gtk.main_iteration()
105
121
 
106
122
if __name__ == "__main__":
 
123
    if len(sys.argv) > 1 and sys.argv[1] == "-v":
 
124
        from softwarecenter.log import root
 
125
        root.setLevel(level=logging.DEBUG)
107
126
    unittest.main()