package web import ( "net/http" "regexp" "testing" ) var rawPatterns = []PatternType{ "/hello/:name", regexp.MustCompile("^/hello/(?P[^/]+)$"), testPattern{}, } func TestRawPattern(t *testing.T) { t.Parallel() for _, p := range rawPatterns { m := Match{Pattern: ParsePattern(p)} if rp := m.RawPattern(); rp != p { t.Errorf("got %#v, expected %#v", rp, p) } } } type httpHandlerOnly struct{} func (httpHandlerOnly) ServeHTTP(w http.ResponseWriter, r *http.Request) {} type handlerOnly struct{} func (handlerOnly) ServeHTTPC(c C, w http.ResponseWriter, r *http.Request) {} var rawHandlers = []HandlerType{ func(w http.ResponseWriter, r *http.Request) {}, func(c C, w http.ResponseWriter, r *http.Request) {}, httpHandlerOnly{}, handlerOnly{}, } func TestRawHandler(t *testing.T) { t.Parallel() for _, h := range rawHandlers { m := Match{Handler: parseHandler(h)} if rh := m.RawHandler(); !funcEqual(rh, h) { t.Errorf("got %#v, expected %#v", rh, h) } } }