3
from gi.repository import Gtk, GObject
8
sys.path.insert(0,"../..")
9
sys.path.insert(0,"..")
11
#from mock import Mock
15
import softwarecenter.paths
16
softwarecenter.paths.datadir = "../data"
18
class TestViews(unittest.TestCase):
20
def test_appview_search_combo(self):
21
from softwarecenter.ui.gtk3.views.appview import get_test_window
22
from softwarecenter.testutils import get_test_enquirer_matches
24
# test if combox sort option "by relevance" vanishes for non-searches
26
expected_normal = ["By Name", "By Top Rated", "By Newest First"]
27
expected_search = ["By Name", "By Top Rated", "By Newest First",
31
win = get_test_window()
33
appview = win.get_data("appview")
35
# test normal window (no search)
36
model = appview.sort_methods_combobox.get_model()
37
# collect items in the model
40
in_model.append(model.get_value(item.iter, 0))
41
# this is what we expect there
42
self.assertEqual(expected_normal, in_model)
44
# now repeat and simulate a search
45
matches = get_test_enquirer_matches(appview.helper.db)
46
appview.display_matches(matches, is_search=True)
50
in_model.append(model.get_value(item.iter, 0))
51
self.assertEqual(in_model, expected_search)
53
# and back again to no search
54
matches = get_test_enquirer_matches(appview.helper.db)
55
appview.display_matches(matches, is_search=False)
57
# collect items in the model
60
in_model.append(model.get_value(item.iter, 0))
61
self.assertEqual(expected_normal, in_model)
64
GObject.timeout_add(TIMEOUT, lambda: win.destroy())
70
while Gtk.events_pending():
73
if __name__ == "__main__":
75
logging.basicConfig(level=logging.DEBUG)