mirror of
https://github.com/xonsh/xonsh.git
synced 2025-03-04 00:14:41 +01:00

* todo * test: remove usage of DummyEnv and setting .env attribute on xession fixture one step closer to making too much of tweaking to xession during tests * test: fix tests vox and gitstatus-prompt * docs: update test-fixture usage * fix: import flake8 error * test: remove direct access to XSH in tests * test: remove usage of XSH in test files * todo * test: use tmp-dir to create stubs * refactor: use fixture factory to mock out XonshSession * refactor: remove direct access of XSH from functions * refactor: remove direct access of XSH from functions * fix: qa checks * refactor: rename variables to match their values * test: update failing tests because it had no PATH set previously * fix: remove builtins usage from pyghooks.py * style: * refactor: update tests to use fixtures * fix: env varialbe is setup per function some tests accidentally update the env variables and that is leaking into next tests * fix: failing vox tests * test: set commands_cache per test * test: fix failing tests * fix: failing tests on linux ptk-highlight * fix: failing tests on Windows cwd-prompt * test: copy env as to not affect original object * fix: lazily evaluate cmds-cache in pyghooks * test: fix failing tests * fix: qa errors import * test: set commands-cache per test while caching path results * test: speedup test_thread_local_swap * fix: failing tests on windows * refactor: Execer doesn't control session * refactor: XSH.unload will take care of reversing builtins attrs set * test: use env.update over monkeypatch * Revert "test: use env.update over monkeypatch" This reverts commit 010a5022247a098f1741966b8af1bf758663480e.
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
import pytest
|
|
|
|
from xonsh.completers._aliases import add_one_completer
|
|
from xonsh.completers.tools import non_exclusive_completer
|
|
|
|
SIMPLE = lambda: None
|
|
NON_EXCLUSIVE = non_exclusive_completer(lambda: None)
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"initial, exp",
|
|
(
|
|
({}, ["new"]),
|
|
({"simp": SIMPLE}, ["new", "simp"]),
|
|
({"nx": NON_EXCLUSIVE}, ["nx", "new"]),
|
|
({"nx": NON_EXCLUSIVE, "simp": SIMPLE}, ["nx", "new", "simp"]),
|
|
(
|
|
{"ctx1": NON_EXCLUSIVE, "ctx2": NON_EXCLUSIVE, "simp": SIMPLE},
|
|
["ctx1", "ctx2", "new", "simp"],
|
|
),
|
|
(
|
|
{"ctx1": NON_EXCLUSIVE, "ctx2": NON_EXCLUSIVE, "simp": SIMPLE},
|
|
["ctx1", "ctx2", "new", "simp"],
|
|
),
|
|
(
|
|
{"ctx1": NON_EXCLUSIVE, "simp": SIMPLE, "ctx2": NON_EXCLUSIVE},
|
|
["ctx1", "new", "simp", "ctx2"],
|
|
),
|
|
),
|
|
)
|
|
def test_add_completer_start(monkeypatch, initial, exp, xession):
|
|
xession.completers.clear()
|
|
xession.completers.update(initial)
|
|
add_one_completer("new", SIMPLE, "start")
|
|
assert list(xession.completers.keys()) == exp
|