1717use Zend \Router \RouteMatch ;
1818use Zend \Mvc \View \Http \InjectTemplateListener ;
1919use Zend \View \Model \ViewModel ;
20+ use ZendTest \Mvc \Controller \TestAsset \SampleController ;
2021
2122class InjectTemplateListenerTest extends TestCase
2223{
@@ -108,7 +109,7 @@ public function testBypassesTemplateInjectionIfResultViewModelAlreadyHasATemplat
108109 public function testMapsSubNamespaceToSubDirectory ()
109110 {
110111 $ myViewModel = new ViewModel ();
111- $ myController = new \ ZendTest \ Mvc \ Controller \ TestAsset \ SampleController ();
112+ $ myController = new SampleController ();
112113 $ this ->event ->setTarget ($ myController );
113114 $ this ->event ->setResult ($ myViewModel );
114115
@@ -158,7 +159,7 @@ public function testMapsSubNamespaceToSubDirectoryWithControllerFromEventTarget(
158159 $ moduleRouteListener ->onRoute ($ this ->event );
159160
160161 $ myViewModel = new ViewModel ();
161- $ myController = new \ ZendTest \ Mvc \ Controller \ TestAsset \ SampleController ();
162+ $ myController = new SampleController ();
162163
163164 $ this ->event ->setTarget ($ myController );
164165 $ this ->event ->setResult ($ myViewModel );
@@ -183,7 +184,7 @@ public function testMapsSubNamespaceToSubDirectoryWithControllerFromEventTargetS
183184 $ template1 = $ myViewModel ->getTemplate ();
184185
185186 $ myViewModel = new ViewModel ();
186- $ myController = new \ ZendTest \ Mvc \ Controller \ TestAsset \ SampleController ();
187+ $ myController = new SampleController ();
187188
188189 $ this ->event ->setTarget ($ myController );
189190 $ this ->event ->setResult ($ myViewModel );
@@ -204,7 +205,7 @@ public function testControllerMatchedByMapIsInflected()
204205
205206 $ this ->listener ->setControllerMap (['ZendTest ' => true ]);
206207 $ myViewModel = new ViewModel ();
207- $ myController = new \ ZendTest \ Mvc \ Controller \ TestAsset \ SampleController ();
208+ $ myController = new SampleController ();
208209 $ this ->event ->setTarget ($ myController );
209210 $ this ->event ->setResult ($ myViewModel );
210211
@@ -332,12 +333,36 @@ public function testPrefersRouteMatchController()
332333 $ this ->listener ->setPreferRouteMatchController (true );
333334 $ this ->routeMatch ->setParam ('controller ' , 'Some\Other\Service\Namespace\Controller\Sample ' );
334335 $ myViewModel = new ViewModel ();
335- $ myController = new \ ZendTest \ Mvc \ Controller \ TestAsset \ SampleController ();
336+ $ myController = new SampleController ();
336337
337338 $ this ->event ->setTarget ($ myController );
338339 $ this ->event ->setResult ($ myViewModel );
339340 $ this ->listener ->injectTemplate ($ this ->event );
340341
341342 $ this ->assertEquals ('some/other/service/namespace/sample ' , $ myViewModel ->getTemplate ());
342343 }
344+
345+ public function testPrefersRouteMatchControllerWithRouteMatchAndControllerMap ()
346+ {
347+ $ this ->assertFalse ($ this ->listener ->isPreferRouteMatchController ());
348+ $ controllerMap = [
349+ 'Some\Other\Service\Namespace\Controller\Sample ' => 'another/sample '
350+ ];
351+
352+ $ this ->routeMatch ->setParam ('prefer_route_match_controller ' , true );
353+ $ this ->routeMatch ->setParam ('controller ' , 'Some\Other\Service\Namespace\Controller\Sample ' );
354+
355+ $ preferRouteMatchControllerRouteMatchConfig = $ this ->routeMatch ->getParam ('prefer_route_match_controller ' , false );
356+ $ this ->listener ->setPreferRouteMatchController ($ preferRouteMatchControllerRouteMatchConfig );
357+ $ this ->listener ->setControllerMap ($ controllerMap );
358+
359+ $ myViewModel = new ViewModel ();
360+ $ myController = new SampleController ();
361+
362+ $ this ->event ->setTarget ($ myController );
363+ $ this ->event ->setResult ($ myViewModel );
364+ $ this ->listener ->injectTemplate ($ this ->event );
365+
366+ $ this ->assertEquals ('another/sample ' , $ myViewModel ->getTemplate ());
367+ }
343368}
0 commit comments