xonsh/tests/test_readline_shell.py

23 lines
830 B
Python

import pytest
from xonsh.completers.tools import RichCompletion
from xonsh.readline_shell import _render_completions
@pytest.mark.parametrize(
'prefix, completion, prefix_len, readline_completion', [
('', 'a', 0, 'a'),
('a', 'b', 0, 'ab'),
('a', 'b', 1, 'b'),
('adc', 'bc', 2, 'abc'),
('', RichCompletion('x', 0), 0, 'x'),
('', RichCompletion('x', 0, 'aaa', 'aaa'), 0, 'x'),
('a', RichCompletion('b', 1), 0, 'b'),
('a', RichCompletion('b', 0), 1, 'ab'),
('a', RichCompletion('b'), 0, 'ab'),
('a', RichCompletion('b'), 1, 'b'),
])
def test_render_completions(prefix, completion, prefix_len,
readline_completion):
assert _render_completions({completion}, prefix, prefix_len) == [
readline_completion]