Skip to content

Commit 751c3a2

Browse files
committed
chore: suport Symfony 8
1 parent ff0152e commit 751c3a2

File tree

6 files changed

+37
-18
lines changed

6 files changed

+37
-18
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88

99
jobs:
1010
test:
11-
uses: zenstruck/.github/.github/workflows/php-test-symfony.yml@main
11+
uses: nikophil/.github-1/.github/workflows/php-test-symfony.yml@chore/sf-8
1212

1313
code-coverage:
1414
uses: zenstruck/.github/.github/workflows/php-coverage-codecov.yml@main

composer.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
"require": {
1515
"php": ">=8.0",
1616
"behat/mink": "^1.8",
17-
"symfony/browser-kit": "^5.4|^6.0|^7.0",
18-
"symfony/css-selector": "^5.4|^6.0|^7.0",
19-
"symfony/dom-crawler": "^5.4|^6.0|^7.0",
20-
"symfony/framework-bundle": "^5.4|^6.0|^7.0",
17+
"symfony/browser-kit": "^5.4|^6.0|^7.0|^8.0",
18+
"symfony/css-selector": "^5.4|^6.0|^7.0|^8.0",
19+
"symfony/dom-crawler": "^5.4|^6.0|^7.0|^8.0",
20+
"symfony/framework-bundle": "^5.4|^6.0|^7.0|^8.0",
2121
"zenstruck/assert": "^1.1",
2222
"zenstruck/callback": "^1.4.2"
2323
},
@@ -27,10 +27,10 @@
2727
"mtdowling/jmespath.php": "^2.6",
2828
"phpstan/phpstan": "^1.4",
2929
"phpunit/phpunit": "^9.6.21|^10.4",
30-
"symfony/mime": "^5.4|^6.0|^7.0",
30+
"symfony/mime": "^5.4|^6.0|^7.0|^8.0",
3131
"symfony/panther": "^1.1|^2.0.1",
32-
"symfony/phpunit-bridge": "^6.0|^7.0",
33-
"symfony/security-bundle": "^5.4|^6.0|^7.0"
32+
"symfony/phpunit-bridge": "^6.0|^7.0|^8.0",
33+
"symfony/security-bundle": "^5.4|^6.0|^7.0|^8.0"
3434
},
3535
"suggest": {
3636
"justinrainbow/json-schema": "Json schema validator. Needed to use Json::assertMatchesSchema().",
@@ -46,6 +46,6 @@
4646
"autoload-dev": {
4747
"psr-4": { "Zenstruck\\Browser\\Tests\\": "tests/" }
4848
},
49-
"minimum-stability": "dev",
49+
"minimum-stability": "beta",
5050
"prefer-stable": true
5151
}

phpstan-baseline.neon

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -91,22 +91,22 @@ parameters:
9191
path: src/Browser/KernelBrowser.php
9292

9393
-
94-
message: "#^Method Zenstruck\\\\Browser\\\\Session\\\\Driver\\\\BrowserKitDriver\\:\\:getFormField\\(\\) should return Symfony\\\\Component\\\\DomCrawler\\\\Field\\\\FormField but returns array\\<Symfony\\\\Component\\\\DomCrawler\\\\Field\\\\FormField\\>\\|Symfony\\\\Component\\\\DomCrawler\\\\Field\\\\FormField\\.$#"
94+
message: "#^Parameter \\#1 \\$client of class Zenstruck\\\\Browser\\\\Session\\\\Driver\\\\BrowserKitDriver constructor expects Symfony\\\\Component\\\\BrowserKit\\\\AbstractBrowser\\<Symfony\\\\Component\\\\BrowserKit\\\\Request, Symfony\\\\Component\\\\HttpFoundation\\\\Response\\>, Symfony\\\\Bundle\\\\FrameworkBundle\\\\KernelBrowser given\\.$#"
9595
count: 1
96-
path: src/Browser/Session/Driver/BrowserKitDriver.php
96+
path: src/Browser/KernelBrowser.php
9797

