11
11
12
12
namespace Symfony \Component \HttpKernel \Tests \EventListener ;
13
13
14
- use PHPUnit \Framework \MockObject \MockObject ;
15
14
use PHPUnit \Framework \TestCase ;
16
15
use Symfony \Component \EventDispatcher \EventSubscriberInterface ;
17
16
use Symfony \Component \HttpFoundation \Request ;
26
25
27
26
class LocaleListenerTest extends TestCase
28
27
{
29
- private MockObject &RequestStack $ requestStack ;
30
-
31
- protected function setUp (): void
32
- {
33
- $ this ->requestStack = $ this ->createMock (RequestStack::class);
34
- }
35
-
36
28
public function testIsAnEventSubscriber ()
37
29
{
38
- $ this ->assertInstanceOf (EventSubscriberInterface::class, new LocaleListener ($ this -> requestStack ));
30
+ $ this ->assertInstanceOf (EventSubscriberInterface::class, new LocaleListener (new RequestStack () ));
39
31
}
40
32
41
33
public function testRegisteredEvent ()
@@ -51,7 +43,7 @@ public function testRegisteredEvent()
51
43
52
44
public function testDefaultLocale ()
53
45
{
54
- $ listener = new LocaleListener ($ this -> requestStack , 'fr ' );
46
+ $ listener = new LocaleListener (new RequestStack () , 'fr ' );
55
47
$ event = $ this ->getEvent ($ request = Request::create ('/ ' ));
56
48
57
49
$ listener ->setDefaultLocale ($ event );
@@ -64,7 +56,7 @@ public function testLocaleFromRequestAttribute()
64
56
$ request ->cookies ->set (session_name (), 'value ' );
65
57
66
58
$ request ->attributes ->set ('_locale ' , 'es ' );
67
- $ listener = new LocaleListener ($ this -> requestStack , 'fr ' );
59
+ $ listener = new LocaleListener (new RequestStack () , 'fr ' );
68
60
$ event = $ this ->getEvent ($ request );
69
61
70
62
$ listener ->onKernelRequest ($ event );
@@ -83,7 +75,7 @@ public function testLocaleSetForRoutingContext()
83
75
$ request = Request::create ('/ ' );
84
76
85
77
$ request ->attributes ->set ('_locale ' , 'es ' );
86
- $ listener = new LocaleListener ($ this -> requestStack , 'fr ' , $ router );
78
+ $ listener = new LocaleListener (new RequestStack () , 'fr ' , $ router );
87
79
$ listener ->onKernelRequest ($ this ->getEvent ($ request ));
88
80
}
89
81
@@ -99,19 +91,23 @@ public function testRouterResetWithParentRequestOnKernelFinishRequest()
99
91
$ parentRequest = Request::create ('/ ' );
100
92
$ parentRequest ->setLocale ('es ' );
101
93
102
- $ this ->requestStack ->expects ($ this ->once ())->method ('getParentRequest ' )->willReturn ($ parentRequest );
94
+ $ requestStack = new RequestStack ();
95
+ $ requestStack ->push ($ parentRequest );
96
+
97
+ $ subRequest = new Request ();
98
+ $ requestStack ->push ($ subRequest );
103
99
104
- $ event = new FinishRequestEvent ($ this ->createMock (HttpKernelInterface::class), new Request () , HttpKernelInterface::MAIN_REQUEST );
100
+ $ event = new FinishRequestEvent ($ this ->createMock (HttpKernelInterface::class), $ subRequest , HttpKernelInterface::MAIN_REQUEST );
105
101
106
- $ listener = new LocaleListener ($ this -> requestStack , 'fr ' , $ router );
102
+ $ listener = new LocaleListener ($ requestStack , 'fr ' , $ router );
107
103
$ listener ->onKernelFinishRequest ($ event );
108
104
}
109
105
110
106
public function testRequestLocaleIsNotOverridden ()
111
107
{
112
108
$ request = Request::create ('/ ' );
113
109
$ request ->setLocale ('de ' );
114
- $ listener = new LocaleListener ($ this -> requestStack , 'fr ' );
110
+ $ listener = new LocaleListener (new RequestStack () , 'fr ' );
115
111
$ event = $ this ->getEvent ($ request );
116
112
117
113
$ listener ->onKernelRequest ($ event );
@@ -123,7 +119,7 @@ public function testRequestPreferredLocaleFromAcceptLanguageHeader()
123
119
$ request = Request::create ('/ ' );
124
120
$ request ->headers ->set ('Accept-Language ' , 'fr-FR,fr;q=0.9,en-GB;q=0.8,en;q=0.7,en-US;q=0.6,es;q=0.5 ' );
125
121
126
- $ listener = new LocaleListener ($ this -> requestStack , 'de ' , null , true , ['de ' , 'fr ' ]);
122
+ $ listener = new LocaleListener (new RequestStack () , 'de ' , null , true , ['de ' , 'fr ' ]);
127
123
$ event = $ this ->getEvent ($ request );
128
124
129
125
$ listener ->setDefaultLocale ($ event );
@@ -134,7 +130,7 @@ public function testRequestPreferredLocaleFromAcceptLanguageHeader()
134
130
public function testRequestDefaultLocaleIfNoAcceptLanguageHeaderIsPresent ()
135
131
{
136
132
$ request = new Request ();
137
- $ listener = new LocaleListener ($ this -> requestStack , 'de ' , null , true , ['lt ' , 'de ' ]);
133
+ $ listener = new LocaleListener (new RequestStack () , 'de ' , null , true , ['lt ' , 'de ' ]);
138
134
$ event = $ this ->getEvent ($ request );
139
135
140
136
$ listener ->setDefaultLocale ($ event );
@@ -145,7 +141,7 @@ public function testRequestDefaultLocaleIfNoAcceptLanguageHeaderIsPresent()
145
141
public function testRequestVaryByLanguageAttributeIsSetIfUsingAcceptLanguageHeader ()
146
142
{
147
143
$ request = new Request ();
148
- $ listener = new LocaleListener ($ this -> requestStack , 'de ' , null , true , ['lt ' , 'de ' ]);
144
+ $ listener = new LocaleListener (new RequestStack () , 'de ' , null , true , ['lt ' , 'de ' ]);
149
145
$ event = $ this ->getEvent ($ request );
150
146
151
147
$ listener ->setDefaultLocale ($ event );
@@ -158,7 +154,7 @@ public function testRequestSecondPreferredLocaleFromAcceptLanguageHeader()
158
154
$ request = Request::create ('/ ' );
159
155
$ request ->headers ->set ('Accept-Language ' , 'fr-FR,fr;q=0.9,en-GB;q=0.8,en;q=0.7,en-US;q=0.6,es;q=0.5 ' );
160
156
161
- $ listener = new LocaleListener ($ this -> requestStack , 'de ' , null , true , ['de ' , 'en ' ]);
157
+ $ listener = new LocaleListener (new RequestStack () , 'de ' , null , true , ['de ' , 'en ' ]);
162
158
$ event = $ this ->getEvent ($ request );
163
159
164
160
$ listener ->setDefaultLocale ($ event );
@@ -171,7 +167,7 @@ public function testDontUseAcceptLanguageHeaderIfNotEnabled()
171
167
$ request = Request::create ('/ ' );
172
168
$ request ->headers ->set ('Accept-Language ' , 'fr-FR,fr;q=0.9,en-GB;q=0.8,en;q=0.7,en-US;q=0.6,es;q=0.5 ' );
173
169
174
- $ listener = new LocaleListener ($ this -> requestStack , 'de ' , null , false , ['de ' , 'en ' ]);
170
+ $ listener = new LocaleListener (new RequestStack () , 'de ' , null , false , ['de ' , 'en ' ]);
175
171
$ event = $ this ->getEvent ($ request );
176
172
177
173
$ listener ->setDefaultLocale ($ event );
@@ -184,7 +180,7 @@ public function testRequestUnavailablePreferredLocaleFromAcceptLanguageHeader()
184
180
$ request = Request::create ('/ ' );
185
181
$ request ->headers ->set ('Accept-Language ' , 'fr-FR,fr;q=0.9,en-GB;q=0.8,en;q=0.7,en-US;q=0.6,es;q=0.5 ' );
186
182
187
- $ listener = new LocaleListener ($ this -> requestStack , 'de ' , null , true , ['de ' , 'it ' ]);
183
+ $ listener = new LocaleListener (new RequestStack () , 'de ' , null , true , ['de ' , 'it ' ]);
188
184
$ event = $ this ->getEvent ($ request );
189
185
190
186
$ listener ->setDefaultLocale ($ event );
@@ -197,7 +193,7 @@ public function testRequestNoLocaleFromAcceptLanguageHeader()
197
193
$ request = Request::create ('/ ' );
198
194
$ request ->headers ->set ('Accept-Language ' , 'fr-FR,fr;q=0.9,en-GB;q=0.8,en;q=0.7,en-US;q=0.6,es;q=0.5 ' );
199
195
200
- $ listener = new LocaleListener ($ this -> requestStack , 'de ' , null , true );
196
+ $ listener = new LocaleListener (new RequestStack () , 'de ' , null , true );
201
197
$ event = $ this ->getEvent ($ request );
202
198
203
199
$ listener ->setDefaultLocale ($ event );
@@ -211,7 +207,7 @@ public function testRequestAttributeLocaleNotOverridenFromAcceptLanguageHeader()
211
207
$ request ->attributes ->set ('_locale ' , 'it ' );
212
208
$ request ->headers ->set ('Accept-Language ' , 'fr-FR,fr;q=0.9,en-GB;q=0.8,en;q=0.7,en-US;q=0.6,es;q=0.5 ' );
213
209
214
- $ listener = new LocaleListener ($ this -> requestStack , 'de ' , null , true , ['fr ' , 'en ' ]);
210
+ $ listener = new LocaleListener (new RequestStack () , 'de ' , null , true , ['fr ' , 'en ' ]);
215
211
$ event = $ this ->getEvent ($ request );
216
212
217
213
$ listener ->setDefaultLocale ($ event );
0 commit comments