package krberror import ( "fmt" "testing" "github.com/stretchr/testify/assert" ) func TestErrorf(t *testing.T) { err := fmt.Errorf("an error") var a Krberror a = Errorf(err, "cause", "some text") assert.Equal(t, "[Root cause: cause] cause: some text: an error", a.Error()) a = Errorf(err, "cause", "arg1=%d arg2=%s", 123, "arg") assert.Equal(t, "[Root cause: cause] cause: arg1=123 arg2=arg: an error", a.Error()) err = NewErrorf("another error", "some text") a = Errorf(err, "cause", "some text") assert.Equal(t, "[Root cause: another error] cause: some text < another error: some text", a.Error()) a = Errorf(err, "cause", "arg1=%d arg2=%s", 123, "arg") assert.Equal(t, "[Root cause: another error] cause: arg1=123 arg2=arg < another error: some text", a.Error()) }