9898
-
99-
message: "#^Method Zenstruck\\\\Browser\\\\Session\\\\Driver\\\\BrowserKitDriver\\:\\:getFormNode\\(\\) should return DOMElement but returns DOMNode\\.$#"
99+
message: "#^Method Zenstruck\\\\Browser\\\\Session\\\\Driver\\\\BrowserKitDriver\\:\\:getFormField\\(\\) should return Symfony\\\\Component\\\\DomCrawler\\\\Field\\\\FormField but returns array\\<Symfony\\\\Component\\\\DomCrawler\\\\Field\\\\FormField\\>\\|Symfony\\\\Component\\\\DomCrawler\\\\Field\\\\FormField\\.$#"
100100
count: 1
101101
path: src/Browser/Session/Driver/BrowserKitDriver.php
102102

103103
-
104-
message: "#^Method Zenstruck\\\\Browser\\\\Session\\\\Driver\\\\BrowserKitDriver\\:\\:getValue\\(\\) return type has no value type specified in iterable type array\\.$#"
104+
message: "#^Method Zenstruck\\\\Browser\\\\Session\\\\Driver\\\\BrowserKitDriver\\:\\:getFormNode\\(\\) should return DOMElement but returns DOMNode\\.$#"
105105
count: 1
106106
path: src/Browser/Session/Driver/BrowserKitDriver.php
107107

108108
-
109-
message: "#^Method Zenstruck\\\\Browser\\\\Session\\\\Driver\\\\BrowserKitDriver\\:\\:setValue\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#"
109+
message: "#^Method Zenstruck\\\\Browser\\\\Session\\\\Driver\\\\BrowserKitDriver\\:\\:getValue\\(\\) return type has no value type specified in iterable type array\\.$#"
110110
count: 1
111111
path: src/Browser/Session/Driver/BrowserKitDriver.php
112112

@@ -116,7 +116,7 @@ parameters:
116116
path: src/Browser/Session/Driver/BrowserKitDriver.php
117117

118118
-
119-
message: "#^Parameter \\#1 \\$value of method Symfony\\\\Component\\\\DomCrawler\\\\Field\\\\FormField\\:\\:setValue\\(\\) expects string\\|null, array\\|bool\\|string given\\.$#"
119+
message: "#^Parameter \\#1 \\$value of method Symfony\\\\Component\\\\DomCrawler\\\\Field\\\\FormField\\:\\:setValue\\(\\) expects string\\|null, array\\<int, string\\>\\|bool\\|string given\\.$#"
120120
count: 1
121121
path: src/Browser/Session/Driver/BrowserKitDriver.php
122122

@@ -126,17 +126,17 @@ parameters:
126126
path: src/Browser/Session/Driver/PantherDriver.php
127127

128128
-
129-
message: "#^Method Zenstruck\\\\Browser\\\\Session\\\\Driver\\\\PantherDriver\\:\\:setValue\\(\\) has parameter \\$value with no value type specified in iterable type array\\.$#"
129+
message: "#^Parameter \\#1 \\$client of method Zenstruck\\\\Browser\\\\Session\\\\Driver\\:\\:__construct\\(\\) expects Symfony\\\\Component\\\\BrowserKit\\\\AbstractBrowser\\<Symfony\\\\Component\\\\BrowserKit\\\\Request, Symfony\\\\Component\\\\HttpFoundation\\\\Response\\>, Symfony\\\\Component\\\\Panther\\\\Client given\\.$#"
130130
count: 1
131131
path: src/Browser/Session/Driver/PantherDriver.php
132132

