@@ -815,7 +815,6 @@ public function testReverseRoutingWithLocale()
815815 $ routes ->add ('{locale}/contact ' , 'myController::goto ' );
816816
817817 $ this ->assertEquals ('/en/contact ' , $ routes ->reverseRoute ('myController::goto ' ));
818-
819818 }
820819
821820 //--------------------------------------------------------------------
@@ -1475,4 +1474,43 @@ public function testZeroAsURIPath()
14751474 $ this ->assertEquals ($ expects , $ router ->handle ('/0 ' ));
14761475 }
14771476
1477+ public function provideRouteDefaultNamespace ()
1478+ {
1479+ return [
1480+ 'with \\ prefix ' => ['\App\Controllers ' ],
1481+ 'without \\ prefix ' => ['App\Controllers ' ],
1482+ ];
1483+ }
1484+
1485+ /**
1486+ * @dataProvider provideRouteDefaultNamespace
1487+ */
1488+ public function testAutoRoutesControllerNameReturnsFQCN ($ namespace )
1489+ {
1490+ $ routes = $ this ->getCollector ();
1491+ $ routes ->setAutoRoute (true );
1492+ $ routes ->setDefaultNamespace ($ namespace );
1493+
1494+ $ router = new Router ($ routes , Services::request ());
1495+ $ router ->handle ('/product ' );
1496+
1497+ $ this ->assertEquals ('\App \\Controllers \\Product ' , $ router ->controllerName ());
1498+ }
1499+
1500+ /**
1501+ * @dataProvider provideRouteDefaultNamespace
1502+ */
1503+ public function testRoutesControllerNameReturnsFQCN ($ namespace )
1504+ {
1505+ $ routes = $ this ->getCollector ();
1506+ $ routes ->setAutoRoute (false );
1507+ $ routes ->setDefaultNamespace ($ namespace );
1508+ $ routes ->get ('/product ' , 'Product ' );
1509+
1510+ $ router = new Router ($ routes , Services::request ());
1511+ $ router ->handle ('/product ' );
1512+
1513+ $ this ->assertEquals ('\App \\Controllers \\Product ' , $ router ->controllerName ());
1514+ }
1515+
14781516}
0 commit comments