|
11 | 11 | use PHPUnit_Framework_TestCase as TestCase;
|
12 | 12 | use Zend\Expressive\Template\Exception\InvalidArgumentException;
|
13 | 13 | use Zend\Expressive\Template\TemplatePath;
|
| 14 | +use Zend\Expressive\Template\TemplateRendererInterface; |
14 | 15 | use Zend\Expressive\ZendView\ZendViewRenderer;
|
15 | 16 | use Zend\View\Model\ViewModel;
|
16 | 17 | use Zend\View\Renderer\PhpRenderer;
|
@@ -272,6 +273,51 @@ public function testCanPassViewModelForLayoutParameterWhenRendering()
|
272 | 273 | $this->assertContains('<title>ALTERNATE LAYOUT PAGE</title>', $result);
|
273 | 274 | }
|
274 | 275 |
|
| 276 | + /** |
| 277 | + * @group layout |
| 278 | + */ |
| 279 | + public function testDisableLayoutOnRender() |
| 280 | + { |
| 281 | + $layout = new ViewModel(); |
| 282 | + $layout->setTemplate('zendview-layout'); |
| 283 | + |
| 284 | + $renderer = new ZendViewRenderer(null, $layout); |
| 285 | + $renderer->addPath(__DIR__ . '/TestAsset'); |
| 286 | + |
| 287 | + $name = 'zendview'; |
| 288 | + $rendered = $renderer->render('zendview', [ |
| 289 | + 'layout' => false, |
| 290 | + 'name' => $name, |
| 291 | + ]); |
| 292 | + |
| 293 | + $expected = file_get_contents(__DIR__ . '/TestAsset/zendview.phtml'); |
| 294 | + $expected = str_replace('<?php echo $name ?>', $name, $expected); |
| 295 | + |
| 296 | + $this->assertEquals($rendered, $expected); |
| 297 | + } |
| 298 | + |
| 299 | + /** |
| 300 | + * @group layout |
| 301 | + */ |
| 302 | + public function testDisableLayoutViaDefaultParameter() |
| 303 | + { |
| 304 | + $layout = new ViewModel(); |
| 305 | + $layout->setTemplate('zendview-layout'); |
| 306 | + |
| 307 | + $renderer = new ZendViewRenderer(null, $layout); |
| 308 | + $renderer->addPath(__DIR__ . '/TestAsset'); |
| 309 | + $renderer->addDefaultParam(TemplateRendererInterface::TEMPLATE_ALL, 'layout', false); |
| 310 | + |
| 311 | + |
| 312 | + $name = 'zendview'; |
| 313 | + $rendered = $renderer->render('zendview', [ 'name' => $name ]); |
| 314 | + |
| 315 | + $expected = file_get_contents(__DIR__ . '/TestAsset/zendview.phtml'); |
| 316 | + $expected = str_replace('<?php echo $name ?>', $name, $expected); |
| 317 | + |
| 318 | + $this->assertEquals($rendered, $expected); |
| 319 | + } |
| 320 | + |
275 | 321 | /**
|
276 | 322 | * @group namespacing
|
277 | 323 | */
|
|
0 commit comments