diff --git a/internal/pipe/brew/brew.go b/internal/pipe/brew/brew.go index 2012572f33e..b8b31e20e7d 100644 --- a/internal/pipe/brew/brew.go +++ b/internal/pipe/brew/brew.go @@ -23,6 +23,8 @@ import ( "github.com/goreleaser/goreleaser/internal/tmpl" "github.com/goreleaser/goreleaser/pkg/config" "github.com/goreleaser/goreleaser/pkg/context" + "golang.org/x/text/cases" + "golang.org/x/text/language" ) const brewConfigExtra = "BrewConfig" @@ -471,6 +473,7 @@ func formulaNameFor(name string) string { name = strings.ReplaceAll(name, "-", " ") name = strings.ReplaceAll(name, "_", " ") name = strings.ReplaceAll(name, ".", "") - name = strings.ReplaceAll(name, "@", "AT") - return strings.ReplaceAll(strings.Title(name), " ", "") // nolint:staticcheck + name = cases.Title(language.English).String(name) + name = strings.ReplaceAll(name, " ", "") + return strings.ReplaceAll(name, "@", "AT") } diff --git a/internal/pipe/brew/brew_test.go b/internal/pipe/brew/brew_test.go index a7287aa7464..b19e21534e5 100644 --- a/internal/pipe/brew/brew_test.go +++ b/internal/pipe/brew/brew_test.go @@ -27,23 +27,23 @@ func TestDescription(t *testing.T) { } func TestNameWithDash(t *testing.T) { - require.Equal(t, formulaNameFor("some-binary"), "SomeBinary") + require.Equal(t, "SomeBinary", formulaNameFor("some-binary")) } func TestNameWithUnderline(t *testing.T) { - require.Equal(t, formulaNameFor("some_binary"), "SomeBinary") + require.Equal(t, "SomeBinary", formulaNameFor("some_binary")) } func TestNameWithDots(t *testing.T) { - require.Equal(t, formulaNameFor("binaryv0.0.0"), "Binaryv000") + require.Equal(t, "Binaryv000", formulaNameFor("binaryv0.0.0")) } func TestNameWithAT(t *testing.T) { - require.Equal(t, formulaNameFor("some_binary@1"), "SomeBinaryAT1") + require.Equal(t, "SomeBinaryAT1", formulaNameFor("some_binary@1")) } func TestSimpleName(t *testing.T) { - require.Equal(t, formulaNameFor("binary"), "Binary") + require.Equal(t, "Binary", formulaNameFor("binary")) } var defaultTemplateData = templateData{