vendor/symfony/src/Symfony/Bundle/SecurityBundle/Tests/Functional/LocalizedRoutesAsPathTest.php
changeset 0 7f95f8617b0b
equal deleted inserted replaced
-1:000000000000 0:7f95f8617b0b
       
     1 <?php
       
     2 
       
     3 namespace Symfony\Bundle\SecurityBundle\Tests\Functional;
       
     4 
       
     5 class LocalizedRoutesAsPathTest extends WebTestCase
       
     6 {
       
     7     /**
       
     8      * @dataProvider getLocales
       
     9      */
       
    10     public function testLoginLogoutProcedure($locale)
       
    11     {
       
    12         $client = $this->createClient(array('test_case' => 'StandardFormLogin', 'root_config' => 'localized_routes.yml'));
       
    13         $client->insulate();
       
    14 
       
    15         $crawler = $client->request('GET', '/'.$locale.'/login');
       
    16         $form = $crawler->selectButton('login')->form();
       
    17         $form['_username'] = 'johannes';
       
    18         $form['_password'] = 'test';
       
    19         $client->submit($form);
       
    20 
       
    21         $this->assertRedirect($client->getResponse(), '/'.$locale.'/profile');
       
    22         $this->assertEquals('Profile', $client->followRedirect()->text());
       
    23 
       
    24         $client->request('GET', '/'.$locale.'/logout');
       
    25         $this->assertRedirect($client->getResponse(), '/'.$locale.'/');
       
    26         $this->assertEquals('Homepage', $client->followRedirect()->text());
       
    27     }
       
    28 
       
    29     /**
       
    30      * @dataProvider getLocales
       
    31      */
       
    32     public function testAccessRestrictedResource($locale)
       
    33     {
       
    34         $client = $this->createClient(array('test_case' => 'StandardFormLogin', 'root_config' => 'localized_routes.yml'));
       
    35         $client->insulate();
       
    36 
       
    37         $client->request('GET', '/'.$locale.'/secure/');
       
    38         $this->assertRedirect($client->getResponse(), '/'.$locale.'/login');
       
    39     }
       
    40 
       
    41     /**
       
    42      * @dataProvider getLocales
       
    43      */
       
    44     public function testAccessRestrictedResourceWithForward($locale)
       
    45     {
       
    46         $client = $this->createClient(array('test_case' => 'StandardFormLogin', 'root_config' => 'localized_routes_with_forward.yml'));
       
    47         $client->insulate();
       
    48 
       
    49         $crawler = $client->request('GET', '/'.$locale.'/secure/');
       
    50         $this->assertEquals(1, count($crawler->selectButton('login')), (string) $client->getResponse());
       
    51     }
       
    52 
       
    53     public function getLocales()
       
    54     {
       
    55         return array(array('en'), array('de'));
       
    56     }
       
    57 
       
    58     protected function setUp()
       
    59     {
       
    60         parent::setUp();
       
    61 
       
    62         $this->deleteTmpDir('StandardFormLogin');
       
    63     }
       
    64 
       
    65     protected function tearDown()
       
    66     {
       
    67         parent::tearDown();
       
    68 
       
    69         $this->deleteTmpDir('StandardFormLogin');
       
    70     }
       
    71 }