package fw import ( "fmt" "github.com/stretchr/testify/assert" "testing" ) func TestTrace(t *testing.T) { test := ErrStr("error 1") _ = test.Add("message 2") _ = test.Tap() assert.Equal(t, []string{"packages/fw/error_test.go:10", "packages/fw/error_test.go:11", "packages/fw/error_test.go:12"}, test.Trace()) } func TestErr(t *testing.T) { test := Err(fmt.Errorf("test error")) assert.Equal(t, "test error", test.Message()) assert.Equal(t, 1, len(test.Trace())) } func TestErrAddMsq(t *testing.T) { test := Err(fmt.Errorf("test error")) _ = test.Add("message 2") assert.Equal(t, "message 2: test error", test.Message()) assert.Equal(t, 2, len(test.Trace())) } func TestErrAddMsq2(t *testing.T) { test := Err(fmt.Errorf("test error")) _ = test.Add("message 2") _ = test.Add("message 3") assert.Equal(t, "message 3: message 2: test error", test.Message()) assert.Equal(t, 3, len(test.Trace())) } func TestStr(t *testing.T) { test := ErrStr("error 1") assert.Equal(t, "error 1", test.Message()) assert.Equal(t, 1, len(test.Trace())) } func TestStrAddMsg(t *testing.T) { test := ErrStr("error 1") _ = test.Add("message 2") assert.Equal(t, "message 2: error 1", test.Message()) assert.Equal(t, 2, len(test.Trace())) }