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)