Skip to content

Commit 21c8d52

Browse files
committed
router: add test for ParamsFromContext
1 parent 0162dec commit 21c8d52

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

router_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,30 @@ func TestRouterLookup(t *testing.T) {
500500
}
501501
}
502502

503+
func TestRouterParamsFromContext(t *testing.T) {
504+
routed := false
505+
wantParams := Params{Param{"name", "gopher"}}
506+
handlerFunc := func(_ http.ResponseWriter, req *http.Request) {
507+
// get params from request context
508+
params := ParamsFromContext(req.Context())
509+
510+
if !reflect.DeepEqual(params, wantParams) {
511+
t.Fatalf("Wrong parameter values: want %v, got %v", wantParams, params)
512+
}
513+
514+
routed = true
515+
}
516+
router := New()
517+
router.HandlerFunc(http.MethodGet, "/user/:name", handlerFunc)
518+
519+
w := new(mockResponseWriter)
520+
r, _ := http.NewRequest(http.MethodGet, "/user/gopher", nil)
521+
router.ServeHTTP(w, r)
522+
if !routed {
523+
t.Fatal("Routing failed!")
524+
}
525+
}
526+
503527
type mockFileSystem struct {
504528
opened bool
505529
}

0 commit comments

Comments
 (0)