133133
-
134-
message: "#^Parameter \\#1 \\$value of method Symfony\\\\Component\\\\DomCrawler\\\\Field\\\\FormField\\:\\:setValue\\(\\) expects string\\|null, array\\|bool\\|string given\\.$#"
134+
message: "#^Parameter \\#1 \\$value of method Symfony\\\\Component\\\\DomCrawler\\\\Field\\\\FormField\\:\\:setValue\\(\\) expects string\\|null, array\\<int, string\\>\\|bool\\|string given\\.$#"
135135
count: 1
136136
path: src/Browser/Session/Driver/PantherDriver.php
137137

138138
-
139-
message: "#^Parameter \\#3 \\.\\.\\.\\$values of function sprintf expects bool\\|float\\|int\\|string\\|null, array\\|bool\\|string given\\.$#"
139+
message: "#^Parameter \\#3 \\.\\.\\.\\$values of function sprintf expects bool\\|float\\|int\\|string\\|null, array\\<int, string\\>\\|bool\\|string given\\.$#"
140140
count: 1
141141
path: src/Browser/Session/Driver/PantherDriver.php
142142

src/Browser.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515
use Psr\Container\ContainerInterface;
1616
use Symfony\Component\BrowserKit\AbstractBrowser;
1717
use Symfony\Component\BrowserKit\CookieJar;
18+
use Symfony\Component\BrowserKit\Request;
1819
use Symfony\Component\DomCrawler\Crawler;
1920
use Symfony\Component\Filesystem\Filesystem;
21+
use Symfony\Component\HttpFoundation\Response;
2022
use Zenstruck\Browser\Assertion\SameUrlAssertion;
2123
use Zenstruck\Browser\Component;
2224
use Zenstruck\Browser\Session;
@@ -47,6 +49,9 @@ public function __construct(Driver $driver, array $options = [])
4749
$this->sourceDebug = $options['source_debug'] ?? false;
4850
}
4951

52+
/**
53+
* @return AbstractBrowser<Request, Response>
54+
*/
5055
final public function client(): AbstractBrowser
5156
{
5257
return $this->session->client();

src/Browser/Session.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
use Behat\Mink\Session as MinkSession;
1818
use Behat\Mink\WebAssert;
1919
use Symfony\Component\BrowserKit\AbstractBrowser;
20+
use Symfony\Component\BrowserKit\Request;
2021
use Symfony\Component\DomCrawler\Crawler;
22+
use Symfony\Component\HttpFoundation\Response;
2123
use Zenstruck\Assert as ZenstruckAssert;
2224
use Zenstruck\Browser\Session\Assert;
2325
use Zenstruck\Browser\Session\Driver;
@@ -44,6 +46,9 @@ public static function varDump($what): void
4446
\function_exists('dump') ? dump($what) : \var_dump($what);
4547
}
4648

49+
/**
50+
* @return AbstractBrowser<Request, Response>
51+
*/
4752
public function client(): AbstractBrowser
4853
{
4954
return $this->getDriver()->client();

src/Browser/Session/Driver.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
use Behat\Mink\Driver\CoreDriver;
1515
use Behat\Mink\Exception\UnsupportedDriverActionException;
1616
use Symfony\Component\BrowserKit\AbstractBrowser;
17+
use Symfony\Component\BrowserKit\Request;
18+
use Symfony\Component\HttpFoundation\Response;
1719
use Zenstruck\Browser\HttpOptions;
1820

1921
/**
@@ -23,14 +25,21 @@
2325
*/
2426
abstract class Driver extends CoreDriver
2527
{
28+
/** @var AbstractBrowser<Request, Response> */
2629
private AbstractBrowser $client;
2730
private bool $started = false;
2831

32+
/**
33+
* @param AbstractBrowser<Request, Response> $client
34+
*/
2935
public function __construct(AbstractBrowser $client)
3036
{
3137
$this->client = $client;
3238
}
3339

40+
/**
41+
* @return AbstractBrowser<Request, Response>
42+
*/
3443
public function client(): AbstractBrowser
3544
{
3645
return $this->client;

0 commit comments

Comments
 (0)