Skip to content

Commit

Permalink
Added more tests for LocaleSelectorFilter
Browse files Browse the repository at this point in the history
  • Loading branch information
lorenzo committed Aug 3, 2014
1 parent 76affbb commit 20b934b
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions tests/TestCase/Routing/Filter/LocaleSelectorFilterTest.php
Expand Up @@ -25,11 +25,21 @@
*/
class LocaleSelectorFilterTest extends TestCase {

/**
* Resets the default locale
*
* @return void
*/
public function tearDown() {
parent::tearDown();
Locale::setDefault('');
}

/**
* Tests selecting a language from a http header
*
* @return void
*/
public function testSimpleSelection() {
$filter = new LocaleSelectorFilter();
$request = new Request([
Expand All @@ -51,4 +61,31 @@ public function testSimpleSelection() {
$this->assertEquals('da', Locale::getDefault());
}

/**
* Tests selecting a language from a http header and filtering by a whitelist
*
* @return void
*/
public function testWithWhitelist() {
$filter = new LocaleSelectorFilter([
'locales' => ['en_CA', 'en_IN', 'es_VE']
]);
$request = new Request([
'environment' => [
'HTTP_ACCEPT_LANGUAGE' => 'en-GB;q=0.8,es-VE;q=0.9,da-DK;q=0.4'
]
]);
$filter->beforeDispatch(new Event('name', null, ['request' => $request]));
$this->assertEquals('es_VE', Locale::getDefault());
Locale::setDefault('');

$request = new Request([
'environment' => [
'HTTP_ACCEPT_LANGUAGE' => 'en-GB;q=0.8,es-ES;q=0.9,da-DK;q=0.4'
]
]);
$filter->beforeDispatch(new Event('name', null, ['request' => $request]));
$this->assertEquals('en_US', Locale::getDefault());
}

}

0 comments on commit 20b934b

Please sign in to comment.