public function testBuildFragmentListener($requestUri, $isFragmentCandidate)
{
$listenerClass = 'Symfony\\Component\\HttpKernel\\EventListener\\FragmentListener';
$uriSigner = new UriSigner('my_precious_secret');
$baseFragmentPath = '/_fragment';
$request = Request::create($requestUri);
$requestStack = new RequestStack();
$requestStack->push($request);
$factory = new FragmentListenerFactory();
$factory->setRequestStack($requestStack);
$listener = $factory->buildFragmentListener($uriSigner, $baseFragmentPath, $listenerClass);
$this->assertInstanceOf($listenerClass, $listener);
$refListener = new ReflectionObject($listener);
$refFragmentPath = $refListener->getProperty('fragmentPath');
$refFragmentPath->setAccessible(true);
if ($isFragmentCandidate) {
$this->assertSame($requestUri, $refFragmentPath->getValue($listener));
} else {
$this->assertSame($baseFragmentPath, $refFragmentPath->getValue($listener));
}
}