public function testOnSiteAccessMatchSubRequest($uri, $semanticPathinfo, $vpString, $expectedViewParameters)
{
$defaultSiteAccess = new SiteAccess('default');
$siteAccess = new SiteAccess('test', 'test', $this->getMock('eZ\\Publish\\Core\\MVC\\Symfony\\SiteAccess\\Matcher'));
$request = Request::create($uri);
$request->attributes->set('semanticPathinfo', $semanticPathinfo);
if (!empty($vpString)) {
$request->attributes->set('viewParametersString', $vpString);
}
$event = new PostSiteAccessMatchEvent($siteAccess, $request, HttpKernelInterface::SUB_REQUEST);
$this->container->expects($this->once())->method('get')->with('ezpublish.siteaccess')->willReturn($defaultSiteAccess);
$this->listener->onSiteAccessMatch($event);
$this->assertSame($semanticPathinfo, $request->attributes->get('semanticPathinfo'));
$this->assertSame($expectedViewParameters, $request->attributes->get('viewParameters'));
$this->assertSame($vpString, $request->attributes->get('viewParametersString'));
$this->assertSame($defaultSiteAccess->name, $siteAccess->name);
$this->assertSame($defaultSiteAccess->matchingType, $siteAccess->matchingType);
$this->assertSame($defaultSiteAccess->matcher, $siteAccess->matcher);
}