Fix route naming when to use group in group. (#1736)

pull/1741/head
M. Efe Çetin 2022-01-29 17:26:01 +03:00 committed by GitHub
parent 6036f402db
commit d3c2122086
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 1 deletions

View File

@ -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)
}

View File

@ -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