Skip to content

Commit 6012189

Browse files
committed
fix deprecation using HttpKernelInterface::MAIN_REQUEST instead of HttpKernelInterface::MASTER_REQUEST until drop support of Drupal 9.x
1 parent 78dd227 commit 6012189

4 files changed

+36
-19
lines changed

CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2424
- fix automated Drupal 10 compatibility fixes - Issue #3329302 by Project Update Bot
2525
- fix library testing path that may be inconsistent between Github Actions & GitlabCI
2626
- fix call to deprecated method withConsecutive() on PHPUnit
27-
- ignore deprecation using HttpKernelInterface::MAIN_REQUEST instead of HttpKernelInterface::MASTER_REQUEST until drop support of Drupal 9.x
2827
- fix deprecation by passing @dataprovider as static function
28+
- fix deprecation using HttpKernelInterface::MAIN_REQUEST instead of HttpKernelInterface::MASTER_REQUEST until drop support of Drupal 9.x
2929

3030
## [1.0.0] - 2022-12-16
3131
### Fixed

phpstan.neon

+1-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,4 @@ includes:
44
parameters:
55
level: 1
66
reportUnmatchedIgnoredErrors: false
7-
ignoreErrors:
8-
# The module support Drupal 9, Drupal 10 and Drupal 11, so we cannot fix that deprecation without dropping support of Drupal 9.
9-
- "#^Fetching deprecated class constant MASTER_REQUEST of class Symfony\\\\Component\\\\HttpKernel\\\\HttpKernelInterface#"
10-
- "#^Fetching deprecated class constant MASTER_REQUEST of interface Symfony\\\\Component\\\\HttpKernel\\\\HttpKernelInterface#"
7+
# ignoreErrors:

tests/src/Unit/HomepageBrowserLanguageRedirectionTest.php

