コード例 #1
0
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
コード例 #2
0
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)