Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 99ae55f

Browse filesBrowse files
committed
[Routing] Fix some wrong localized routes tests
1 parent 2bd76fa commit 99ae55f
Copy full SHA for 99ae55f

File tree

3 files changed

+40
-36
lines changed
Filter options

3 files changed

+40
-36
lines changed

‎src/Symfony/Component/Routing/Tests/Generator/Dumper/CompiledUrlGeneratorDumperTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Routing/Tests/Generator/Dumper/CompiledUrlGeneratorDumperTest.php
+14-14Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ public function testDumpWithRoutes()
8787
public function testDumpWithSimpleLocalizedRoutes()
8888
{
8989
$this->routeCollection->add('test', (new Route('/foo')));
90-
$this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test'));
91-
$this->routeCollection->add('test.nl', (new Route('/testen/is/leuk'))->setDefault('_locale', 'nl')->setDefault('_canonical_route', 'test'));
90+
$this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'en'));
91+
$this->routeCollection->add('test.nl', (new Route('/testen/is/leuk'))->setDefault('_locale', 'nl')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'nl'));
9292

9393
$code = $this->generatorDumper->dump();
9494
file_put_contents($this->testTmpFilepath, $code);
@@ -120,7 +120,7 @@ public function testDumpWithRouteNotFoundLocalizedRoutes()
120120
{
121121
$this->expectException('Symfony\Component\Routing\Exception\RouteNotFoundException');
122122
$this->expectExceptionMessage('Unable to generate a URL for the named route "test" as such route does not exist.');
123-
$this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test'));
123+
$this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'en'));
124124

125125
$code = $this->generatorDumper->dump();
126126
file_put_contents($this->testTmpFilepath, $code);
@@ -131,9 +131,9 @@ public function testDumpWithRouteNotFoundLocalizedRoutes()
131131

