@@ -43,17 +43,17 @@ def _values(items: list[CompletionItem]) -> list[str]:
4343def test_complete_root_partial (monkeypatch ) -> None :
4444 _patch (monkeypatch , _ROOT_CHILDREN )
4545 result = _complete_vfs_path (ctx = None , param = None , incomplete = "/d" )
46+ assert any (item .value == "/draws" and item .type == "dir" for item in result )
4647 values = _values (result )
47- assert "/draws/" in values
4848 assert "/info" not in values
4949
5050
5151def test_complete_root_empty (monkeypatch ) -> None :
5252 _patch (monkeypatch , _ROOT_CHILDREN )
5353 result = _complete_vfs_path (ctx = None , param = None , incomplete = "" )
54+ assert any (item .value == "/draws" and item .type == "dir" for item in result )
55+ assert any (item .value == "/events" and item .type == "dir" for item in result )
5456 values = _values (result )
55- assert "/draws/" in values
56- assert "/events/" in values
5757 assert "/info" in values
5858 assert "/stats" in values
5959
@@ -70,18 +70,22 @@ def fake_call(method: str, params: dict | None = None) -> dict:
7070 result = _complete_vfs_path (ctx = None , param = None , incomplete = "/draws/" )
7171 assert called_with [0 ]["path" ] == "/draws"
7272 values = _values (result )
73- assert "/draws/142/ " in values
74- assert "/draws/140/ " in values
73+ assert "/draws/142" in values
74+ assert "/draws/140" in values
7575
7676
7777def test_complete_nested_partial (monkeypatch ) -> None :
7878 _patch (monkeypatch , _DRAWS_CHILDREN )
7979 result = _complete_vfs_path (ctx = None , param = None , incomplete = "/draws/14" )
80+ typed = {item .value : item .type for item in result }
8081 values = _values (result )
81- assert "/draws/140/" in values
82- assert "/draws/141/" in values
83- assert "/draws/142/" in values
84- assert "/draws/200/" not in values
82+ assert "/draws/140" in values
83+ assert "/draws/141" in values
84+ assert "/draws/142" in values
85+ assert "/draws/200" not in values
86+ assert typed ["/draws/140" ] == "dir"
87+ assert typed ["/draws/141" ] == "dir"
88+ assert typed ["/draws/142" ] == "dir"
8589
8690
8791def test_complete_leaf_no_slash (monkeypatch ) -> None :
@@ -95,15 +99,22 @@ def test_complete_leaf_no_slash(monkeypatch) -> None:
9599 values = _values (result )
96100 assert "/draws/142/descriptors" in values
97101 assert "/draws/142/binary_buf" in values
98- assert "/draws/142/shader/" in values
102+ assert "/draws/142/shader" in values
103+ assert any (item .value == "/draws/142/shader" and item .type == "dir" for item in result )
99104
100105
101106def test_complete_deep_path (monkeypatch ) -> None :
102107 _patch (monkeypatch , _DRAW_142_CHILDREN )
103108 result = _complete_vfs_path (ctx = None , param = None , incomplete = "/draws/142/sh" )
104109 values = _values (result )
105- assert "/draws/142/shader/" in values
106- assert "/draws/142/pipeline/" not in values
110+ assert "/draws/142/shader" in values
111+ assert "/draws/142/pipeline" not in values
112+
113+
114+ def test_complete_alias_treated_as_directory (monkeypatch ) -> None :
115+ _patch (monkeypatch , [{"name" : "current" , "kind" : "alias" }])
116+ result = _complete_vfs_path (ctx = None , param = None , incomplete = "/c" )
117+ assert any (item .value == "/current" and item .type == "dir" for item in result )
107118
108119
109120def test_complete_no_session (monkeypatch ) -> None :
0 commit comments