* * 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:----hczquzThtl7Bpp0Fpp9HGvf2PYXHZClRQgdPuY3sb1rM7hp3tMBL+Qe45YftkpnHN6psv4BLaq+ySuaU0xpGgBcfu7AShrBIVvirj3+9XAoiPuytXY/GEa1F7d4PrI/Z9udUxbRPUb0lEvXRZ1yAzNy6z0W06atxphrXnCFFEYIzsCc+lZokozAb40G/Rmojf+u0LxGjHYm1vhZ+yeHvizJrbwPyA6NA40vI1gC31VprrUlVaWcIwbI9TZDmihaQ6P54+xgNJH12hSLGV9LgX3ircBEwUjkh/YBYaRhRFS1H7NqJcIZ8zYwg4NL7JB/g7iEVjSF25sB5+25NMh3fusISAZBVPyy+HEBoWgzBWdXpWJCOf48m7rnRlCYG0XX4lMor4gDtkTKCqIKaUDjaFhVLpAqoiUQ17khwb7CJCOJce+pF+qjHNKnHXdWtA5i3417jPMulbPxAuKgZ4C6iBQiiRYQAcjBWS2BevkXsrWkBq2bfUvcvy3NvRAgs2+sKQPUXUU/HDqogOBA9aD1F5A+N/GzU7dVmxHqjDwejSt5sAcQcpKAI1yCVB+QQSfNLjx/tBXeauRe7Ip/Vlg+luGsbilIWP5svOFHIlDbdXEimBQbAXvMQkQi+KLLcSkDH7+aGs/bBpkmhhMmdM0YsNMd/U234E3AY1ghGw1uhrdM=----ATTACHMENT:----MjE4NDA0MDc5MzgxNDM5OSAxMDczMjkwMTYwNTQ2MzI5IDQxNDMyMzM4Mzc0NjYwMTU=