예제 #1
0
def test_expand_item(items, user, user2):
    items.append(user)
    items.append(user2, user)
    item_expanded = CheckCalled(items, 'item-expanded')
    items.expand_item(user)
    refresh_gui()
    assert item_expanded.called
예제 #2
0
def test_expanded_signal(items, user, user2):
    items.append(user)
    items.append(user2, user)
    item_expanded = CheckCalled(items, 'item-expanded')
    items.expand_row(items._path_for(user), True)
    refresh_gui()
    assert item_expanded.called
예제 #3
0
 def test_update_and_read(self, proxy, value):
     proxy.update(value)
     if isinstance(proxy.widget, Gtk.FileChooserButton):
         refresh_gui(0.1, 0.1)
     else:
         refresh_gui()
     data = proxy.read()
     self.assertEqual(data, value)
예제 #4
0
 def test_select_single_fails_when_select_multiple_is_set(self):
     items.append(user)
     items.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE)
     self.assertRaises(AttributeError, 'items.selected_item = user')
     self.assertRaises(AttributeError, 'items.selected_item')
     items.selected_items = [user]
     refresh_gui()
     self.assertEqual(items.selected_items, [user])
예제 #5
0
 def test_add_proxy_for(self):
     m = ProxyGroup()
     e = Gtk.Entry()
     m.add_proxy_for('foo', e)
     check = CheckCalled(m, 'changed')
     e.set_text('a')
     refresh_gui()
     self.assertEqual(check.called_count, 1)
예제 #6
0
    def test_gcall(self):
        data = []

        def doit():
            gcall(data.append, 1)

        AsyncTask(doit).start()
        refresh_gui(.1)
        self.assertEqual(data, [1])
예제 #7
0
def test_double_click_event(items, user):
    items.append(user, select=True)
    e = gtk.gdk.Event(gtk.gdk._2BUTTON_PRESS)
    e.button = 1
    item_clicked = CheckCalled(items, 'item-double-clicked')
    items._emit_for_path((0, ), e)
    refresh_gui()
    assert item_clicked.called
    assert item_clicked.called_count == 1
예제 #8
0
def test_list_collapse_item(items, user, user2):
    items.append(user)
    items.append(user2, user)
    item_collapsed = CheckCalled(items, 'item-collapsed')
    items.expand_item(user)
    refresh_gui()
    items.collapse_item(user)
    refresh_gui()
    assert item_collapsed.called
예제 #9
0
def test_item_expanded(items, user, user2):
    items.append(user)
    items.append(user2, user)
    items.expand_item(user)
    refresh_gui()
    assert items.item_expanded(user)
    items.collapse_item(user)
    refresh_gui()
    assert not items.item_expanded(user)
예제 #10
0
def test_tree_collapse_item(items, user, user2):
    items.append(user)
    items.append(user2, user)
    item_collapsed = CheckCalled(items, 'item-collapsed')
    items.expand_item(user)
    refresh_gui()
    items.collapse_row(items._path_for(user))
    refresh_gui()
    assert item_collapsed.called
예제 #11
0
def test_left_click_event(items, user):
    items.append(user, select=True)
    e = gtk.gdk.Event(gtk.gdk.BUTTON_PRESS)
    e.button = 1
    e.x, e.y = 10.0, 10.0
    item_clicked = CheckCalled(items, 'item-left-clicked')
    items._emit_for_path((0, ), e)
    refresh_gui()
    assert item_clicked.called
    assert item_clicked.called_count == 1
예제 #12
0
    def test_invoke_in_mainloop(self):
        data = []

        def doit():
            invoke_in_mainloop(data.append, 1)
            assert invoke_in_mainloop(len, data) == 1

        AsyncTask(doit).start()
        # timeout needed for asynctask cleanup
        refresh_gui(.1)
        self.assertEqual(data, [1])
예제 #13
0
def test_edit_name(items, user):
    items.append(user)
    item_changed = CheckCalled(items, 'item-changed')

    refresh_gui()
    assert not item_changed.called
    name_cell = items.get_columns()[0].get_cells()[0]
    text_path = items._path_for(user)
    name_cell.emit('edited', text_path, 'peter')
    refresh_gui()
    assert user.name == 'peter'
    assert item_changed.called
예제 #14
0
    def test_async_task(self):
        data = []

        def do():
            data.append(1)
            return 2, 3

        def done(*k):
            data.extend(k)

        GeneratorTask(do, done).start()
        refresh_gui()
        self.assertEqual(data, [1, 2, 3])
예제 #15
0
    def test_add_proxy(self):
        m = ProxyGroup()
        e = Gtk.Entry()
        p = GtkEntryProxy(e)
        m.add_proxy('foo', p)
        check = CheckCalled(m, 'changed')
        e.set_text('a')
        refresh_gui()
        self.assertEqual(check.called_count, 1)

        p.update('b')
        refresh_gui()
        self.assertEqual(check.called_count, 2)
예제 #16
0
    def test_generator_task(self):
        data = []

        def do():
            for i in range(10):
                yield i

        def work(val):
            data.append(val)

        def done():
            data.extend(data)

        GeneratorTask(do, work, done).start()
        refresh_gui()

        self.assertEqual(
            data, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
예제 #17
0
    def test_deselect_multiple(self):
        listing = [user, user2]
        items.extend(listing)
        items.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE)
        items.selected_items = listing
        refresh_gui()
        self.assertEqual(items.selected_items, listing)
        items.selected_items = []
        refresh_gui()
        self.assertEqual(items.selected_items, [])

        items.selected_items = listing
        refresh_gui()
        self.assertEqual(items.selected_items, listing)
        items.selected_items = None
        refresh_gui()
        self.assertEqual(items.selected_items, [])
예제 #18
0
 def test_view_iters(self):
     items.extend([user, user2, user3])
     items.set_visible_func(lambda obj: obj.age < 100)
     refresh_gui()
     self.assertTrue(items.item_visible(user))
     self.assertFalse(items.item_visible(user3))
예제 #19
0
 def test_signal_after(self):
     d = _Delegate5()
     d.main.clicked()
     refresh_gui()
     self.assertTrue(d.clicked)
예제 #20
0
 def test_deselect(self):
     items.append(user)
     items.selected_item = user
     refresh_gui()
     items.selected_item = None
     refresh_gui()
예제 #21
0
 def test_column_width(self):
     col = Column('test', width=30)
     view_col = col.create_treecolumn(None)
     refresh_gui()
     self.assertEqual(view_col.get_sizing(), Gtk.TreeViewColumnSizing.FIXED)
     self.assertEqual(view_col.get_fixed_width(), 30)
예제 #22
0
 def _refresh_gui():
     refresh_gui()
     loop.call_soon(_refresh_gui)
예제 #23
0
 def assert_selects(self, key, item):
     self.entry.set_text(key)
     refresh_gui()
     assert self.ol.selected_item is item
예제 #24
0
def _destroy(win):
    # XXX: util?
    win.destroy()
    if not Gtk.main_level():
        from pyGtkHelpers.utils import refresh_gui
        refresh_gui()
예제 #25
0
 def test_signal_handle(self):
     d = _TestDelegate()
     d.main.clicked()
     refresh_gui()
     self.assertTrue(d.clicked)