src.elv.sh@v0.21.0-dev.0.20240515223629-06979efb9a2a/pkg/diag/show_error_test.go (about) 1 package diag 2 3 import ( 4 "errors" 5 "strings" 6 "testing" 7 ) 8 9 type showerError struct{} 10 11 func (showerError) Error() string { return "error" } 12 13 func (showerError) Show(_ string) string { return "show" } 14 15 var showErrorTests = []struct { 16 name string 17 err error 18 wantBuf string 19 }{ 20 {"A Shower error", showerError{}, "show\n"}, 21 {"A errors.New error", errors.New("ERROR"), "\033[31;1mERROR\033[m\n"}, 22 } 23 24 func TestShowError(t *testing.T) { 25 for _, test := range showErrorTests { 26 t.Run(test.name, func(t *testing.T) { 27 sb := &strings.Builder{} 28 ShowError(sb, test.err) 29 if sb.String() != test.wantBuf { 30 t.Errorf("Wrote %q, want %q", sb.String(), test.wantBuf) 31 } 32 }) 33 } 34 }