| 3201 | } |
| 3202 | |
| 3203 | func Test_Route_Naming_Issue_2671_2685(t *testing.T) { |
| 3204 | t.Parallel() |
| 3205 | app := New() |
| 3206 | |
| 3207 | app.Get("/", emptyHandler).Name("index") |
| 3208 | require.Equal(t, "/", app.GetRoute("index").Path) |
| 3209 | |
| 3210 | app.Get("/a/:a_id", emptyHandler).Name("a") |
| 3211 | require.Equal(t, "/a/:a_id", app.GetRoute("a").Path) |
| 3212 | |
| 3213 | app.Post("/b/:bId", emptyHandler).Name("b") |
| 3214 | require.Equal(t, "/b/:bId", app.GetRoute("b").Path) |
| 3215 | |
| 3216 | c := app.Group("/c") |
| 3217 | c.Get("", emptyHandler).Name("c.get") |
| 3218 | require.Equal(t, "/c", app.GetRoute("c.get").Path) |
| 3219 | |
| 3220 | c.Post("", emptyHandler).Name("c.post") |
| 3221 | require.Equal(t, "/c", app.GetRoute("c.post").Path) |
| 3222 | |
| 3223 | c.Get("/d", emptyHandler).Name("c.get.d") |
| 3224 | require.Equal(t, "/c/d", app.GetRoute("c.get.d").Path) |
| 3225 | |
| 3226 | d := app.Group("/d/:d_id") |
| 3227 | d.Get("", emptyHandler).Name("d.get") |
| 3228 | require.Equal(t, "/d/:d_id", app.GetRoute("d.get").Path) |
| 3229 | |
| 3230 | d.Post("", emptyHandler).Name("d.post") |
| 3231 | require.Equal(t, "/d/:d_id", app.GetRoute("d.post").Path) |
| 3232 | |
| 3233 | e := app.Group("/e/:eId") |
| 3234 | e.Get("", emptyHandler).Name("e.get") |
| 3235 | require.Equal(t, "/e/:eId", app.GetRoute("e.get").Path) |
| 3236 | |
| 3237 | e.Post("", emptyHandler).Name("e.post") |
| 3238 | require.Equal(t, "/e/:eId", app.GetRoute("e.post").Path) |
| 3239 | |
| 3240 | e.Get("f", emptyHandler).Name("e.get.f") |
| 3241 | require.Equal(t, "/e/:eId/f", app.GetRoute("e.get.f").Path) |
| 3242 | |
| 3243 | postGroup := app.Group("/post/:postId") |
| 3244 | postGroup.Get("", emptyHandler).Name("post.get") |
| 3245 | require.Equal(t, "/post/:postId", app.GetRoute("post.get").Path) |
| 3246 | |
| 3247 | postGroup.Post("", emptyHandler).Name("post.update") |
| 3248 | require.Equal(t, "/post/:postId", app.GetRoute("post.update").Path) |
| 3249 | |
| 3250 | // Add testcase for routes use the same PATH on different methods |
| 3251 | app.Get("/users", emptyHandler).Name("get-users") |
| 3252 | app.Post("/users", emptyHandler).Name("add-user") |
| 3253 | getUsers := app.GetRoute("get-users") |
| 3254 | require.Equal(t, "/users", getUsers.Path) |
| 3255 | |
| 3256 | addUser := app.GetRoute("add-user") |
| 3257 | require.Equal(t, "/users", addUser.Path) |
| 3258 | |
| 3259 | // Add testcase for routes use the same PATH on different methods (for groups) |
| 3260 | newGrp := app.Group("/name-test") |