1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-01-06 03:13:48 +02:00
goreleaser/internal/logext/writer_test.go
Carlos Alexandro Becker f24f1a0a70
fix: improve output on github actions (#3221)
* fix: improve output on github actions

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* fix: log

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>

* test: force ascii

Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
2022-07-04 16:12:24 -03:00

52 lines
1.2 KiB
Go

package logext
import (
"bytes"
"os"
"strconv"
"testing"
"github.com/caarlos0/log"
"github.com/charmbracelet/lipgloss"
"github.com/goreleaser/goreleaser/internal/golden"
"github.com/muesli/termenv"
"github.com/stretchr/testify/require"
)
func TestWriter(t *testing.T) {
lipgloss.SetColorProfile(termenv.Ascii)
t.Run("info", func(t *testing.T) {
for _, out := range []Output{Info, Error} {
t.Run(strconv.Itoa(int(out)), func(t *testing.T) {
t.Cleanup(func() {
log.Log = log.New(os.Stderr)
})
var b bytes.Buffer
log.Log = log.New(&b)
l, err := NewWriter(log.Fields{"foo": "bar"}, out).Write([]byte("foo\nbar\n"))
require.NoError(t, err)
require.Equal(t, 8, l)
require.Empty(t, b.String())
})
}
})
t.Run("debug", func(t *testing.T) {
for _, out := range []Output{Info, Error} {
t.Run(strconv.Itoa(int(out)), func(t *testing.T) {
t.Cleanup(func() {
log.Log = log.New(os.Stderr)
})
var b bytes.Buffer
log.Log = log.New(&b)
log.SetLevel(log.DebugLevel)
l, err := NewWriter(log.Fields{"foo": "bar"}, out).Write([]byte("foo\nbar\n"))
require.NoError(t, err)
require.Equal(t, 8, l)
golden.RequireEqualTxt(t, b.Bytes())
})
}
})
}