mirror of
https://github.com/cubixle/tuu.git
synced 2026-04-24 22:34:42 +01:00
fixed router and added test for prefix
This commit is contained in:
@@ -17,7 +17,7 @@ type DefaultRouter struct {
|
||||
prefix string
|
||||
}
|
||||
|
||||
func (r *Prefix) Prefix(path string) {
|
||||
func (r *DefaultRouter) Prefix(path string) {
|
||||
r.prefix = path
|
||||
}
|
||||
|
||||
@@ -49,11 +49,13 @@ func (r *DefaultRouter) GetStaticRoutes() []*StaticRoute {
|
||||
}
|
||||
|
||||
func (r *DefaultRouter) addRoute(m, p string, h Handler) {
|
||||
path := fmt.Sprintf("/%s/%s", strings.TrimPrefix(r.prefix, "/"), strings.TrimSuffix(p, "/"))
|
||||
if r.prefix != "" {
|
||||
p = fmt.Sprintf("/%s/%s", strings.TrimPrefix(r.prefix, "/"), strings.TrimSuffix(p, "/"))
|
||||
}
|
||||
|
||||
r.Routes = append(r.Routes, &Route{
|
||||
Method: m,
|
||||
Path: path,
|
||||
Path: p,
|
||||
Handler: h,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -33,3 +33,17 @@ func Test_Static_Route_Creation(t *testing.T) {
|
||||
route := routes[0]
|
||||
r.Equal("/test-path", route.Path)
|
||||
}
|
||||
|
||||
func Test_Prefix_Route_Creation(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
router := tuu.NewRouter()
|
||||
router.Prefix("/prefix")
|
||||
|
||||
router.GET("/home", func(ctx tuu.Context) error { return nil })
|
||||
|
||||
routes := router.GetRoutes()
|
||||
r.Len(routes, 1)
|
||||
route := routes[0]
|
||||
r.Contains(route.Path, "/prefix")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user