xonsh/tests/completers/test_environment_completer.py
Daniel Shimon 6df8fe9ba7
Non exclusive completers (#4259)
* completers: Move `apply_lprefix` to completers/tools.py

* completers: Implement non-exclusive completers

* completers: Make end_proc keywords and tokens non-exclusive

* completers: Implement environment vars non-exclusive completer

* news: Add non-exclusive-completers
2021-05-11 09:50:40 -04:00

21 lines
563 B
Python

import pytest
from xonsh.parsers.completion_context import CompletionContextParser
from xonsh.completers.environment import complete_environment_vars
@pytest.fixture(scope="session")
def parser():
return CompletionContextParser()
@pytest.mark.parametrize("cmd", (
"ls $WO",
"ls /home/$WO",
"ls @('hi ' + $WO",
))
def test_simple(cmd, xonsh_builtins, monkeypatch, parser):
monkeypatch.setitem(xonsh_builtins.__xonsh__.env, "WOW", 1)
context = parser.parse(cmd, len(cmd))
assert complete_environment_vars(context) == ({"$WOW"}, 3)