...
1
2
3
4
5
6
7
8
9
10
11
12
13
14 package ui_test
15
16 import (
17 "context"
18 "testing"
19
20 "github.com/sigstore/cosign/v2/internal/ui"
21 "github.com/stretchr/testify/assert"
22 )
23
24 type testCase struct {
25 name string
26 input string
27 args []any
28 expected string
29 }
30
31 func TestInfof(t *testing.T) {
32 cases := []testCase{
33 {"basic", "foo", nil, "foo\n"},
34 {"multiline", "foo\nbar", nil, "foo\nbar\n"},
35 {"fmt", "foo: %v", []any{"bar"}, "foo: bar\n"},
36 }
37 for _, tc := range cases {
38 stderr := ui.RunWithTestCtx(func(ctx context.Context, _ ui.WriteFunc) {
39 ui.Infof(ctx, tc.input, tc.args...)
40 })
41 assert.Equal(t, tc.expected, stderr, "Bad output to STDERR")
42 }
43 }
44
45 func TestWarnf(t *testing.T) {
46 cases := []testCase{
47 {"basic", "foo", nil, "WARNING: foo\n"},
48 {"multiline", "foo\nbar", nil, "WARNING: foo\nbar\n"},
49 {"fmt", "bar: %v", []any{"baz"}, "WARNING: bar: baz\n"},
50 }
51 for _, tc := range cases {
52 stderr := ui.RunWithTestCtx(func(ctx context.Context, _ ui.WriteFunc) {
53 ui.Warnf(ctx, tc.input, tc.args...)
54 })
55 assert.Equal(t, tc.expected, stderr, "Bad output to STDERR")
56 }
57 }
58
View as plain text