assertEquals([], $request->parseAcceptHeader(' ')); $this->assertEquals([ 'audio/basic' => ['q' => 1], 'audio/*' => ['q' => 0.2], ], $request->parseAcceptHeader('audio/*; q=0.2, audio/basic')); $this->assertEquals([ 'application/json' => ['q' => 1, 'version' => '1.0'], 'application/xml' => ['q' => 1, 'version' => '2.0', 'x'], 'text/x-c' => ['q' => 1], 'text/x-dvi' => ['q' => 0.8], 'text/plain' => ['q' => 0.5], ], $request->parseAcceptHeader('text/plain; q=0.5, application/json; version=1.0, application/xml; version=2.0; x, text/x-dvi; q=0.8, text/x-c')); } public function testPrefferedLanguage() { $this->mockApplication([ 'language' => 'en', ]); $request = new Request(); $request->acceptableLanguages = []; $this->assertEquals('en', $request->getPreferredLanguage()); $request = new Request(); $request->acceptableLanguages = ['de']; $this->assertEquals('en', $request->getPreferredLanguage()); $request = new Request(); $request->acceptableLanguages = ['en-us', 'de', 'ru-RU']; $this->assertEquals('en', $request->getPreferredLanguage(['en'])); $request = new Request(); $request->acceptableLanguages = ['en-us', 'de', 'ru-RU']; $this->assertEquals('de', $request->getPreferredLanguage(['ru', 'de'])); $this->assertEquals('de-DE', $request->getPreferredLanguage(['ru', 'de-DE'])); $request = new Request(); $request->acceptableLanguages = ['en-us', 'de', 'ru-RU']; $this->assertEquals('de', $request->getPreferredLanguage(['de', 'ru'])); $request = new Request(); $request->acceptableLanguages = ['en-us', 'de', 'ru-RU']; $this->assertEquals('ru-ru', $request->getPreferredLanguage(['ru-ru'])); $request = new Request(); $request->acceptableLanguages = ['en-us', 'de']; $this->assertEquals('ru-ru', $request->getPreferredLanguage(['ru-ru', 'pl'])); $this->assertEquals('ru-RU', $request->getPreferredLanguage(['ru-RU', 'pl'])); $request = new Request(); $request->acceptableLanguages = ['en-us', 'de']; $this->assertEquals('pl', $request->getPreferredLanguage(['pl', 'ru-ru'])); } }