1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-02-01 13:07:49 +02:00
Carlos Alexandro Becker 4d0c0d2072
feat: release header/footer (#2267)
* feat: release header/footer

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* feat: release header/footer

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* refactor: using the golden library all over

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: lint

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: brew arm tests

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

* fix: use footer

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-05-30 21:53:40 -03:00

54 lines
1.1 KiB
Go

// Package golden asserts golden files contents.
package golden
import (
"flag"
"os"
"path/filepath"
"testing"
"github.com/stretchr/testify/require"
)
var update = flag.Bool("update", false, "update .golden files")
func RequireEqual(tb testing.TB, out []byte) {
tb.Helper()
doRequireEqual(tb, out, "")
}
func RequireEqualTxt(tb testing.TB, out []byte) {
tb.Helper()
doRequireEqual(tb, out, ".txt")
}
func RequireEqualJSON(tb testing.TB, out []byte) {
tb.Helper()
doRequireEqual(tb, out, ".json")
}
func RequireEqualRb(tb testing.TB, out []byte) {
tb.Helper()
doRequireEqual(tb, out, ".rb")
}
func RequireEqualYaml(tb testing.TB, out []byte) {
tb.Helper()
doRequireEqual(tb, out, ".yml")
}
func doRequireEqual(tb testing.TB, out []byte, ext string) {
tb.Helper()
golden := "testdata/" + tb.Name() + ext + ".golden"
if *update {
require.NoError(tb, os.MkdirAll(filepath.Dir(golden), 0o755))
require.NoError(tb, os.WriteFile(golden, out, 0o655))
}
gbts, err := os.ReadFile(golden)
require.NoError(tb, err)
require.Equal(tb, string(gbts), string(out))
}