def test_attrsortcombo_with_objectlist(): mock = importorskip('mock') ol = mock.Mock(spec=ObjectList) sort = AttrSortCombo(ol, [ ('name', 'Der name'), ('age', 'Das Alter'), ], 'name') (name, order), kw = ol.sort_by.call_args assert name == 'name' sort._proxy.update('age') name, order = ol.sort_by.call_args[0] print (name, order) assert name == 'age' sort._combo.set_active(0) # the combo is connected name, order = ol.sort_by.call_args[0] assert order == gtk.SORT_ASCENDING sort._order_button.set_active(True) name, order = ol.sort_by.call_args[0] assert order == gtk.SORT_DESCENDING
def test_attrsortcombo_with_treeview(): mock = importorskip('mock') ol = mock.Mock(spec=gtk.TreeView) model = ol.get_model.return_value = mock.Mock(spec=gtk.TreeSortable) sort = AttrSortCombo(ol, [ ('name', 'Der name'), ('age', 'Das Alter'), ], 'name') sort_func = model.set_default_sort_func (func, name), kw = sort_func.call_args assert name == 'name' sort._proxy.update('age') (func, name), kw = sort_func.call_args assert name == 'age' sort._combo.set_active(0) # the combo is connected (func, name), kw = sort_func.call_args assert name == 'name' col = model.set_sort_column_id assert col.call_args[0] == (-1, gtk.SORT_ASCENDING) sort._order_button.set_active(True) assert col.call_args[0] == (-1, gtk.SORT_DESCENDING)