Add unit test for completion show
This commit is contained in:
parent
c5ca102d93
commit
64d53e4cf9
@ -167,3 +167,36 @@ def test_completion_item_focus(which, tree, count, expected, completionview):
|
||||
completionview.completion_item_focus(which)
|
||||
idx = completionview.selectionModel().currentIndex()
|
||||
assert filtermodel.data(idx) == expected
|
||||
|
||||
|
||||
@pytest.mark.parametrize('show', ['always', 'auto', 'never'])
|
||||
@pytest.mark.parametrize('rows', [['Aa'], ['Aa', 'Bb']])
|
||||
@pytest.mark.parametrize('quick_complete', [True, False])
|
||||
def test_completion_item_focus(show, rows, quick_complete, config_stub, completionview):
|
||||
"""Test that on_next_prev_item moves the selection properly.
|
||||
|
||||
Args:
|
||||
tree: Each list represents a completion category, with each string
|
||||
being an item under that category.
|
||||
count: Number of times to go forward (or back if negative).
|
||||
expected: item data that should be selected after going back/forward.
|
||||
"""
|
||||
config_stub.data['completion']['show'] = show
|
||||
config_stub.data['completion']['quick-complete'] = quick_complete
|
||||
|
||||
model = base.BaseCompletionModel()
|
||||
for name in rows:
|
||||
cat = QStandardItem()
|
||||
model.appendRow(cat)
|
||||
cat.appendRow(QStandardItem(name))
|
||||
filtermodel = sortfilter.CompletionFilterModel(model,
|
||||
parent=completionview)
|
||||
|
||||
assert not completionview.isVisible()
|
||||
completionview.set_model(filtermodel)
|
||||
assert completionview.isVisible() == (show == 'always')
|
||||
completionview.completion_item_focus('next')
|
||||
expected = show != 'never' and not (quick_complete and len(rows) == 1)
|
||||
assert completionview.isVisible() == expected
|
||||
completionview.set_model(None)
|
||||
assert not completionview.isVisible()
|
||||
|
Loading…
Reference in New Issue
Block a user