public function testGetPreferredLocale_NotAvailable_ShouldReturnDefault()
{
$request = $this->getMockBuilder('Symfony\\Component\\HttpFoundation\\Request')->disableOriginalConstructor()->getMock();
$parameterBag = $this->getMockBuilder('Symfony\\Component\\HttpFoundation\\ParameterBag')->disableOriginalConstructor()->getMock();
$request->attributes = $parameterBag;
$server = $this->getMock('\\Symfony\\Component\\HttpFoundation\\ServerBag');
$server->expects($this->exactly(2))->method('get')->with('HTTP_ACCEPT_LANGUAGE')->will($this->returnValue('de-DE,de;q=0.8,jp'));
$request->server = $server;
$accessMapStub = $this->getMock('\\Symfony\\Component\\Security\\Http\\AccessMap');
$accessMapStub->expects($this->never())->method('getPatterns')->will($this->returnValue(array(array('hallo'))));
$listener = new LocaleListener($accessMapStub, array(array('locale' => 'it'), array('locale' => 'fr')), 'en');
$preferredLocale = $listener->getPreferredLocale($request);
$this->assertEquals('en', $preferredLocale);
// its the default
}