Skip to content

Commit

Permalink
Update AcceptLanguageTest add a header field
Browse files Browse the repository at this point in the history
  • Loading branch information
kudashevs committed Dec 14, 2024
1 parent 6ae9df1 commit 1167382
Showing 1 changed file with 26 additions and 10 deletions.
36 changes: 26 additions & 10 deletions tests/Acceptance/AcceptLanguageLaravelIntegrationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,22 @@

class AcceptLanguageLaravelIntegrationTest extends ExtendedTestCase
{
private string $header;

protected function setUp(): void
{
parent::setUp();

$this->header = $_SERVER['HTTP_ACCEPT_LANGUAGE'] ?? '';
}

protected function tearDown(): void
{
$_SERVER['HTTP_ACCEPT_LANGUAGE'] = $this->header;

parent::tearDown();
}

/** @test */
public function it_throws_an_exception_when_a_wrong_option_is_provided(): void
{
Expand Down Expand Up @@ -89,9 +105,8 @@ public function it_can_retrieve_a_default_language_through_a_facade(): void
*/
public function it_can_retrieve_a_non_exact_match_language(): void
{
$header = 'de, fr;q=0.9, fr-CH;q=0.8, en;q=0.7, *;q=0.5';
$this->setAcceptLanguageHeader('de, fr;q=0.9, fr-CH;q=0.8, en;q=0.7, *;q=0.5');

app('config')->set('accept-language.http_accept_language', $header);
app('config')->set('accept-language.accepted_languages', ['fr', 'en']);
AcceptLanguageFacade::getLanguage();

Expand All @@ -105,9 +120,8 @@ public function it_can_retrieve_a_non_exact_match_language(): void
*/
public function it_can_retrieve_a_non_exact_match_language_and_a_subtag(): void
{
$header = 'de, fr;q=0.9, fr-CH;q=0.8, en;q=0.7, *;q=0.5';
$this->setAcceptLanguageHeader('de, fr;q=0.9, fr-CH;q=0.8, en;q=0.7, *;q=0.5');

app('config')->set('accept-language.http_accept_language', $header);
app('config')->set('accept-language.accepted_languages', ['fr-CH', 'en']);
AcceptLanguageFacade::getLanguage();

Expand All @@ -121,9 +135,8 @@ public function it_can_retrieve_a_non_exact_match_language_and_a_subtag(): void
*/
public function it_can_retrieve_a_non_exact_match_derivative(): void
{
$header = 'de, fr-CH;q=0.9, fr;q=0.8, en;q=0.7, *;q=0.5';
$this->setAcceptLanguageHeader('de, fr-CH;q=0.9, fr;q=0.8, en;q=0.7, *;q=0.5');

app('config')->set('accept-language.http_accept_language', $header);
app('config')->set('accept-language.accepted_languages', ['fr', 'en']);
AcceptLanguageFacade::getLanguage();

Expand All @@ -137,9 +150,8 @@ public function it_can_retrieve_a_non_exact_match_derivative(): void
*/
public function it_can_retrieve_an_exact_match_language(): void
{
$header = 'de, fr-CH;q=0.9, fr;q=0.8, en;q=0.7, *;q=0.5';
$this->setAcceptLanguageHeader('de, fr-CH;q=0.9, fr;q=0.8, en;q=0.7, *;q=0.5');

app('config')->set('accept-language.http_accept_language', $header);
app('config')->set('accept-language.accepted_languages', ['fr', 'en']);
app('config')->set('accept-language.exact_match_only', true);
AcceptLanguageFacade::getLanguage();
Expand All @@ -154,9 +166,8 @@ public function it_can_retrieve_an_exact_match_language(): void
*/
public function it_can_retrieve_an_exact_match_language_and_a_subtag(): void
{
$header = 'de, fr-CH;q=0.9, fr;q=0.8, en;q=0.7, *;q=0.5';
$this->setAcceptLanguageHeader('de, fr-CH;q=0.9, fr;q=0.8, en;q=0.7, *;q=0.5');

app('config')->set('accept-language.http_accept_language', $header);
app('config')->set('accept-language.accepted_languages',['fr-CH', 'en']);
app('config')->set('accept-language.exact_match_only', true);
AcceptLanguageFacade::getLanguage();
Expand Down Expand Up @@ -202,4 +213,9 @@ public function it_can_apply_some_log_related_options(): void
$this->assertNotEmpty($language);
$this->assertSame('en', $language);
}

private function setAcceptLanguageHeader(string $value): void
{
$_SERVER['HTTP_ACCEPT_LANGUAGE'] = $value;
}
}

0 comments on commit 1167382

Please sign in to comment.