1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-31 21:55:34 +02:00

67 lines
1.8 KiB
Go
Raw Normal View History

2017-04-19 16:59:26 -03:00
package release
import (
"testing"
"github.com/goreleaser/goreleaser/internal/golden"
"github.com/goreleaser/goreleaser/pkg/config"
"github.com/goreleaser/goreleaser/pkg/context"
"github.com/stretchr/testify/require"
2017-04-19 16:59:26 -03:00
)
2017-04-19 17:12:12 -03:00
func TestDescribeBody(t *testing.T) {
changelog := "feature1: description\nfeature2: other description"
ctx := context.New(config.Project{})
ctx.ReleaseNotes = changelog
out, err := describeBody(ctx)
require.NoError(t, err)
golden.RequireEqual(t, out.Bytes())
2017-04-19 16:59:26 -03:00
}
2017-07-04 09:28:26 -03:00
func TestDontEscapeHTML(t *testing.T) {
changelog := "<h1>test</h1>"
ctx := context.New(config.Project{})
2017-12-29 20:34:09 -02:00
ctx.ReleaseNotes = changelog
2017-07-04 09:28:26 -03:00
out, err := describeBody(ctx)
require.NoError(t, err)
require.Contains(t, out.String(), changelog)
2017-07-04 09:28:26 -03:00
}
func TestDescribeBodyWithHeaderAndFooter(t *testing.T) {
changelog := "feature1: description\nfeature2: other description"
ctx := context.New(config.Project{
Release: config.Release{
Header: "## Yada yada yada\nsomething\n",
Footer: "\n---\n\nGet images at docker.io/foo/bar:{{.Tag}}\n\n---\n\nGet GoReleaser Pro at https://goreleaser.com/pro",
},
})
ctx.ReleaseNotes = changelog
ctx.Git = context.GitInfo{CurrentTag: "v1.0"}
out, err := describeBody(ctx)
require.NoError(t, err)
golden.RequireEqual(t, out.Bytes())
}
func TestDescribeBodyWithInvalidHeaderTemplate(t *testing.T) {
ctx := context.New(config.Project{
Release: config.Release{
Header: "## {{ .Nop }\n",
},
})
_, err := describeBody(ctx)
require.EqualError(t, err, `template: tmpl:1: unexpected "}" in operand`)
}
func TestDescribeBodyWithInvalidFooterTemplate(t *testing.T) {
ctx := context.New(config.Project{
Release: config.Release{
Footer: "{{ .Nops }",
},
})
_, err := describeBody(ctx)
require.EqualError(t, err, `template: tmpl:1: unexpected "}" in operand`)
}