Ensure language is valid

- Do not override locale if user has choosen a locale from the login screen.
- Add some tests about locale url
This commit is contained in:
Jeremy Benoist
2018-10-13 09:24:39 +02:00
parent be417ef236
commit 4d4147b228
6 changed files with 76 additions and 9 deletions

View File

@ -965,4 +965,39 @@ class ConfigControllerTest extends WallabagCoreTestCase
$client->request('GET', '/config/view-mode');
}
public function testChangeLocaleWithoutReferer()
{
$client = $this->getClient();
$client->request('GET', '/locale/de');
$client->followRedirect();
$this->assertSame('de', $client->getRequest()->getLocale());
$this->assertSame('de', $client->getContainer()->get('session')->get('_locale'));
}
public function testChangeLocaleWithReferer()
{
$client = $this->getClient();
$client->request('GET', '/login');
$client->request('GET', '/locale/de');
$client->followRedirect();
$this->assertSame('de', $client->getRequest()->getLocale());
$this->assertSame('de', $client->getContainer()->get('session')->get('_locale'));
}
public function testChangeLocaleToBadLocale()
{
$client = $this->getClient();
$client->request('GET', '/login');
$client->request('GET', '/locale/yuyuyuyu');
$client->followRedirect();
$this->assertNotSame('yuyuyuyu', $client->getRequest()->getLocale());
$this->assertNotSame('yuyuyuyu', $client->getContainer()->get('session')->get('_locale'));
}
}