+19-8
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,17 @@
2727
class HomepageBrowserLanguageRedirectionTest extends UnitTestCase {
2828

2929
use ProphecyTrait;
30+
31+
/**
32+
* Mimic Symfony MASTER_REQUEST/MAIN_REQUEST from HttpKernelInterface.
33+
*
34+
* In order to keep Drupal 9 compatibility, we need to define this constant by
35+
* ourselves as Drupal 11 (Symfony 7) drop usage of MASTER_REQUEST.
36+
*
37+
* @see https://www.drupal.org/node/3236639
38+
*/
39+
private const MAIN_REQUEST = 1;
40+
3041
/**
3142
* The event subscriber to be tested.
3243
*
@@ -111,7 +122,7 @@ public function testStopOnFrontpage() {
111122
$kernel = $this->prophesize(HttpKernelInterface::class);
112123
$request = Request::create('/', 'GET');
113124

114-
$event = new RequestEvent($kernel->reveal(), $request, HttpKernelInterface::MASTER_REQUEST);
125+
$event = new RequestEvent($kernel->reveal(), $request, self::MAIN_REQUEST);
115126

116127
$this->pathMatcher
117128
->expects($this->once())
@@ -132,7 +143,7 @@ public function testStopWhenBrowserFallbackDisabled() {
132143
$kernel = $this->prophesize(HttpKernelInterface::class);
133144
$request = Request::create('/', 'GET');
134145

135-
$event = new RequestEvent($kernel->reveal(), $request, HttpKernelInterface::MASTER_REQUEST);
146+
$event = new RequestEvent($kernel->reveal(), $request, self::MAIN_REQUEST);
136147

137148
$this->pathMatcher
138149
->expects($this->once())
@@ -165,7 +176,7 @@ public function testStopWhenNoHeaderAcceptLanguageFromBrowser() {
165176
$kernel = $this->prophesize(HttpKernelInterface::class);
166177
$request = Request::create('/', 'GET');
167178

168-
$event = new RequestEvent($kernel->reveal(), $request, HttpKernelInterface::MASTER_REQUEST);
179+
$event = new RequestEvent($kernel->reveal(), $request, self::MAIN_REQUEST);
169180

170181
$this->pathMatcher
171182
->expects($this->once())
@@ -201,7 +212,7 @@ public function testStopWhenReferrerBypassEnabledAndExternal() {
201212
$this->request->server->set('HTTP_ACCEPT_LANGUAGE', 'fr');
202213
$this->request->server->set('HTTP_REFERER', 'https://www.google.ch');
203214

204-
$event = new RequestEvent($kernel->reveal(), $request, HttpKernelInterface::MASTER_REQUEST);
215+
$event = new RequestEvent($kernel->reveal(), $request, self::MAIN_REQUEST);
205216

206217
$currentLanguage = $this->createMock(LanguageInterface::class);
207218
$currentLanguage->expects($this->never())
@@ -246,7 +257,7 @@ public function testStopWhenCookieExists() {
246257
$this->request->cookies->set('home_redirect_lang_preferred_langcode', 'en');
247258
$this->request->server->set('HTTP_ACCEPT_LANGUAGE', 'fr');
248259

249-
$event = new RequestEvent($kernel->reveal(), $request, HttpKernelInterface::MASTER_REQUEST);
260+
$event = new RequestEvent($kernel->reveal(), $request, self::MAIN_REQUEST);
250261

251262
$currentLanguage = $this->createMock(LanguageInterface::class);
252263
$currentLanguage->expects($this->never())
@@ -294,7 +305,7 @@ public function testStopWhenBrowserLanguageSameAsRequestLanguage() {
294305
$this->request->cookies->set('home_redirect_lang_preferred_langcode', '');
295306
$this->request->server->set('HTTP_ACCEPT_LANGUAGE', 'fr');
296307

297-
$event = new RequestEvent($kernel->reveal(), $request, HttpKernelInterface::MASTER_REQUEST);
308+
$event = new RequestEvent($kernel->reveal(), $request, self::MAIN_REQUEST);
298309

299310
$currentLanguage = $this->createMock(LanguageInterface::class);
300311
$currentLanguage->expects($this->once())
@@ -349,7 +360,7 @@ public function testStopWhenBrowserLanguageNotSupported() {
349360
$this->request->cookies->set('home_redirect_lang_preferred_langcode', '');
350361
$this->request->server->set('HTTP_ACCEPT_LANGUAGE', 'en');
351362

352-
$event = new RequestEvent($kernel->reveal(), $request, HttpKernelInterface::MASTER_REQUEST);
363+
$event = new RequestEvent($kernel->reveal(), $request, self::MAIN_REQUEST);
353364

354365
$currentLanguage = $this->createMock(LanguageInterface::class);
355366
$currentLanguage->expects($this->once())
@@ -406,7 +417,7 @@ public function testRedirectPreferredLanguage() {
406417
$this->request->cookies->set('home_redirect_lang_preferred_langcode', '');
407418
$this->request->server->set('HTTP_ACCEPT_LANGUAGE', 'en');
408419

409-
$event = new RequestEvent($kernel->reveal(), $request, HttpKernelInterface::MASTER_REQUEST);
420+
$event = new RequestEvent($kernel->reveal(), $request, self::MAIN_REQUEST);
410421

411422
$currentLanguage = $this->createMock(LanguageInterface::class);
412423
$currentLanguage->expects($this->once())

tests/src/Unit/HomepageCookieLanguageRedirectionTest.php

+15-6
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,15 @@ class HomepageCookieLanguageRedirectionTest extends UnitTestCase {
3434
*/
3535
protected $cookieLanguageRedirectionEventSubscriber;
3636

37+
/**
38+
* Mimic Symfony MASTER_REQUEST/MAIN_REQUEST from HttpKernelInterface.
39+
*
40+
* In order to keep Drupal 9 compatibility, we need to define this constant by
41+
* ourselves as Drupal 11 (Symfony 7) drop usage of MASTER_REQUEST.
42+
*
43+
* @see https://www.drupal.org/node/3236639
44+
*/
45+
private const MAIN_REQUEST = 1;
3746

3847
/**
3948
* The event subscriber to be tested.
@@ -119,7 +128,7 @@ public function testStopOnFrontpage() {
119128
$kernel = $this->prophesize(HttpKernelInterface::class);
120129
$request = Request::create('/', 'GET');
121130

122-
$event = new RequestEvent($kernel->reveal(), $request, HttpKernelInterface::MASTER_REQUEST);
131+
$event = new RequestEvent($kernel->reveal(), $request, self::MAIN_REQUEST);
123132

124133
$this->pathMatcher
125134
->expects($this->once())
@@ -143,7 +152,7 @@ public function testStopWhenReferrerBypassEnabledAndExternal() {
143152
$this->request->server->set('HTTP_ACCEPT_LANGUAGE', 'fr');
144153
$this->request->server->set('HTTP_REFERER', 'https://www.google.ch');
145154

146-
$event = new RequestEvent($kernel->reveal(), $request, HttpKernelInterface::MASTER_REQUEST);
155+
$event = new RequestEvent($kernel->reveal(), $request, self::MAIN_REQUEST);
147156

148157
$currentLanguage = $this->createMock(LanguageInterface::class);
149158
$currentLanguage->expects($this->never())
@@ -183,7 +192,7 @@ public function testStopWhenCookieNotExists() {
183192

184193
$this->request->server->set('HTTP_ACCEPT_LANGUAGE', 'fr');
185194

186-
$event = new RequestEvent($kernel->reveal(), $request, HttpKernelInterface::MASTER_REQUEST);
195+
$event = new RequestEvent($kernel->reveal(), $request, self::MAIN_REQUEST);
187196

188197
$currentLanguage = $this->createMock(LanguageInterface::class);
189198
$currentLanguage->expects($this->never())
@@ -224,7 +233,7 @@ public function testStopWhenCookieLanguageSameAsRequestLanguage() {
224233
$this->request->server->set('HTTP_ACCEPT_LANGUAGE', 'fr');
225234
$this->request->cookies->set('home_redirect_lang_preferred_langcode', 'fr');
226235

227-
$event = new RequestEvent($kernel->reveal(), $request, HttpKernelInterface::MASTER_REQUEST);
236+
$event = new RequestEvent($kernel->reveal(), $request, self::MAIN_REQUEST);
228237

229238
$currentLanguage = $this->createMock(LanguageInterface::class);
230239
$currentLanguage->expects($this->once())
@@ -266,7 +275,7 @@ public function testStopWhenCookieLanguageNotSupported() {
266275
$this->request->server->set('HTTP_ACCEPT_LANGUAGE', 'fr');
267276
$this->request->cookies->set('home_redirect_lang_preferred_langcode', 'ru');
268277

269-
$event = new RequestEvent($kernel->reveal(), $request, HttpKernelInterface::MASTER_REQUEST);
278+
$event = new RequestEvent($kernel->reveal(), $request, self::MAIN_REQUEST);
270279

271280
$currentLanguage = $this->createMock(LanguageInterface::class);
272281
$currentLanguage->expects($this->once())
@@ -313,7 +322,7 @@ public function testRedirectPreferredLanguage() {
313322
$this->request->server->set('HTTP_ACCEPT_LANGUAGE', 'fr');
314323
$this->request->cookies->set('home_redirect_lang_preferred_langcode', 'en');
315324

316-
$event = new RequestEvent($kernel->reveal(), $request, HttpKernelInterface::MASTER_REQUEST);
325+
$event = new RequestEvent($kernel->reveal(), $request, self::MAIN_REQUEST);
317326

318327
$currentLanguage = $this->createMock(LanguageInterface::class);
319328
$currentLanguage->expects($this->once())

0 commit comments

Comments
 (0)