diff --git a/app_test.go b/app_test.go index 3af90a9b37..5c17866e5d 100644 --- a/app_test.go +++ b/app_test.go @@ -561,10 +561,14 @@ func Test_App_Route_Naming(t *testing.T) { app.Post("/post", handler).Name("post") + subGroup := jane.Group("/sub-group").Name("sub.") + subGroup.Get("/done", handler).Name("done") + utils.AssertEqual(t, "post", app.GetRoute("post").Name) utils.AssertEqual(t, "john", app.GetRoute("john").Name) utils.AssertEqual(t, "jane.test", app.GetRoute("jane.test").Name) utils.AssertEqual(t, "jane.trace", app.GetRoute("jane.trace").Name) + utils.AssertEqual(t, "jane.sub.done", app.GetRoute("jane.sub.done").Name) utils.AssertEqual(t, "test", app.GetRoute("test").Name) } diff --git a/group.go b/group.go index 261c3eb1ec..b3816c9168 100644 --- a/group.go +++ b/group.go @@ -48,7 +48,12 @@ func (grp *Group) Mount(prefix string, fiber *App) Router { // Assign name to specific route. func (grp *Group) Name(name string) Router { - grp.name = name + if strings.HasPrefix(grp.prefix, latestGroup.prefix) { + grp.name = latestGroup.name + name + } else { + grp.name = name + } + latestGroup = *grp return grp