public function testWildcharLanguage()
 {
     $acceptHeader = new AcceptLanguage();
     $acceptHeader->addLanguage('da', 0.8)->addLanguage('*', 0.4);
     $this->assertTrue($acceptHeader->hasLanguage('da'));
     $this->assertTrue($acceptHeader->hasLanguage('en'));
     $this->assertEquals('Accept-Language: da;q=0.8,*;q=0.4', $acceptHeader->toString());
 }
 public function testSelectsLanguageViaLocaleLookup()
 {
     $strategy = $this->strategy;
     $event = $this->event;
     $header = new AcceptLanguage();
     $header->addLanguage('de-DE', 1);
     $header->addLanguage('en-US', 0.8);
     $header->addLanguage('en', 0.6);
     $event->getRequest()->getHeaders()->addHeader($header);
     $event->setSupported(array('en', 'de'));
     $locale = $strategy->detect($event);
     $this->assertEquals('de', $locale);
 }
 public function testSelectsOnlyLanguageFromSupportedList()
 {
     $strategy = $this->strategy;
     $event = $this->event;
     $header = new AcceptLanguage();
     $header->addLanguage('foo', 1);
     $header->addLanguage('bar', 0.8);
     $header->addLanguage('baz', 0.6);
     $event->getRequest()->getHeaders()->addHeader($header);
     $event->setSupported(array('bar'));
     $locale = $strategy->detect($event);
     $this->assertEquals('bar', $locale);
 }