Initial release: cd-browser v0.1.0

This commit is contained in:
2026-03-14 17:21:49 +01:00
commit f03417f2f2
39 changed files with 2351 additions and 0 deletions

43
tests/test_cli.py Normal file
View File

@@ -0,0 +1,43 @@
from pathlib import Path
import pytest
from app.cli import run_cli
from app.navigator import Navigator
class StubUI:
def __init__(self, result: Path) -> None:
self.result = result
self.navigator: Navigator | None = None
def run(self, navigator: Navigator) -> Path:
self.navigator = navigator
return self.result
def test_run_cli_uses_current_working_directory(
monkeypatch: pytest.MonkeyPatch, tmp_path: Path
) -> None:
stub_ui = StubUI(tmp_path)
monkeypatch.setattr(Path, "cwd", lambda: tmp_path)
result = run_cli(ui=stub_ui)
assert result == tmp_path.resolve()
assert stub_ui.navigator is not None
assert stub_ui.navigator.current_path == tmp_path.resolve()
def test_run_cli_uses_provided_start_path(tmp_path: Path) -> None:
start_path = tmp_path / "workspace"
start_path.mkdir()
final_path = tmp_path / "final"
final_path.mkdir()
stub_ui = StubUI(final_path)
result = run_cli(start_path=start_path, ui=stub_ui)
assert result == final_path.resolve()
assert stub_ui.navigator is not None
assert stub_ui.navigator.current_path == start_path.resolve()