github.com/amane3/goreleaser@v0.182.0/internal/deprecate/deprecate_test.go (about) 1 package deprecate 2 3 import ( 4 "flag" 5 "io/ioutil" 6 "testing" 7 8 "github.com/amane3/goreleaser/pkg/config" 9 "github.com/amane3/goreleaser/pkg/context" 10 "github.com/apex/log" 11 "github.com/apex/log/handlers/cli" 12 "github.com/fatih/color" 13 "github.com/stretchr/testify/require" 14 ) 15 16 var update = flag.Bool("update", false, "update .golden files") 17 18 func TestNotice(t *testing.T) { 19 f, err := ioutil.TempFile(t.TempDir(), "output.txt") 20 require.NoError(t, err) 21 t.Cleanup(func() { f.Close() }) 22 23 color.NoColor = true 24 log.SetHandler(cli.New(f)) 25 26 log.Info("first") 27 var ctx = context.New(config.Project{}) 28 Notice(ctx, "foo.bar.whatever") 29 log.Info("last") 30 require.True(t, ctx.Deprecated) 31 32 require.NoError(t, f.Close()) 33 34 bts, err := ioutil.ReadFile(f.Name()) 35 require.NoError(t, err) 36 37 const golden = "testdata/output.txt.golden" 38 if *update { 39 require.NoError(t, ioutil.WriteFile(golden, bts, 0655)) 40 } 41 42 gbts, err := ioutil.ReadFile(golden) 43 require.NoError(t, err) 44 45 require.Equal(t, string(gbts), string(bts)) 46 }