@@ -268,6 +268,32 @@ public function testTemplateDefaultParameterIsAvailableInLayout()
268
268
$ this ->assertContains ($ expected , $ result , sprintf ('Received %s ' , $ result ));
269
269
}
270
270
271
+ public function testTemplateDefaultParameterIsAvailableInProvidedLayout ()
272
+ {
273
+ $ renderer = new ZendViewRenderer (null );
274
+ $ renderer ->addPath (__DIR__ . '/TestAsset ' );
275
+ $ titleToBeOverriden = uniqid ('ZendViewTitleToBeOverriden ' , true );
276
+ $ title = uniqid ('ZendViewTitle ' , true );
277
+ $ name = uniqid ('ZendViewName ' , true );
278
+ $ renderer ->addDefaultParam ('zendview-layout-variable ' , 'title ' , $ titleToBeOverriden );
279
+
280
+ $ layout = new ViewModel (['title ' => $ title ]);
281
+ $ layout ->setTemplate ('zendview-layout-variable ' );
282
+ $ result = $ renderer ->render ('zendview ' , ['name ' => $ name , 'layout ' => $ layout ]);
283
+ $ this ->assertContains ($ title , $ result );
284
+ $ this ->assertContains ($ name , $ result );
285
+
286
+ $ content = file_get_contents (__DIR__ . '/TestAsset/zendview.phtml ' );
287
+ $ content = str_replace ('<?php echo $name ?> ' , $ name , $ content );
288
+ $ layout = file_get_contents (__DIR__ . '/TestAsset/zendview-layout-variable.phtml ' );
289
+ $ layout = str_replace ('<?= $this->title ?> ' , $ title , $ layout );
290
+ $ layout = str_replace ('<?= $this->content ?> ' . PHP_EOL , $ content , $ layout );
291
+ $ this ->assertContains ($ layout , $ result );
292
+
293
+ $ expected = sprintf ('<title>Layout Page: %s</title> ' , $ title );
294
+ $ this ->assertContains ($ expected , $ result , sprintf ('Received %s ' , $ result ));
295
+ }
296
+
271
297
/**
272
298
* @group layout
273
299
*/
0 commit comments