diff --git a/cmd/muxt/testdata/generate/form.txtar b/cmd/muxt/testdata/generate/form.txtar index 29ef7f6..c8da0ae 100644 --- a/cmd/muxt/testdata/generate/form.txtar +++ b/cmd/muxt/testdata/generate/form.txtar @@ -5,7 +5,7 @@ cat template_routes.go exec go test -cover -- template.gohtml -- -{{define "POST / Method(form) 201" }}{{end}} +{{define "POST / 201 Method(form)" }}{{end}} -- go.mod -- module server diff --git a/name.go b/name.go index 7e0d1b8..b5e398c 100644 --- a/name.go +++ b/name.go @@ -96,7 +96,7 @@ func newTemplate(in string) (TemplateName, error, bool) { var ( pathSegmentPattern = regexp.MustCompile(`/\{([^}]*)}`) - templateNameMux = regexp.MustCompile(`^(?P(((?P[A-Z]+)\s+)?)(?P([^/])*)(?P(/(\S)*)))(?P\PL+.*\(.*\))?(?P\s\d+)?$`) + templateNameMux = regexp.MustCompile(`^(?P(((?P[A-Z]+)\s+)?)(?P([^/])*)(?P(/(\S)*)))(?P\s\d+)?(?P\PL+.*\(.*\))?$`) ) func (def TemplateName) parsePathValueNames() ([]string, error) { diff --git a/name_internal_test.go b/name_internal_test.go index 53521bd..9844db4 100644 --- a/name_internal_test.go +++ b/name_internal_test.go @@ -253,13 +253,21 @@ func TestNewTemplateName(t *testing.T) { }, }, { - Name: "with code", + Name: "without status code", In: "POST /", ExpMatch: true, TemplateName: func(t *testing.T, pat TemplateName) { assert.Equal(t, http.StatusOK, pat.statusCode) }, }, + { + Name: "with status code and handler", + In: "POST / 202 F()", + ExpMatch: true, + TemplateName: func(t *testing.T, pat TemplateName) { + assert.Equal(t, http.StatusAccepted, pat.statusCode) + }, + }, } { t.Run(tt.Name, func(t *testing.T) { pat, err, match := NewTemplateName(tt.In)