File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -568,7 +568,9 @@ public function autoRoute(string $uri)
568568 */
569569 protected function validateRequest (array $ segments ): array
570570 {
571- $ segments = array_filter ($ segments );
571+ $ segments = array_filter ($ segments , function ($ segment ) {
572+ return ! empty ($ segment ) || ($ segment !== '0 ' || $ segment !== 0 );
573+ });
572574 $ segments = array_values ($ segments );
573575
574576 $ c = count ($ segments );
Original file line number Diff line number Diff line change @@ -490,4 +490,23 @@ public function testTranslateURIDashesForAutoRoute()
490490 }
491491
492492 //--------------------------------------------------------------------
493+
494+ /**
495+ * @see https://github.com/codeigniter4/CodeIgniter4/issues/2032
496+ */
497+ public function testAutoRouteMatchesZeroParams ()
498+ {
499+ $ router = new Router ($ this ->collection , $ this ->request );
500+
501+ $ router ->autoRoute ('myController/someMethod/0/abc ' );
502+
503+ $ this ->assertEquals ('MyController ' , $ router ->controllerName ());
504+ $ this ->assertEquals ('someMethod ' , $ router ->methodName ());
505+
506+ $ expected = [
507+ '0 ' ,
508+ 'abc ' ,
509+ ];
510+ $ this ->assertEquals ($ expected , $ router ->params ());
511+ }
493512}
You can’t perform that action at this time.
0 commit comments