From d16ca31adf0ac19c2a347b239922c022ef230dd8 Mon Sep 17 00:00:00 2001 From: Vincent Langlet Date: Fri, 13 Jun 2025 23:13:45 +0200 Subject: [PATCH 1/3] Add a way to override the default value for verbose param --- .../Test/BrowserKitAssertionsTrait.php | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/Test/BrowserKitAssertionsTrait.php b/src/Symfony/Bundle/FrameworkBundle/Test/BrowserKitAssertionsTrait.php index 1b7437b778ec5..dbd9039e9ab54 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Test/BrowserKitAssertionsTrait.php +++ b/src/Symfony/Bundle/FrameworkBundle/Test/BrowserKitAssertionsTrait.php @@ -28,23 +28,38 @@ */ trait BrowserKitAssertionsTrait { - public static function assertResponseIsSuccessful(string $message = '', bool $verbose = true): void + private static bool $defaultVerboseMode = true; + + public static function setBrowserKitAssertionsDefaultVerboseMode(bool $verbose): void { + self::$defaultVerboseMode = $verbose; + } + + public static function assertResponseIsSuccessful(string $message = '', ?bool $verbose = null): void + { + $verbose ??= self::$defaultVerboseMode; + self::assertThatForResponse(new ResponseConstraint\ResponseIsSuccessful($verbose), $message); } - public static function assertResponseStatusCodeSame(int $expectedCode, string $message = '', bool $verbose = true): void + public static function assertResponseStatusCodeSame(int $expectedCode, string $message = '', ?bool $verbose = null): void { + $verbose ??= self::$defaultVerboseMode; + self::assertThatForResponse(new ResponseConstraint\ResponseStatusCodeSame($expectedCode, $verbose), $message); } - public static function assertResponseFormatSame(?string $expectedFormat, string $message = ''): void + public static function assertResponseFormatSame(?string $expectedFormat, string $message = '', ?bool $verbose = null): void { - self::assertThatForResponse(new ResponseConstraint\ResponseFormatSame(self::getRequest(), $expectedFormat), $message); + $verbose ??= self::$defaultVerboseMode; + + self::assertThatForResponse(new ResponseConstraint\ResponseFormatSame(self::getRequest(), $expectedFormat, $verbose), $message); } - public static function assertResponseRedirects(?string $expectedLocation = null, ?int $expectedCode = null, string $message = '', bool $verbose = true): void + public static function assertResponseRedirects(?string $expectedLocation = null, ?int $expectedCode = null, string $message = '', ?bool $verbose = null): void { + $verbose ??= self::$defaultVerboseMode; + $constraint = new ResponseConstraint\ResponseIsRedirected($verbose); if ($expectedLocation) { if (class_exists(ResponseConstraint\ResponseHeaderLocationSame::class)) { @@ -100,8 +115,10 @@ public static function assertResponseCookieValueSame(string $name, string $expec ), $message); } - public static function assertResponseIsUnprocessable(string $message = '', bool $verbose = true): void + public static function assertResponseIsUnprocessable(string $message = '', ?bool $verbose = null): void { + $verbose ??= self::$defaultVerboseMode; + self::assertThatForResponse(new ResponseConstraint\ResponseIsUnprocessable($verbose), $message); } From b28e926ff7e8c55237b8db07043cd9480995d498 Mon Sep 17 00:00:00 2001 From: Vincent Langlet Date: Sun, 15 Jun 2025 17:51:32 +0200 Subject: [PATCH 2/3] Rename --- .../Bundle/FrameworkBundle/Test/BrowserKitAssertionsTrait.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/Test/BrowserKitAssertionsTrait.php b/src/Symfony/Bundle/FrameworkBundle/Test/BrowserKitAssertionsTrait.php index dbd9039e9ab54..190f362d465f3 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Test/BrowserKitAssertionsTrait.php +++ b/src/Symfony/Bundle/FrameworkBundle/Test/BrowserKitAssertionsTrait.php @@ -30,7 +30,7 @@ trait BrowserKitAssertionsTrait { private static bool $defaultVerboseMode = true; - public static function setBrowserKitAssertionsDefaultVerboseMode(bool $verbose): void + public static function setBrowserKitAssertionsAsVerbose(bool $verbose): void { self::$defaultVerboseMode = $verbose; } From 0e1540ecfda50366bea0488a1f5eaedeb8e7a0ea Mon Sep 17 00:00:00 2001 From: Vincent Langlet Date: Mon, 16 Jun 2025 12:11:03 +0200 Subject: [PATCH 3/3] Avoid assignment --- .../Test/BrowserKitAssertionsTrait.php | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/Test/BrowserKitAssertionsTrait.php b/src/Symfony/Bundle/FrameworkBundle/Test/BrowserKitAssertionsTrait.php index 190f362d465f3..7d49aa61d22c6 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Test/BrowserKitAssertionsTrait.php +++ b/src/Symfony/Bundle/FrameworkBundle/Test/BrowserKitAssertionsTrait.php @@ -37,30 +37,22 @@ public static function setBrowserKitAssertionsAsVerbose(bool $verbose): void public static function assertResponseIsSuccessful(string $message = '', ?bool $verbose = null): void { - $verbose ??= self::$defaultVerboseMode; - - self::assertThatForResponse(new ResponseConstraint\ResponseIsSuccessful($verbose), $message); + self::assertThatForResponse(new ResponseConstraint\ResponseIsSuccessful($verbose ?? self::$defaultVerboseMode), $message); } public static function assertResponseStatusCodeSame(int $expectedCode, string $message = '', ?bool $verbose = null): void { - $verbose ??= self::$defaultVerboseMode; - - self::assertThatForResponse(new ResponseConstraint\ResponseStatusCodeSame($expectedCode, $verbose), $message); + self::assertThatForResponse(new ResponseConstraint\ResponseStatusCodeSame($expectedCode, $verbose ?? self::$defaultVerboseMode), $message); } public static function assertResponseFormatSame(?string $expectedFormat, string $message = '', ?bool $verbose = null): void { - $verbose ??= self::$defaultVerboseMode; - - self::assertThatForResponse(new ResponseConstraint\ResponseFormatSame(self::getRequest(), $expectedFormat, $verbose), $message); + self::assertThatForResponse(new ResponseConstraint\ResponseFormatSame(self::getRequest(), $expectedFormat, $verbose ?? self::$defaultVerboseMode), $message); } public static function assertResponseRedirects(?string $expectedLocation = null, ?int $expectedCode = null, string $message = '', ?bool $verbose = null): void { - $verbose ??= self::$defaultVerboseMode; - - $constraint = new ResponseConstraint\ResponseIsRedirected($verbose); + $constraint = new ResponseConstraint\ResponseIsRedirected($verbose ?? self::$defaultVerboseMode); if ($expectedLocation) { if (class_exists(ResponseConstraint\ResponseHeaderLocationSame::class)) { $locationConstraint = new ResponseConstraint\ResponseHeaderLocationSame(self::getRequest(), $expectedLocation); @@ -117,9 +109,7 @@ public static function assertResponseCookieValueSame(string $name, string $expec public static function assertResponseIsUnprocessable(string $message = '', ?bool $verbose = null): void { - $verbose ??= self::$defaultVerboseMode; - - self::assertThatForResponse(new ResponseConstraint\ResponseIsUnprocessable($verbose), $message); + self::assertThatForResponse(new ResponseConstraint\ResponseIsUnprocessable($verbose ?? self::$defaultVerboseMode), $message); } public static function assertBrowserHasCookie(string $name, string $path = '/', ?string $domain = null, string $message = ''): void