Skip to content

Commit 1499cb9

Browse files
committed
Merge pull request #1882 from Soullivaneuh/pattern-path
Fix deprecated routing configuration
2 parents 8148141 + c33d77d commit 1499cb9

File tree

8 files changed

+93
-36
lines changed

8 files changed

+93
-36
lines changed

Resources/config/routing/change_password.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@
44
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
55
xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
66

7-
<route id="fos_user_change_password" pattern="/change-password">
7+
<route id="fos_user_change_password" path="/change-password" methods="GET POST">
88
<default key="_controller">FOSUserBundle:ChangePassword:changePassword</default>
9-
<requirement key="_method">GET|POST</requirement>
109
</route>
1110

1211
</routes>

Resources/config/routing/group.xml

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,24 @@
44
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
55
xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
66

7-
<route id="fos_user_group_list" pattern="/list">
7+
<route id="fos_user_group_list" path="/list" methods="GET">
88
<default key="_controller">FOSUserBundle:Group:list</default>
9-
<requirement key="_method">GET</requirement>
109
</route>
1110

12-
<route id="fos_user_group_new" pattern="/new">
11+
<route id="fos_user_group_new" path="/new" methods="GET POST">
1312
<default key="_controller">FOSUserBundle:Group:new</default>
1413
</route>
1514

16-
<route id="fos_user_group_show" pattern="/{groupname}">
15+
<route id="fos_user_group_show" path="/{groupname}" methods="GET">
1716
<default key="_controller">FOSUserBundle:Group:show</default>
18-
<requirement key="_method">GET</requirement>
1917
</route>
2018

21-
<route id="fos_user_group_edit" pattern="/{groupname}/edit">
19+
<route id="fos_user_group_edit" path="/{groupname}/edit" methods="GET POST">
2220
<default key="_controller">FOSUserBundle:Group:edit</default>
2321
</route>
2422

25-
<route id="fos_user_group_delete" pattern="/{groupname}/delete">
23+
<route id="fos_user_group_delete" path="/{groupname}/delete" methods="GET">
2624
<default key="_controller">FOSUserBundle:Group:delete</default>
27-
<requirement key="_method">GET</requirement>
2825
</route>
2926

3027
</routes>

Resources/config/routing/profile.xml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@
44
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
55
xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
66

7-
<route id="fos_user_profile_show" pattern="/">
7+
<route id="fos_user_profile_show" path="/" methods="GET">
88
<default key="_controller">FOSUserBundle:Profile:show</default>
9-
<requirement key="_method">GET</requirement>
109
</route>
1110

12-
<route id="fos_user_profile_edit" pattern="/edit">
11+
<route id="fos_user_profile_edit" path="/edit" methods="GET POST">
1312
<default key="_controller">FOSUserBundle:Profile:edit</default>
1413
</route>
1514

Resources/config/routing/registration.xml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,20 @@
44
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
55
xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
66

7-
<route id="fos_user_registration_register" pattern="/">
7+
<route id="fos_user_registration_register" path="/" methods="GET POST">
88
<default key="_controller">FOSUserBundle:Registration:register</default>
99
</route>
1010

11-
<route id="fos_user_registration_check_email" pattern="/check-email">
11+
<route id="fos_user_registration_check_email" path="/check-email" methods="GET">
1212
<default key="_controller">FOSUserBundle:Registration:checkEmail</default>
13-
<requirement key="_method">GET</requirement>
1413
</route>
1514

16-
<route id="fos_user_registration_confirm" pattern="/confirm/{token}">
15+
<route id="fos_user_registration_confirm" path="/confirm/{token}" methods="GET">
1716
<default key="_controller">FOSUserBundle:Registration:confirm</default>
18-
<requirement key="_method">GET</requirement>
1917
</route>
2018

21-
<route id="fos_user_registration_confirmed" pattern="/confirmed">
19+
<route id="fos_user_registration_confirmed" path="/confirmed" methods="GET">
2220
<default key="_controller">FOSUserBundle:Registration:confirmed</default>
23-
<requirement key="_method">GET</requirement>
2421
</route>
2522

2623
</routes>

Resources/config/routing/resetting.xml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,20 @@
44
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
55
xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
66

7-
<route id="fos_user_resetting_request" pattern="/request">
7+
<route id="fos_user_resetting_request" path="/request" methods="GET">
88
<default key="_controller">FOSUserBundle:Resetting:request</default>
9-
<requirement key="_method">GET</requirement>
109
</route>
1110

12-
<route id="fos_user_resetting_send_email" pattern="/send-email">
11+
<route id="fos_user_resetting_send_email" path="/send-email" methods="POST">
1312
<default key="_controller">FOSUserBundle:Resetting:sendEmail</default>
14-
<requirement key="_method">POST</requirement>
1513
</route>
1614

17-
<route id="fos_user_resetting_check_email" pattern="/check-email">
15+
<route id="fos_user_resetting_check_email" path="/check-email" methods="GET">
1816
<default key="_controller">FOSUserBundle:Resetting:checkEmail</default>
19-
<requirement key="_method">GET</requirement>
2017
</route>
2118

22-
<route id="fos_user_resetting_reset" pattern="/reset/{token}">
19+
<route id="fos_user_resetting_reset" path="/reset/{token}" methods="GET POST">
2320
<default key="_controller">FOSUserBundle:Resetting:reset</default>
24-
<requirement key="_method">GET|POST</requirement>
2521
</route>
2622

2723
</routes>

