import os from unittest.mock import MagicMock, patch from cloakbrowser import launch @patch("cloakbrowser.browser.ensure_binary") @patch("playwright.sync_api.sync_playwright") def test_extension_loading(mock_sync_playwright, mock_ensure_binary): mock_ensure_binary.return_value = "/fake/chrome" mock_browser = MagicMock() mock_pw = MagicMock() mock_pw.chromium.launch.return_value = mock_browser mock_sync_playwright.return_value.start.return_value = mock_pw launch(extension_paths=["./ext"]) mock_pw.chromium.launch.assert_called_once() launch_call = mock_pw.chromium.launch.call_args args = launch_call.kwargs["args"] abs_path = os.path.abspath("./ext") assert f"--load-extension={abs_path}" in args assert f"--disable-extensions-except={abs_path}" in args