From c7da4f05958545319b4e7a09f576480649e2e70e Mon Sep 17 00:00:00 2001 From: "hubert.lenoir" Date: Wed, 8 Jan 2025 17:21:08 +0100 Subject: [PATCH] Fix reduced-motion tests on Windows --- src/ProcessManager/ChromeManager.php | 2 ++ src/ProcessManager/FirefoxManager.php | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ProcessManager/ChromeManager.php b/src/ProcessManager/ChromeManager.php index 07311fe8..5beb9ebc 100644 --- a/src/ProcessManager/ChromeManager.php +++ b/src/ProcessManager/ChromeManager.php @@ -118,6 +118,8 @@ private function getDefaultArguments(): array // Prefer reduced motion, see https://developer.mozilla.org/docs/Web/CSS/@media/prefers-reduced-motion if (!filter_var($_SERVER['PANTHER_NO_REDUCED_MOTION'] ?? false, \FILTER_VALIDATE_BOOLEAN)) { $args[] = '--force-prefers-reduced-motion'; + } else { + $args[] = '--force-prefers-no-reduced-motion'; } // Add custom arguments with PANTHER_CHROME_ARGUMENTS diff --git a/src/ProcessManager/FirefoxManager.php b/src/ProcessManager/FirefoxManager.php index 1de4503f..370460cf 100644 --- a/src/ProcessManager/FirefoxManager.php +++ b/src/ProcessManager/FirefoxManager.php @@ -66,13 +66,15 @@ public function start(): WebDriver $capabilities->setCapability('moz:firefoxOptions', $firefoxOptions); // Prefer reduced motion, see https://developer.mozilla.org/fr/docs/Web/CSS/@media/prefers-reduced-motion + /** @var FirefoxOptions|array $firefoxOptions */ + $firefoxOptions = $capabilities->getCapability('moz:firefoxOptions') ?? []; + $firefoxOptions = $firefoxOptions instanceof FirefoxOptions ? $firefoxOptions->toArray() : $firefoxOptions; if (!filter_var($_SERVER['PANTHER_NO_REDUCED_MOTION'] ?? false, \FILTER_VALIDATE_BOOLEAN)) { - /** @var FirefoxOptions|array $firefoxOptions */ - $firefoxOptions = $capabilities->getCapability('moz:firefoxOptions') ?? []; - $firefoxOptions = $firefoxOptions instanceof FirefoxOptions ? $firefoxOptions->toArray() : $firefoxOptions; $firefoxOptions['prefs']['ui.prefersReducedMotion'] = 1; - $capabilities->setCapability('moz:firefoxOptions', $firefoxOptions); + } else { + $firefoxOptions['prefs']['ui.prefersReducedMotion'] = 0; } + $capabilities->setCapability('moz:firefoxOptions', $firefoxOptions); foreach ($this->options['capabilities'] as $capability => $value) { $capabilities->setCapability($capability, $value);