@@ -1478,6 +1478,34 @@ func TestRouter_ServeHTTP_HandleSubRouter(t *testing.T) {
14781478 assert .Equal (t , http .StatusNotFound , w .Code )
14791479 })
14801480
1481+ t .Run ("sub-router registered with regex wildcard" , func (t * testing.T ) {
1482+ sub := MustRouter ()
1483+ sub .MustAdd (MethodGet , "/users" , patternHandler )
1484+
1485+ fx := MustRouter (AllowRegexpParam (true ))
1486+ require .NoError (t , onlyError (fx .Add (MethodGet , "/api/+{rest:[a-z]+}" , Sub (sub ))))
1487+
1488+ req := httptest .NewRequest (http .MethodGet , "/api/users" , nil )
1489+ w := httptest .NewRecorder ()
1490+ fx .ServeHTTP (w , req )
1491+ assert .Equal (t , http .StatusOK , w .Code )
1492+ assert .Equal (t , "/api/users" , w .Body .String ())
1493+ })
1494+
1495+ t .Run ("sub-router registered with regex param" , func (t * testing.T ) {
1496+ sub := MustRouter ()
1497+ sub .MustAdd (MethodGet , "/users" , patternHandler )
1498+
1499+ fx := MustRouter (AllowRegexpParam (true ))
1500+ require .NoError (t , onlyError (fx .Add (MethodGet , "/api/{name:[a-z]+}" , Sub (sub ))))
1501+
1502+ req := httptest .NewRequest (http .MethodGet , "/api/users" , nil )
1503+ w := httptest .NewRecorder ()
1504+ fx .ServeHTTP (w , req )
1505+ assert .Equal (t , http .StatusOK , w .Code )
1506+ assert .Equal (t , "/api/users" , w .Body .String ())
1507+ })
1508+
14811509 t .Run ("sub-router no route handler sees clean context" , func (t * testing.T ) {
14821510 var pat , tenant string
14831511 var route * Route
0 commit comments