132132
public function testDumpWithFallbackLocaleLocalizedRoutes()
133133
{
134-
$this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test'));
135-
$this->routeCollection->add('test.nl', (new Route('/testen/is/leuk'))->setDefault('_locale', 'nl')->setDefault('_canonical_route', 'test'));
136-
$this->routeCollection->add('test.fr', (new Route('/tester/est/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'test'));
134+
$this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'en'));
135+
$this->routeCollection->add('test.nl', (new Route('/testen/is/leuk'))->setDefault('_locale', 'nl')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'nl'));
136+
$this->routeCollection->add('test.fr', (new Route('/tester/est/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'fr'));
137137

138138
$code = $this->generatorDumper->dump();
139139
file_put_contents($this->testTmpFilepath, $code);
@@ -234,10 +234,10 @@ public function testDumpWithSchemeRequirement()
234234

235235
public function testDumpWithLocalizedRoutesPreserveTheGoodLocaleInTheUrl()
236236
{
237-
$this->routeCollection->add('foo.en', (new Route('/{_locale}/foo'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'foo'));
238-
$this->routeCollection->add('foo.fr', (new Route('/{_locale}/foo'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'foo'));
239-
$this->routeCollection->add('fun.en', (new Route('/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'fun'));
240-
$this->routeCollection->add('fun.fr', (new Route('/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'fun'));
237+
$this->routeCollection->add('foo.en', (new Route('/{_locale}/fork'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'foo')->setRequirement('_locale', 'en'));
238+
$this->routeCollection->add('foo.fr', (new Route('/{_locale}/fourchette'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'foo')->setRequirement('_locale', 'fr'));
239+
$this->routeCollection->add('fun.en', (new Route('/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'fun')->setRequirement('_locale', 'en'));
240+
$this->routeCollection->add('fun.fr', (new Route('/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'fun')->setRequirement('_locale', 'fr'));
241241

242242
file_put_contents($this->testTmpFilepath, $this->generatorDumper->dump());
243243

@@ -246,10 +246,10 @@ public function testDumpWithLocalizedRoutesPreserveTheGoodLocaleInTheUrl()
246246

247247
$compiledUrlGenerator = new CompiledUrlGenerator(require $this->testTmpFilepath, $requestContext, null, null);
248248

249-
$this->assertSame('/fr/foo', $compiledUrlGenerator->generate('foo'));
250-
$this->assertSame('/en/foo', $compiledUrlGenerator->generate('foo.en'));
251-
$this->assertSame('/en/foo', $compiledUrlGenerator->generate('foo', ['_locale' => 'en']));
252-
$this->assertSame('/en/foo', $compiledUrlGenerator->generate('foo.fr', ['_locale' => 'en']));
249+
$this->assertSame('/fr/fourchette', $compiledUrlGenerator->generate('foo'));
250+
$this->assertSame('/en/fork', $compiledUrlGenerator->generate('foo.en'));
251+
$this->assertSame('/en/fork', $compiledUrlGenerator->generate('foo', ['_locale' => 'en']));
252+
$this->assertSame('/fr/fourchette', $compiledUrlGenerator->generate('foo.fr', ['_locale' => 'en']));
253253

254254
$this->assertSame('/amusant', $compiledUrlGenerator->generate('fun'));
255255
$this->assertSame('/fun', $compiledUrlGenerator->generate('fun.en'));

‎src/Symfony/Component/Routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php
+14-14Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ public function testDumpWithRoutes()
9090
public function testDumpWithSimpleLocalizedRoutes()
9191
{
9292
$this->routeCollection->add('test', (new Route('/foo')));
93-
$this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test'));
94-
$this->routeCollection->add('test.nl', (new Route('/testen/is/leuk'))->setDefault('_locale', 'nl')->setDefault('_canonical_route', 'test'));
93+
$this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'en'));
94+
$this->routeCollection->add('test.nl', (new Route('/testen/is/leuk'))->setDefault('_locale', 'nl')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'nl'));
9595

9696
$code = $this->generatorDumper->dump([
9797
'class' => 'SimpleLocalizedProjectUrlGenerator',
@@ -126,7 +126,7 @@ public function testDumpWithRouteNotFoundLocalizedRoutes()
126126
{
127127
$this->expectException('Symfony\Component\Routing\Exception\RouteNotFoundException');
128128
$this->expectExceptionMessage('Unable to generate a URL for the named route "test" as such route does not exist.');
129-
$this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test'));
129+
$this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'en'));
130130

131131
$code = $this->generatorDumper->dump([
132132
'class' => 'RouteNotFoundLocalizedProjectUrlGenerator',
@@ -140,9 +140,9 @@ public function testDumpWithRouteNotFoundLocalizedRoutes()
140140

141141
public function testDumpWithFallbackLocaleLocalizedRoutes()
142142
{
143-
$this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test'));
144-
$this->routeCollection->add('test.nl', (new Route('/testen/is/leuk'))->setDefault('_locale', 'nl')->setDefault('_canonical_route', 'test'));
145-
$this->routeCollection->add('test.fr', (new Route('/tester/est/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'test'));
143+
$this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'en'));
144+
$this->routeCollection->add('test.nl', (new Route('/testen/is/leuk'))->setDefault('_locale', 'nl')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'nl'));
145+
$this->routeCollection->add('test.fr', (new Route('/tester/est/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'fr'));
146146

147147
$code = $this->generatorDumper->dump([
148148
'class' => 'FallbackLocaleLocalizedProjectUrlGenerator',
@@ -253,10 +253,10 @@ public function testDumpWithSchemeRequirement()
253253

254254
public function testDumpWithLocalizedRoutesPreserveTheGoodLocaleInTheUrl()
255255
{
256-
$this->routeCollection->add('foo.en', (new Route('/{_locale}/foo'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'foo'));
257-
$this->routeCollection->add('foo.fr', (new Route('/{_locale}/foo'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'foo'));
258-
$this->routeCollection->add('fun.en', (new Route('/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'fun'));
259-
$this->routeCollection->add('fun.fr', (new Route('/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'fun'));
256+
$this->routeCollection->add('foo.en', (new Route('/{_locale}/fork'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'foo')->setRequirement('_locale', 'en'));
257+
$this->routeCollection->add('foo.fr', (new Route('/{_locale}/fourchette'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'foo')->setRequirement('_locale', 'fr'));
258+
$this->routeCollection->add('fun.en', (new Route('/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'fun')->setRequirement('_locale', 'en'));
259+
$this->routeCollection->add('fun.fr', (new Route('/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'fun')->setRequirement('_locale', 'fr'));
260260

261261
file_put_contents($this->testTmpFilepath, $this->generatorDumper->dump([
262262
'class' => 'PreserveTheGoodLocaleInTheUrlGenerator',
@@ -268,10 +268,10 @@ public function testDumpWithLocalizedRoutesPreserveTheGoodLocaleInTheUrl()
268268

269269
$phpGenerator = new \PreserveTheGoodLocaleInTheUrlGenerator($requestContext);
270270

271-
$this->assertSame('/fr/foo', $phpGenerator->generate('foo'));
272-
$this->assertSame('/en/foo', $phpGenerator->generate('foo.en'));
273-
$this->assertSame('/en/foo', $phpGenerator->generate('foo', ['_locale' => 'en']));
274-
$this->assertSame('/en/foo', $phpGenerator->generate('foo.fr', ['_locale' => 'en']));
271+
$this->assertSame('/fr/fourchette', $phpGenerator->generate('foo'));
272+
$this->assertSame('/en/fork', $phpGenerator->generate('foo.en'));
273+
$this->assertSame('/en/fork', $phpGenerator->generate('foo', ['_locale' => 'en']));
274+
$this->assertSame('/fr/fourchette', $phpGenerator->generate('foo.fr', ['_locale' => 'en']));
275275

276276
$this->assertSame('/amusant', $phpGenerator->generate('fun'));
277277
$this->assertSame('/fun', $phpGenerator->generate('fun.en'));

‎src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php
+12-8Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ public function testGenerateWithDefaultLocale()
171171
foreach (['hr' => '/foo', 'en' => '/bar'] as $locale => $path) {
172172
$localizedRoute = clone $route;
173173
$localizedRoute->setDefault('_locale', $locale);
174+
$localizedRoute->setRequirement('_locale', $locale);
174175
$localizedRoute->setDefault('_canonical_route', $name);
175176
$localizedRoute->setPath($path);
176177
$routes->add($name.'.'.$locale, $localizedRoute);
@@ -195,6 +196,7 @@ public function testGenerateWithOverriddenParameterLocale()
195196
foreach (['hr' => '/foo', 'en' => '/bar'] as $locale => $path) {
196197
$localizedRoute = clone $route;
197198
$localizedRoute->setDefault('_locale', $locale);
199+
$localizedRoute->setRequirement('_locale', $locale);
198200
$localizedRoute->setDefault('_canonical_route', $name);
199201
$localizedRoute->setPath($path);
200202
$routes->add($name.'.'.$locale, $localizedRoute);
@@ -219,6 +221,7 @@ public function testGenerateWithOverriddenParameterLocaleFromRequestContext()
219221
foreach (['hr' => '/foo', 'en' => '/bar'] as $locale => $path) {
220222
$localizedRoute = clone $route;
221223
$localizedRoute->setDefault('_locale', $locale);
224+
$localizedRoute->setRequirement('_locale', $locale);
222225
$localizedRoute->setDefault('_canonical_route', $name);
223226
$localizedRoute->setPath($path);
224227
$routes->add($name.'.'.$locale, $localizedRoute);
@@ -240,18 +243,18 @@ public function testDumpWithLocalizedRoutesPreserveTheGoodLocaleInTheUrl()
240243
{
241244
$routeCollection = new RouteCollection();
242245

243-
$routeCollection->add('foo.en', (new Route('/{_locale}/foo'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'foo'));
244-
$routeCollection->add('foo.fr', (new Route('/{_locale}/foo'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'foo'));
245-
$routeCollection->add('fun.en', (new Route('/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'fun'));
246-
$routeCollection->add('fun.fr', (new Route('/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'fun'));
246+
$routeCollection->add('foo.en', (new Route('/{_locale}/fork'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'foo')->setRequirement('_locale', 'en'));
247+
$routeCollection->add('foo.fr', (new Route('/{_locale}/fourchette'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'foo')->setRequirement('_locale', 'fr'));
248+
$routeCollection->add('fun.en', (new Route('/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'fun')->setRequirement('_locale', 'en'));
249+
$routeCollection->add('fun.fr', (new Route('/amusant'))->setDefault('_locale', 'fr')->setDefault('_canonical_route', 'fun')->setRequirement('_locale', 'fr'));
247250

248251
$urlGenerator = $this->getGenerator($routeCollection);
249252
$urlGenerator->getContext()->setParameter('_locale', 'fr');
250253

251-
$this->assertSame('/app.php/fr/foo', $urlGenerator->generate('foo'));
252-
$this->assertSame('/app.php/en/foo', $urlGenerator->generate('foo.en'));
253-
$this->assertSame('/app.php/en/foo', $urlGenerator->generate('foo', ['_locale' => 'en']));
254-
$this->assertSame('/app.php/en/foo', $urlGenerator->generate('foo.fr', ['_locale' => 'en']));
254+
$this->assertSame('/app.php/fr/fourchette', $urlGenerator->generate('foo'));
255+
$this->assertSame('/app.php/en/fork', $urlGenerator->generate('foo.en'));
256+
$this->assertSame('/app.php/en/fork', $urlGenerator->generate('foo', ['_locale' => 'en']));
257+
$this->assertSame('/app.php/fr/fourchette', $urlGenerator->generate('foo.fr', ['_locale' => 'en']));
255258

256259
$this->assertSame('/app.php/amusant', $urlGenerator->generate('fun'));
257260
$this->assertSame('/app.php/fun', $urlGenerator->generate('fun.en'));
@@ -278,6 +281,7 @@ public function testGenerateWithInvalidLocale()
278281
foreach (['hr' => '/foo', 'en' => '/bar'] as $locale => $path) {
279282
$localizedRoute = clone $route;
280283
$localizedRoute->setDefault('_locale', $locale);
284+
$localizedRoute->setRequirement('_locale', $locale);
281285
$localizedRoute->setDefault('_canonical_route', $name);
282286
$localizedRoute->setPath($path);
283287
$routes->add($name.'.'.$locale, $localizedRoute);

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.