* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Tests\Fragment; use PHPUnit\Framework\TestCase; use Symfony\Component\HttpKernel\Controller\ControllerReference; use Symfony\Component\HttpKernel\Fragment\SsiFragmentRenderer; use Symfony\Component\HttpKernel\HttpCache\Ssi; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\UriSigner; class SsiFragmentRendererTest extends TestCase { public function testRenderFallbackToInlineStrategyIfSsiNotSupported() { $strategy = new SsiFragmentRenderer(new Ssi(), $this->getInlineStrategy(true)); $strategy->render('/', Request::create('/')); } public function testRender() { $strategy = new SsiFragmentRenderer(new Ssi(), $this->getInlineStrategy()); $request = Request::create('/'); $request->setLocale('fr'); $request->headers->set('Surrogate-Capability', 'SSI/1.0'); $this->assertEquals('', $strategy->render('/', $request)->getContent()); $this->assertEquals('', $strategy->render('/', $request, array('comment' => 'This is a comment'))->getContent(), 'Strategy options should not impact the ssi include tag'); } public function testRenderControllerReference() { $signer = new UriSigner('foo'); $strategy = new SsiFragmentRenderer(new Ssi(), $this->getInlineStrategy(), $signer); $request = Request::create('/'); $request->setLocale('fr'); $request->headers->set('Surrogate-Capability', 'SSI/1.0'); $reference = new ControllerReference('main_controller', array(), array()); $altReference = new ControllerReference('alt_controller', array(), array()); $this->assertEquals( '', $strategy->render($reference, $request, array('alt' => $altReference))->getContent() ); } /** * @expectedException \LogicException */ public function testRenderControllerReferenceWithoutSignerThrowsException() { $strategy = new SsiFragmentRenderer(new Ssi(), $this->getInlineStrategy()); $request = Request::create('/'); $request->setLocale('fr'); $request->headers->set('Surrogate-Capability', 'SSI/1.0'); $strategy->render(new ControllerReference('main_controller'), $request); } /** * @expectedException \LogicException */ public function testRenderAltControllerReferenceWithoutSignerThrowsException() { $strategy = new SsiFragmentRenderer(new Ssi(), $this->getInlineStrategy()); $request = Request::create('/'); $request->setLocale('fr'); $request->headers->set('Surrogate-Capability', 'SSI/1.0'); $strategy->render('/', $request, array('alt' => new ControllerReference('alt_controller'))); } private function getInlineStrategy($called = false) { $inline = $this->getMockBuilder('Symfony\Component\HttpKernel\Fragment\InlineFragmentRenderer')->disableOriginalConstructor()->getMock(); if ($called) { $inline->expects($this->once())->method('render'); } return $inline; } } __halt_compiler();----SIGNATURE:----U9wRXZpuu3WBWQ5dg3SNU218TRhP/KaS9RoaDhC8fxsyNP9iLFo1SbieNo5bP1sn6Wjb0iysK8Ydxr63SmJIgzyexbo+Pcj+Ga7nJGOcC3BBgBXORuF95691pkJldwKKa8zRGh7vslE+/HQImGmyLs/3I3Hlk4VZ8b94Rjj7C8LL9rnbZbRlelZXxKlW4mofC1cHkJtvOIYxEDV8O3Enb0mER0T6j+sYwW9S9RbOf3FnJxLSnvWt+EAdV8bMuwrovrm+y5Sx4+f1UmoHHiqKatsAyjBqu9FGJVTp9Mdhr1PpGaZlM0qHI8M1zunzmTPUCo4FbLVp2NyE41AZtiGJdaNvzbc5sV3gpW/y6geZJVJepCYPsiXL/goB85FQ4NTQ8Vo5YYdgCcsD52IodMArrb/j9yWiEdeksBt+rLh5dlYf5fudMxUuq7XW2XGuX5ddRuCZrqJX0ybuXK+fUu/vhIuBd0USc3MLjyUVq/wEE94nKnlgAJolDpzFCIGBnN4tUvGEoiLUUqn8BF/fxkqVC+ccW8EvzcjNA+9OojjEPJ6R1lOKUywlAgu1PHLwwwEAgSOWKhx52KjXSFzv6QaGLnYBxe6Ik5QjoqFIOe4YgKiTa4fguCfhqbsE13ieWwc/u+ZDPpxCXULLi1e5Neydg+5RPadqIZjAneX66308D5w=----ATTACHMENT:----NjE0ODA1MTExNDQzODYwNSA1MDEyMDA2OTQ1NzY5NTM1IDE2NDAwODY0NDg5MzE5NTA=