@@ -208,6 +208,44 @@ public function testWillRenderContentInLayoutPassedToConstructor()
208
208
$ this ->assertContains ('<title>Layout Page</title> ' , $ result , sprintf ('Received %s ' , $ result ));
209
209
}
210
210
211
+ public function testSharedParameterIsAvailableInLayout ()
212
+ {
213
+ $ renderer = new ZendViewRenderer (null , 'zendview-layout-variable ' );
214
+ $ renderer ->addPath (__DIR__ . '/TestAsset ' );
215
+ $ title = uniqid ('ZendViewTitle ' , true );
216
+ $ renderer ->addDefaultParam ($ renderer ::TEMPLATE_ALL , 'title ' , $ title );
217
+
218
+ $ name = uniqid ('ZendViewName ' , true );
219
+ $ result = $ renderer ->render ('zendview ' , ['name ' => $ name ]);
220
+
221
+ $ this ->assertContains ($ title , $ result );
222
+ $ this ->assertContains ($ name , $ result );
223
+ $ content = file_get_contents (__DIR__ . '/TestAsset/zendview.phtml ' );
224
+ $ content = str_replace ('<?php echo $name ?> ' , $ name , $ content );
225
+ $ this ->assertContains ($ content , $ result );
226
+ $ expected = sprintf ('<title>Layout Page: %s</title> ' , $ title );
227
+ $ this ->assertContains ($ expected , $ result , sprintf ('Received %s ' , $ result ));
228
+ }
229
+
230
+ public function testTemplateDefaultParameterIsNotAvailableInLayout ()
231
+ {
232
+ $ renderer = new ZendViewRenderer (null , 'zendview-layout-variable ' );
233
+ $ renderer ->addPath (__DIR__ . '/TestAsset ' );
234
+ $ title = uniqid ('ZendViewTitle ' , true );
235
+ $ renderer ->addDefaultParam ('zendview ' , 'title ' , $ title );
236
+
237
+ $ name = uniqid ('ZendViewName ' , true );
238
+ $ result = $ renderer ->render ('zendview ' , ['name ' => $ name ]);
239
+
240
+ $ this ->assertNotContains ($ title , $ result );
241
+ $ this ->assertContains ($ name , $ result );
242
+ $ content = file_get_contents (__DIR__ . '/TestAsset/zendview.phtml ' );
243
+ $ content = str_replace ('<?php echo $name ?> ' , $ name , $ content );
244
+ $ this ->assertContains ($ content , $ result );
245
+ $ expected = sprintf ('<title>Layout Page: %s</title> ' , '' );
246
+ $ this ->assertContains ($ expected , $ result , sprintf ('Received %s ' , $ result ));
247
+ }
248
+
211
249
/**
212
250
* @group layout
213
251
*/
0 commit comments