1111
1212use Zend \Navigation \Navigation ;
1313use Zend \Config \Factory as ConfigFactory ;
14- use Zend \Mvc \Router \RouteMatch ;
14+ use Zend \Mvc \Router \RouteMatch as V2RouteMatch ;
1515use Zend \Mvc \Service \ServiceManagerConfig ;
1616use Zend \Permissions \Acl \Acl ;
1717use Zend \Permissions \Acl \Role \GenericRole ;
1818use Zend \Permissions \Acl \Resource \GenericResource ;
19+ use Zend \Router \ConfigProvider as RouterConfigProvider ;
20+ use Zend \Router \RouteMatch as V3RouteMatch ;
21+ use Zend \ServiceManager \Config ;
1922use Zend \ServiceManager \ServiceManager ;
2023use Zend \I18n \Translator \Translator ;
2124use Zend \View \Renderer \PhpRenderer ;
@@ -83,6 +86,10 @@ protected function setUp()
8386 {
8487 $ cwd = __DIR__ ;
8588
89+ $ this ->routeMatchType = class_exists (V2RouteMatch::class)
90+ ? V2RouteMatch::class
91+ : V3RouteMatch::class;
92+
8693 // read navigation config
8794 $ this ->_files = $ cwd . '/_files ' ;
8895 $ config = ConfigFactory::fromFile ($ this ->_files . '/navigation.xml ' , true );
@@ -130,6 +137,12 @@ protected function setUp()
130137 $ sm ->setAllowOverride (true );
131138
132139 (new ServiceManagerConfig ())->configureServiceManager ($ sm );
140+
141+ if (class_exists (RouterConfigProvider::class)) {
142+ $ routerConfig = new Config ((new RouterConfigProvider ())->getDependencyConfig ());
143+ $ routerConfig ->configureServiceManager ($ sm );
144+ }
145+
133146 $ sm ->setService ('ApplicationConfig ' , $ smConfig );
134147 $ sm ->get ('ModuleManager ' )->loadModules ();
135148 $ sm ->get ('Application ' )->bootstrap ();
@@ -141,7 +154,7 @@ protected function setUp()
141154 $ sm ->setAllowOverride (false );
142155
143156 $ app = $ this ->serviceManager ->get ('Application ' );
144- $ app ->getMvcEvent ()->setRouteMatch (new RouteMatch ([
157+ $ app ->getMvcEvent ()->setRouteMatch (new $ this -> routeMatchType ([
145158 'controller ' => 'post ' ,
146159 'action ' => 'view ' ,
147160 'id ' => '1337 ' ,
0 commit comments