~nataliabidart/software-center/winged-migration

« back to all changes in this revision

Viewing changes to tests/gtk3/test_search.py

  • Committer: Natalia B. Bidart
  • Date: 2012-05-30 18:39:55 UTC
  • mto: This revision was merged to the branch mainline in revision 3030.
  • Revision ID: natalia.bidart@canonical.com-20120530183955-zbnjczayktmmg5tv
- Initial test cleanup:
  - Renamed test/ dir to tests/.
  - Isolated test code into tests/ directory, including moving all the
    get_test_window_foo from the gtk3 production modules to
    tests/gtk3/windows.py module.
  - Removed all the calls to Gtk.main() in gtk3 tests since that blocks the
    execution of the suite.
  - Pep8 and pyflakes fixes in the files already modified in this branch.
  - Minor bug fix in the softwarecenter/log.py module when trying to create a
    log dir with proper perms.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/python
2
 
 
3
 
from gi.repository import Gtk, GObject
4
 
import time
5
1
import unittest
6
2
 
7
 
from testutils import setup_test_env
 
3
from tests.utils import do_events_with_sleep, setup_test_env
8
4
setup_test_env()
9
5
 
10
 
TIMEOUT=300
 
6
from tests.gtk3.windows import (
 
7
    get_test_window_availablepane,
 
8
    get_test_window_installedpane,
 
9
)
 
10
 
11
11
 
12
12
class TestSearch(unittest.TestCase):
13
13
 
14
14
    def test_installedpane(self):
15
 
        from softwarecenter.ui.gtk3.panes.installedpane import get_test_window
16
 
        win = get_test_window()
 
15
        win = get_test_window_installedpane()
 
16
        self.addCleanup(win.destroy)
17
17
        installedpane = win.get_data("pane")
18
 
        self._p()
 
18
        do_events_with_sleep()
19
19
        installedpane.on_search_terms_changed(None, "the")
20
 
        self._p()
 
20
        do_events_with_sleep()
21
21
        model = installedpane.app_view.tree_view.get_model()
22
22
        len1 = len(model)
23
23
        installedpane.on_search_terms_changed(None, "nosuchsearchtermforsure")
24
 
        self._p()
 
24
        do_events_with_sleep()
25
25
        len2 = len(model)
26
26
        self.assertTrue(len2 < len1)
27
 
        GObject.timeout_add(TIMEOUT, lambda: win.destroy())
28
 
        Gtk.main()
29
27
 
30
28
    def test_availablepane(self):
31
 
        from softwarecenter.ui.gtk3.panes.availablepane import get_test_window
32
 
        win = get_test_window()
 
29
        win = get_test_window_availablepane()
 
30
        self.addCleanup(win.destroy)
33
31
        pane = win.get_data("pane")
34
 
        self._p()
 
32
        do_events_with_sleep()
35
33
        pane.on_search_terms_changed(None, "the")
36
 
        self._p()
 
34
        do_events_with_sleep()
37
35
        sortmode = pane.app_view.sort_methods_combobox.get_active_text()
38
36
        self.assertEqual(sortmode, "By Relevance")
39
37
        model = pane.app_view.tree_view.get_model()
40
38
        len1 = len(model)
41
39
        pane.on_search_terms_changed(None, "nosuchsearchtermforsure")
42
 
        self._p()
 
40
        do_events_with_sleep()
43
41
        len2 = len(model)
44
42
        self.assertTrue(len2 < len1)
45
 
        GObject.timeout_add(TIMEOUT, lambda: win.destroy())
46
 
        Gtk.main()
47
 
        
48
 
 
49
 
 
50
 
    def _p(self):
51
 
        for i in range(10):
52
 
            time.sleep(0.1)
53
 
            while Gtk.events_pending():
54
 
                Gtk.main_iteration()
55
43
 
56
44
 
57
45
if __name__ == "__main__":
58
 
    import logging
59
 
    logging.basicConfig(level=logging.INFO)
60
46
    unittest.main()