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)
Beispiel #2
0
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')
Beispiel #5
0
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')
Beispiel #7
0
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)
Beispiel #9
0
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
Beispiel #11
0
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')
Beispiel #13
0
def test_subreddit():
    api = MagicMock()
    root = aboutrow.get_about_row(api, '/r/linux')