def test_navhistory_lobby_search_then_clear(self): (back_forward_btn, options, navhistory, view_manager, pane) = self._get_boring_stuff() # first we must initialize the NavHistory with the equivalent of the initial category view # NnavigationItem(view_manager, pane, page, view_state, callback) item = NavigationItem(view_manager, pane, AvailablePane.Pages.LOBBY, DisplayState(), "cb") navhistory.append(item) # append equivalent of a typed search dstate = DisplayState() dstate.search_term = "chess" item = NavigationItem(view_manager, pane, AvailablePane.Pages.LIST, dstate, "cb") navhistory.append(item) self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) # simulate the user clearing the search entry dstate = DisplayState() dstate.search_term = "" item = NavigationItem(view_manager, pane, AvailablePane.Pages.LOBBY, dstate, "cb") navhistory.append(item) self.assertFalse(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive)
def get_test_window(): from softwarecenter.testutils import ( get_test_db, get_test_datadir, get_test_gtk3_viewmanager, get_test_pkg_info, get_test_gtk3_icon_cache, ) # needed because available pane will try to get it vm = get_test_gtk3_viewmanager() vm # make pyflakes happy db = get_test_db() cache = get_test_pkg_info() datadir = get_test_datadir() icons = get_test_gtk3_icon_cache() w = InstalledPane(cache, db, "Ubuntu", icons, datadir) w.show() win = Gtk.Window() win.set_data("pane", w) win.add(w) win.set_size_request(400, 600) win.connect("destroy", lambda x: Gtk.main_quit()) # init the view w.init_view() from softwarecenter.backend.channel import AllInstalledChannel from softwarecenter.ui.gtk3.panes.softwarepane import DisplayState w.state.channel = AllInstalledChannel() view_state = DisplayState() view_state.channel = AllInstalledChannel() w.display_overview_page(None, view_state) win.show() return win
def test_navhistory_lobby_search_then_clear(self): (back_forward_btn, options, navhistory, view_manager, pane) = self._get_boring_stuff() # first we must initialize the NavHistory with the equivalent of the initial category view # NnavigationItem(view_manager, pane, page, view_state, callback) item = NavigationItem(view_manager, pane, AvailablePane.Pages.LOBBY, DisplayState(), "cb") navhistory.append(item) # append equivalent of a typed search dstate = DisplayState() dstate.search_term = "chess" item = NavigationItem(view_manager, pane, AvailablePane.Pages.LIST, dstate, "cb") navhistory.append(item) self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) # simulate the user clearing the search entry dstate = DisplayState() dstate.search_term = "" item = NavigationItem(view_manager, pane, AvailablePane.Pages.LOBBY, dstate, "cb") navhistory.append(item) self.assertFalse(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive)
def get_test_window(): from softwarecenter.testutils import ( get_test_db, get_test_datadir, get_test_gtk3_viewmanager, get_test_pkg_info, get_test_gtk3_icon_cache, ) # needed because available pane will try to get it vm = get_test_gtk3_viewmanager() vm # make pyflakes happy db = get_test_db() cache = get_test_pkg_info() datadir = get_test_datadir() icons = get_test_gtk3_icon_cache() w = InstalledPane(cache, db, 'Ubuntu', icons, datadir) w.show() win = Gtk.Window() win.set_data("pane", w) win.add(w) win.set_size_request(400, 600) win.connect("destroy", lambda x: Gtk.main_quit()) # init the view w.init_view() from softwarecenter.backend.channel import AllInstalledChannel from softwarecenter.ui.gtk3.panes.softwarepane import DisplayState w.state.channel = AllInstalledChannel() view_state = DisplayState() view_state.channel = AllInstalledChannel() w.display_overview_page(None, view_state) win.show() return win
def __init__(self, icons): Gtk.ScrolledWindow.__init__(self) BasePane.__init__(self) self.state = DisplayState() self.pane_name = _("Progress") self.tv = Gtk.TreeView() # customization self.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) self.add(self.tv) self.tv.set_headers_visible(False) self.tv.connect("button-press-event", self._on_button_pressed) # icon self.icons = icons tp = Gtk.CellRendererPixbuf() tp.set_property("xpad", self.CANCEL_XPAD) tp.set_property("ypad", self.CANCEL_YPAD) column = Gtk.TreeViewColumn("Icon", tp, pixbuf=PendingStore.COL_ICON) self.tv.append_column(column) # name tr = Gtk.CellRendererText() column = Gtk.TreeViewColumn("Name", tr, markup=PendingStore.COL_STATUS) column.set_min_width(200) column.set_expand(True) self.tv.append_column(column) # progress tp = Gtk.CellRendererProgress() tp.set_property("xpad", self.CANCEL_XPAD) tp.set_property("ypad", self.CANCEL_YPAD) tp.set_property("text", "") column = Gtk.TreeViewColumn("Progress", tp, value=PendingStore.COL_PROGRESS, pulse=PendingStore.COL_PULSE) column.set_min_width(200) self.tv.append_column(column) # cancel icon tpix = Gtk.CellRendererPixbuf() column = Gtk.TreeViewColumn("Cancel", tpix, stock_id=PendingStore.COL_CANCEL) self.tv.append_column(column) # fake columns that eats the extra space at the end tt = Gtk.CellRendererText() column = Gtk.TreeViewColumn("Cancel", tt) self.tv.append_column(column) # add it store = PendingStore(icons) self.tv.set_model(store)
def test_navhistory_cat_search_then_clear(self): (back_forward_btn, options, navhistory, view_manager, pane) = self._get_boring_stuff() # first we must initialize the NavHistory with the equivalent of the initial category view # NnavigationItem(view_manager, pane, page, view_state, callback) item = NavigationItem(view_manager, pane, AvailablePane.Pages.LOBBY, DisplayState(), "cb") navhistory.append(item) # simulate Accessories category LIST dstate = DisplayState() dstate.category = Category("accessories", "Accessories", "iconname", "query") item = NavigationItem(view_manager, pane, AvailablePane.Pages.LIST, dstate, "cb") navhistory.append(item) # displaying the Accessories LIST self.assertTrue(len(navhistory.stack) == 2) self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) # simulate a user search dstate = DisplayState() dstate.category = Category("accessories", "Accessories", "iconname", "query") dstate.search_term = "chess" item = NavigationItem(view_manager, pane, AvailablePane.Pages.LIST, dstate, "cb") navhistory.append(item) # should be displaying the search results for Accessories self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) self.assertTrue(len(navhistory.stack) == 3) # simulate a user clearing the search dstate = DisplayState() dstate.category = Category("accessories", "Accessories", "iconname", "query") dstate.search_term = "" item = NavigationItem(view_manager, pane, AvailablePane.Pages.LIST, dstate, "cb") navhistory.append(item) self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) # should be returned to the Accessories list view self.assertTrue(len(navhistory.stack) == 2)
def test_navhistory_subcat_search_then_clear(self): (back_forward_btn, options, navhistory, view_manager, pane) = self._get_boring_stuff() # first we must initialize the NavHistory with the equivalent of the initial category view # NnavigationItem(view_manager, pane, page, view_state, callback) item = NavigationItem(view_manager, pane, AvailablePane.Pages.LOBBY, DisplayState(), "cb") navhistory.append(item) board_games = Category("board-games", "Board Games", "iconname", "query") games = Category("games", "Games", "iconname", "query", subcategories=[board_games]) # simulate Games category (with subcats) dstate = DisplayState() dstate.category = games item = NavigationItem(view_manager, pane, AvailablePane.Pages.SUBCATEGORY, dstate, "cb") navhistory.append(item) # displaying the Games SUBCATEGORY self.assertTrue(len(navhistory.stack) == 2) self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) # simulate Board Games subcategory LIST dstate = DisplayState() dstate.category = games dstate.subcategory = board_games item = NavigationItem(view_manager, pane, AvailablePane.Pages.LIST, dstate, "cb") navhistory.append(item) # displaying the Accessories LIST self.assertTrue(len(navhistory.stack) == 3) self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) # simulate a user search within subcat dstate = DisplayState() dstate.category = games dstate.subcategory = board_games dstate.search_term = "chess" item = NavigationItem(view_manager, pane, AvailablePane.Pages.LIST, dstate, "cb") navhistory.append(item) # should be displaying the search results for Accessories self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) self.assertTrue(len(navhistory.stack) == 4) # simulate a user clearing the search dstate = DisplayState() dstate.category = games dstate.subcategory = board_games dstate.search_term = "" item = NavigationItem(view_manager, pane, AvailablePane.Pages.LIST, dstate, "cb") navhistory.append(item) # should be returned to the Board Games LIST view self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) self.assertTrue(len(navhistory.stack) == 3) # verify that navhistory item 2 is LIST page self.assertTrue(navhistory.stack[2].page == AvailablePane.Pages.LIST) # verify that navhistory item 1 is SUBCATEGORY page self.assertTrue(navhistory.stack[1].page == AvailablePane.Pages.SUBCATEGORY) # verify that navhistory item 0 is LOBBY page self.assertTrue(navhistory.stack[0].page == AvailablePane.Pages.LOBBY)
def test_navhistory_cat_search_then_clear(self): (back_forward_btn, options, navhistory, view_manager, pane) = self._get_boring_stuff() # first we must initialize the NavHistory with the equivalent of the initial category view # NnavigationItem(view_manager, pane, page, view_state, callback) item = NavigationItem(view_manager, pane, AvailablePane.Pages.LOBBY, DisplayState(), "cb") navhistory.append(item) # simulate Accessories category LIST dstate = DisplayState() dstate.category = Category('accessories', 'Accessories', 'iconname', 'query') item = NavigationItem(view_manager, pane, AvailablePane.Pages.LIST, dstate, "cb") navhistory.append(item) # displaying the Accessories LIST self.assertTrue(len(navhistory.stack) == 2) self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) # simulate a user search dstate = DisplayState() dstate.category = Category('accessories', 'Accessories', 'iconname', 'query') dstate.search_term = "chess" item = NavigationItem(view_manager, pane, AvailablePane.Pages.LIST, dstate, "cb") navhistory.append(item) # should be displaying the search results for Accessories self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) self.assertTrue(len(navhistory.stack) == 3) # simulate a user clearing the search dstate = DisplayState() dstate.category = Category('accessories', 'Accessories', 'iconname', 'query') dstate.search_term = "" item = NavigationItem(view_manager, pane, AvailablePane.Pages.LIST, dstate, "cb") navhistory.append(item) self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) # should be returned to the Accessories list view self.assertTrue(len(navhistory.stack) == 2)
def test_navhistory_subcat_search_then_clear(self): (back_forward_btn, options, navhistory, view_manager, pane) = self._get_boring_stuff() # first we must initialize the NavHistory with the equivalent of the initial category view # NnavigationItem(view_manager, pane, page, view_state, callback) item = NavigationItem(view_manager, pane, AvailablePane.Pages.LOBBY, DisplayState(), "cb") navhistory.append(item) board_games = Category('board-games', 'Board Games', 'iconname', 'query') games = Category('games', 'Games', 'iconname', 'query', subcategories=[board_games,]) # simulate Games category (with subcats) dstate = DisplayState() dstate.category = games item = NavigationItem(view_manager, pane, AvailablePane.Pages.SUBCATEGORY, dstate, "cb") navhistory.append(item) # displaying the Games SUBCATEGORY self.assertTrue(len(navhistory.stack) == 2) self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) # simulate Board Games subcategory LIST dstate = DisplayState() dstate.category = games dstate.subcategory = board_games item = NavigationItem(view_manager, pane, AvailablePane.Pages.LIST, dstate, "cb") navhistory.append(item) # displaying the Accessories LIST self.assertTrue(len(navhistory.stack) == 3) self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) # simulate a user search within subcat dstate = DisplayState() dstate.category = games dstate.subcategory = board_games dstate.search_term = "chess" item = NavigationItem(view_manager, pane, AvailablePane.Pages.LIST, dstate, "cb") navhistory.append(item) # should be displaying the search results for Accessories self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) self.assertTrue(len(navhistory.stack) == 4) # simulate a user clearing the search dstate = DisplayState() dstate.category = games dstate.subcategory = board_games dstate.search_term = "" item = NavigationItem(view_manager, pane, AvailablePane.Pages.LIST, dstate, "cb") navhistory.append(item) # should be returned to the Board Games LIST view self.assertTrue(back_forward_btn.left.sensitive) self.assertFalse(back_forward_btn.right.sensitive) self.assertTrue(len(navhistory.stack) == 3) # verify that navhistory item 2 is LIST page self.assertTrue(navhistory.stack[2].page == AvailablePane.Pages.LIST) # verify that navhistory item 1 is SUBCATEGORY page self.assertTrue(navhistory.stack[1].page == AvailablePane.Pages.SUBCATEGORY) # verify that navhistory item 0 is LOBBY page self.assertTrue(navhistory.stack[0].page == AvailablePane.Pages.LOBBY)