def test_subreddit_subscribe_button_initial_state(): api = MagicMock() api.lower_user_subs = ['/r/sub/'] root = aboutrow.get_about_row(api, '/r/linux') find_widget(root, label='Subscribe', kind=Gtk.Button) root = aboutrow.get_about_row(api, '/r/sub') find_widget(root, label='Subscribed', kind=Gtk.Button)
def __got_list_cb(self, j): self._msg = None self.remove(self.get_child()) self._listbox = Gtk.ListBox() self._listbox.connect('event', self.__listbox_event_cb) self._listbox.connect('row-selected', self.__row_selected_cb) self._listbox.connect('row-activated', self.__row_selected_cb) self._listbox.props.selection_mode = Gtk.SelectionMode.BROWSE self.add(self._listbox) self._listbox.show() if self._first_load: # First load you have to let the view set the size, # otherwise you get the tiny 20px width of the spinner self.set_size_request(-1, -1) self._first_load = False else: # If we keep the size request set, the user can't resize the view width = self.get_allocated_width() self.set_size_request(-1, -1) if isinstance(self.get_parent(), Gtk.Paned): self.get_parent().props.position = width self._first_row = None row = aboutrow.get_about_row(self._api, self._sub) if row is not None: row.get_style_context().add_class('about-row') self._listbox.insert(row, -1) row.show() self._first_row = row self.insert_data(j) self.focus()
def test_subreddit_submit(SubmitWindow): api = MagicMock() root = aboutrow.get_about_row(api, '/r/linux') find_widget(root, label='Submit', kind=Gtk.Button).emit('clicked') wait_for(lambda: SubmitWindow.called) SubmitWindow.assert_called_with(api, sub='linux')
def test_user_about_row(): api = MagicMock() root = aboutrow.get_about_row(api, '/u/bob') assert find_widget(root, label='bob') wait_for(lambda: api.get_user_info.called) (name, cb), _ = api.get_user_info.call_args assert name == 'bob' cb({'data': {'link_karma': 2, 'comment_karma': 1}}) assert find_widget(root, label='2l / 1c')
def test_subreddit_subscribe_button_toggle(): api = MagicMock() root = aboutrow.get_about_row(api, '/r/linux') btn = find_widget(root, label='Subscribe', kind=Gtk.Button) btn.emit('clicked') wait_for(lambda: api.set_subscribed.called) (name, active, cb), _ = api.set_subscribed.call_args assert name == 'linux' assert active == True cb(None) assert btn == find_widget(root, label='Subscribed', kind=Gtk.Button)
def test_subreddit_info(): api = MagicMock() root = aboutrow.get_about_row(api, '/r/linux') expander = find_widget(root, kind=Gtk.Expander) expander.activate() wait_for(lambda: api.get_subreddit_info.called) (name, cb), _ = api.get_subreddit_info.call_args assert name == 'linux' cb({'data': {'description': 'hello'}}) assert find_widget(root, label='hello').props.visible == True expander.activate() expander.activate() assert api.get_subreddit_info.call_count == 1
def test_subreddit(): api = MagicMock() root = aboutrow.get_about_row(api, '/r/linux')