Files
camoufox/pythonlib/tests/test_cli_list.py
T
Jake WriterandClaude Opus 5.5 4616aa58ca fix(python)!: remove dead public API and make list all --path work
Breaking changes:

- Remove the exceptions UnknownProperty, InvalidDebugPort and
  MissingDebugPort. Nothing in the package raises them, so code catching
  them was catching nothing.
- Remove the legacy `allow_webgl` keyword of launch_options(). Use
  `block_webgl=True`. The keyword now reaches Playwright as an unknown
  launch option and fails there instead of being silently consumed.

`camoufox list all --path` accepted the flag and ignored it. It now prints
the install path beside each installed build, as `camoufox list --path`
already does for the installed tree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 20:34:17 -06:00

26 lines
985 B
Python

"""`camoufox list --path` shows install paths in both listing modes."""
from pathlib import Path
from click.testing import CliRunner
from camoufox import __main__ as cli
from camoufox.multiversion import InstalledVersion
from camoufox.pkgman import Version
def test_list_all_shows_the_path_of_an_installed_build(monkeypatch):
install = Path("/cache/browsers/official/152.0.4-beta.30")
installed = InstalledVersion(
repo_name="official", version=Version(build="beta.30", version="152.0.4"), path=install
)
cache = {"repos": [{"name": "official", "versions": [{"version": "152.0.4", "build": "beta.30"}]}]}
monkeypatch.setattr(cli, "_ensure_synced", lambda: True)
monkeypatch.setattr(cli, "load_repo_cache", lambda: cache)
monkeypatch.setattr(cli, "list_installed", lambda: [installed])
result = CliRunner().invoke(cli.cli, ["list", "all", "--path"])
assert result.exit_code == 0, result.output
assert str(install) in result.output