mirror of
https://github.com/go-task/task.git
synced 2025-06-02 23:27:37 +02:00
Write test for ouput types
This commit is contained in:
parent
a407b0a8eb
commit
6be994f1ca
@ -13,6 +13,7 @@ vars:
|
|||||||
./internal/compiler/v2
|
./internal/compiler/v2
|
||||||
./internal/execext
|
./internal/execext
|
||||||
./internal/logger
|
./internal/logger
|
||||||
|
./internal/output
|
||||||
./internal/status
|
./internal/status
|
||||||
./internal/taskfile
|
./internal/taskfile
|
||||||
./internal/taskfile/version
|
./internal/taskfile/version
|
||||||
|
62
internal/output/output_test.go
Normal file
62
internal/output/output_test.go
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
package output_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/go-task/task/internal/output"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestInterleaved(t *testing.T) {
|
||||||
|
var b bytes.Buffer
|
||||||
|
var o output.Output = output.Interleaved{}
|
||||||
|
var w = o.WrapWriter(&b, "")
|
||||||
|
|
||||||
|
fmt.Fprintln(w, "foo\nbar")
|
||||||
|
assert.Equal(t, "foo\nbar\n", b.String())
|
||||||
|
fmt.Fprintln(w, "baz")
|
||||||
|
assert.Equal(t, "foo\nbar\nbaz\n", b.String())
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestGroup(t *testing.T) {
|
||||||
|
var b bytes.Buffer
|
||||||
|
var o output.Output = output.Group{}
|
||||||
|
var w = o.WrapWriter(&b, "")
|
||||||
|
|
||||||
|
fmt.Fprintln(w, "foo\nbar")
|
||||||
|
assert.Equal(t, "", b.String())
|
||||||
|
fmt.Fprintln(w, "baz")
|
||||||
|
assert.Equal(t, "", b.String())
|
||||||
|
assert.NoError(t, w.Close())
|
||||||
|
assert.Equal(t, "foo\nbar\nbaz\n", b.String())
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestPrefixed(t *testing.T) {
|
||||||
|
var b bytes.Buffer
|
||||||
|
var o output.Output = output.Prefixed{}
|
||||||
|
var w = o.WrapWriter(&b, "prefix")
|
||||||
|
|
||||||
|
t.Run("simple use cases", func(t *testing.T) {
|
||||||
|
b.Reset()
|
||||||
|
|
||||||
|
fmt.Fprintln(w, "foo\nbar")
|
||||||
|
assert.Equal(t, "[prefix] foo\n[prefix] bar\n", b.String())
|
||||||
|
fmt.Fprintln(w, "baz")
|
||||||
|
assert.Equal(t, "[prefix] foo\n[prefix] bar\n[prefix] baz\n", b.String())
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("multiple writes for a single line", func(t *testing.T) {
|
||||||
|
b.Reset()
|
||||||
|
|
||||||
|
for _, char := range []string{"T", "e", "s", "t", "!"} {
|
||||||
|
fmt.Fprint(w, char)
|
||||||
|
assert.Equal(t, "", b.String())
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.NoError(t, w.Close())
|
||||||
|
assert.Equal(t, "[prefix] Test!\n", b.String())
|
||||||
|
})
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user