1import builtins 2 3import pytest 4from unittest.mock import patch 5 6from xonsh.environ import Env 7import xonsh.completers.path as xcp 8 9 10@pytest.fixture(autouse=True) 11def xonsh_execer_autouse(xonsh_builtins, xonsh_execer): 12 return xonsh_execer 13 14 15def test_pattern_need_quotes(): 16 # just make sure the regex compiles 17 xcp.PATTERN_NEED_QUOTES.match("") 18 19 20def test_complete_path(xonsh_builtins): 21 xonsh_builtins.__xonsh_env__ = { 22 "CASE_SENSITIVE_COMPLETIONS": False, 23 "GLOB_SORTED": True, 24 "SUBSEQUENCE_PATH_COMPLETION": False, 25 "FUZZY_PATH_COMPLETION": False, 26 "SUGGEST_THRESHOLD": 3, 27 "CDPATH": set(), 28 } 29 xcp.complete_path("[1-0.1]", "[1-0.1]", 0, 7, dict()) 30 31 32@patch("xonsh.completers.path._add_cdpaths") 33def test_cd_path_no_cd(mock_add_cdpaths, xonsh_builtins): 34 xonsh_builtins.__xonsh_env__ = { 35 "CASE_SENSITIVE_COMPLETIONS": False, 36 "GLOB_SORTED": True, 37 "SUBSEQUENCE_PATH_COMPLETION": False, 38 "FUZZY_PATH_COMPLETION": False, 39 "SUGGEST_THRESHOLD": 3, 40 "CDPATH": ["/"], 41 } 42 xcp.complete_path("a", "cat a", 4, 5, dict()) 43 mock_add_cdpaths.assert_not_called() 44