package middleware import ( "net/http" "net/http/httptest" "testing" "github.com/zenazn/goji/web" ) func TestSubRouterMatch(t *testing.T) { m := web.New() m.Use(m.Router) m2 := web.New() m2.Use(SubRouter) m2.Get("/bar", func(w http.ResponseWriter, r *http.Request) {}) m.Get("/foo/*", m2) r, err := http.NewRequest("GET", "/foo/bar", nil) if err != nil { t.Fatal(err) } // This function will recurse forever if SubRouter + Match didn't work. m.ServeHTTP(httptest.NewRecorder(), r) }