From 77b4bb0453eebf81faf79548867dd65ad2bfe922 Mon Sep 17 00:00:00 2001 From: lp07 Date: Sat, 27 Dec 2025 15:10:39 -0600 Subject: [PATCH] Fix ignore_default_args bool handling --- playwright/_impl/_browser_type.py | 2 ++ tests/async/test_launcher.py | 9 +++++++++ tests/sync/test_launcher.py | 7 +++++++ 3 files changed, 18 insertions(+) diff --git a/playwright/_impl/_browser_type.py b/playwright/_impl/_browser_type.py index ba376c336..88ea5fc52 100644 --- a/playwright/_impl/_browser_type.py +++ b/playwright/_impl/_browser_type.py @@ -357,6 +357,8 @@ def normalize_launch_params(params: Dict) -> None: if params["ignoreDefaultArgs"] is True: params["ignoreAllDefaultArgs"] = True del params["ignoreDefaultArgs"] + elif params["ignoreDefaultArgs"] is False: + del params["ignoreDefaultArgs"] if "executablePath" in params: params["executablePath"] = str(Path(params["executablePath"])) if "downloadsPath" in params: diff --git a/tests/async/test_launcher.py b/tests/async/test_launcher.py index bd5dd82de..2b954fd61 100644 --- a/tests/async/test_launcher.py +++ b/tests/async/test_launcher.py @@ -107,3 +107,12 @@ async def test_browser_close_should_be_callable_twice( browser.close(), ) await browser.close() + + +async def test_browser_type_launch_should_accept_ignore_default_args_false( + browser_type: BrowserType, launch_arguments: Dict +) -> None: + # Regression for https://github.com/microsoft/playwright-python/issues/3005: + # passing False used to crash with "expected array, got boolean". + browser = await browser_type.launch(**launch_arguments, ignore_default_args=False) + await browser.close() diff --git a/tests/sync/test_launcher.py b/tests/sync/test_launcher.py index 2e5ec1573..6b89b79a8 100644 --- a/tests/sync/test_launcher.py +++ b/tests/sync/test_launcher.py @@ -88,3 +88,10 @@ def test_browser_close_should_be_callable_twice( browser = browser_type.launch(**launch_arguments) browser.close() browser.close() + + +def test_browser_type_launch_should_accept_ignore_default_args_false( + browser_type: BrowserType, launch_arguments: Dict +) -> None: + browser = browser_type.launch(**launch_arguments, ignore_default_args=False) + browser.close()