From 1167382abd86bfda5fd94a39105409b7b31d6eee Mon Sep 17 00:00:00 2001 From: Sergey Kudashev Date: Sat, 14 Dec 2024 02:00:21 +0300 Subject: [PATCH] Update AcceptLanguageTest add a header field --- .../AcceptLanguageLaravelIntegrationTest.php | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/tests/Acceptance/AcceptLanguageLaravelIntegrationTest.php b/tests/Acceptance/AcceptLanguageLaravelIntegrationTest.php index edb4dd2..73cdc95 100644 --- a/tests/Acceptance/AcceptLanguageLaravelIntegrationTest.php +++ b/tests/Acceptance/AcceptLanguageLaravelIntegrationTest.php @@ -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 { @@ -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(); @@ -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(); @@ -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(); @@ -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(); @@ -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(); @@ -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; + } }