17
17
use Zend \Router \RouteMatch ;
18
18
use Zend \Mvc \View \Http \InjectTemplateListener ;
19
19
use Zend \View \Model \ViewModel ;
20
+ use ZendTest \Mvc \Controller \TestAsset \SampleController ;
20
21
21
22
class InjectTemplateListenerTest extends TestCase
22
23
{
@@ -108,7 +109,7 @@ public function testBypassesTemplateInjectionIfResultViewModelAlreadyHasATemplat
108
109
public function testMapsSubNamespaceToSubDirectory ()
109
110
{
110
111
$ myViewModel = new ViewModel ();
111
- $ myController = new \ ZendTest \ Mvc \ Controller \ TestAsset \ SampleController ();
112
+ $ myController = new SampleController ();
112
113
$ this ->event ->setTarget ($ myController );
113
114
$ this ->event ->setResult ($ myViewModel );
114
115
@@ -158,7 +159,7 @@ public function testMapsSubNamespaceToSubDirectoryWithControllerFromEventTarget(
158
159
$ moduleRouteListener ->onRoute ($ this ->event );
159
160
160
161
$ myViewModel = new ViewModel ();
161
- $ myController = new \ ZendTest \ Mvc \ Controller \ TestAsset \ SampleController ();
162
+ $ myController = new SampleController ();
162
163
163
164
$ this ->event ->setTarget ($ myController );
164
165
$ this ->event ->setResult ($ myViewModel );
@@ -183,7 +184,7 @@ public function testMapsSubNamespaceToSubDirectoryWithControllerFromEventTargetS
183
184
$ template1 = $ myViewModel ->getTemplate ();
184
185
185
186
$ myViewModel = new ViewModel ();
186
- $ myController = new \ ZendTest \ Mvc \ Controller \ TestAsset \ SampleController ();
187
+ $ myController = new SampleController ();
187
188
188
189
$ this ->event ->setTarget ($ myController );
189
190
$ this ->event ->setResult ($ myViewModel );
@@ -204,7 +205,7 @@ public function testControllerMatchedByMapIsInflected()
204
205
205
206
$ this ->listener ->setControllerMap (['ZendTest ' => true ]);
206
207
$ myViewModel = new ViewModel ();
207
- $ myController = new \ ZendTest \ Mvc \ Controller \ TestAsset \ SampleController ();
208
+ $ myController = new SampleController ();
208
209
$ this ->event ->setTarget ($ myController );
209
210
$ this ->event ->setResult ($ myViewModel );
210
211
@@ -332,12 +333,36 @@ public function testPrefersRouteMatchController()
332
333
$ this ->listener ->setPreferRouteMatchController (true );
333
334
$ this ->routeMatch ->setParam ('controller ' , 'Some\Other\Service\Namespace\Controller\Sample ' );
334
335
$ myViewModel = new ViewModel ();
335
- $ myController = new \ ZendTest \ Mvc \ Controller \ TestAsset \ SampleController ();
336
+ $ myController = new SampleController ();
336
337
337
338
$ this ->event ->setTarget ($ myController );
338
339
$ this ->event ->setResult ($ myViewModel );
339
340
$ this ->listener ->injectTemplate ($ this ->event );
340
341
341
342
$ this ->assertEquals ('some/other/service/namespace/sample ' , $ myViewModel ->getTemplate ());
342
343
}
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
+ }
343
368
}
0 commit comments