Resources/config/routing/security.xml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,15 @@
44
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
55
xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
66

7-
<route id="fos_user_security_login" pattern="/login">
7+
<route id="fos_user_security_login" path="/login" methods="GET POST">
88
<default key="_controller">FOSUserBundle:Security:login</default>
99
</route>
1010

11-
<route id="fos_user_security_check" pattern="/login_check">
11+
<route id="fos_user_security_check" path="/login_check" methods="POST">
1212
<default key="_controller">FOSUserBundle:Security:check</default>
13-
<requirement key="_method">POST</requirement>
1413
</route>
1514

16-
<route id="fos_user_security_logout" pattern="/logout">
15+
<route id="fos_user_security_logout" path="/logout" methods="GET">
1716
<default key="_controller">FOSUserBundle:Security:logout</default>
1817
</route>
1918

Tests/Routing/RoutingTest.php

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
<?php
2+
3+
namespace FOS\UserBundle\Tests\Routing;
4+
5+
use Symfony\Component\Config\FileLocator;
6+
use Symfony\Component\Routing\Loader\XmlFileLoader;
7+
use Symfony\Component\Routing\RouteCollection;
8+
9+
class RoutingTest extends \PHPUnit_Framework_TestCase
10+
{
11+
/**
12+
* @dataProvider loadRoutingProvider
13+
*/
14+
public function testLoadRouting($routeName, $path, array $methods)
15+
{
16+
$locator = new FileLocator();
17+
$loader = new XmlFileLoader($locator);
18+
19+
$collection = new RouteCollection();
20+
$collection->addCollection($loader->load(__DIR__.'/../../Resources/config/routing/change_password.xml'));
21+
$subCollection = $loader->load(__DIR__.'/../../Resources/config/routing/group.xml');
22+
$subCollection->addPrefix('/group');
23+
$collection->addCollection($subCollection);
24+
$subCollection = $loader->load(__DIR__.'/../../Resources/config/routing/profile.xml');
25+
$subCollection->addPrefix('/profile');
26+
$collection->addCollection($subCollection);
27+
$subCollection = $loader->load(__DIR__.'/../../Resources/config/routing/registration.xml');
28+
$subCollection->addPrefix('/register');
29+
$collection->addCollection($subCollection);
30+
$subCollection = $loader->load(__DIR__.'/../../Resources/config/routing/resetting.xml');
31+
$subCollection->addPrefix('/resetting');
32+
$collection->addCollection($subCollection);
33+
$collection->addCollection($loader->load(__DIR__.'/../../Resources/config/routing/security.xml'));
34+
35+
$route = $collection->get($routeName);
36+
$this->assertNotNull($route, sprintf('The route "%s" should exists', $routeName));
37+
$this->assertEquals($path, $route->getPath());
38+
$this->assertEquals($methods, $route->getMethods());
39+
}
40+
41+
public function loadRoutingProvider()
42+
{
43+
return array(
44+
array('fos_user_change_password', '/change-password', array('GET', 'POST')),
45+
46+
array('fos_user_group_list', '/group/list', array('GET')),
47+
array('fos_user_group_new', '/group/new', array('GET', 'POST')),
48+
array('fos_user_group_show', '/group/{groupname}', array('GET')),
49+
array('fos_user_group_edit', '/group/{groupname}/edit', array('GET', 'POST')),
50+
array('fos_user_group_delete', '/group/{groupname}/delete', array('GET')),
51+
52+
array('fos_user_profile_show', '/profile/', array('GET')),
53+
array('fos_user_profile_edit', '/profile/edit', array('GET', 'POST')),
54+
55+
array('fos_user_registration_register', '/register/', array('GET', 'POST')),
56+
array('fos_user_registration_check_email', '/register/check-email', array('GET')),
57+
array('fos_user_registration_confirm', '/register/confirm/{token}', array('GET')),
58+
array('fos_user_registration_confirmed', '/register/confirmed', array('GET')),
59+
60+
array('fos_user_resetting_request', '/resetting/request', array('GET')),
61+
array('fos_user_resetting_send_email', '/resetting/send-email', array('POST')),
62+
array('fos_user_resetting_check_email', '/resetting/check-email', array('GET')),
63+
array('fos_user_resetting_reset', '/resetting/reset/{token}', array('GET', 'POST')),
64+
65+
array('fos_user_security_login', '/login', array('GET', 'POST')),
66+
array('fos_user_security_check', '/login_check', array('POST')),
67+
array('fos_user_security_logout', '/logout', array('GET')),
68+
);
69+
}
70+
}

composer.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,16 @@
2121
],
2222
"require": {
2323
"php": ">=5.3.2",
24-
"symfony/framework-bundle": "~2.1",
25-
"symfony/security-bundle": "~2.1"
24+
"symfony/framework-bundle": "~2.3",
25+
"symfony/security-bundle": "~2.3"
2626
},
2727
"require-dev": {
2828
"twig/twig": "~1.5",
2929
"doctrine/doctrine-bundle": "~1.3",
3030
"swiftmailer/swiftmailer": "~4.3|~5",
3131
"willdurand/propel-typehintable-behavior": "~1.0",
32-
"symfony/yaml": "~2.1",
33-
"symfony/validator": "~2.1"
32+
"symfony/yaml": "~2.3",
33+
"symfony/validator": "~2.3"
3434
},
3535
"suggest": {
3636
"willdurand/propel-typehintable-behavior": "Needed when using the propel implementation"

0 commit comments

Comments
 (0)