TestErrorBasics tests basic Error functionality and Error() method
(t *testing.T)
| 9 | |
| 10 | // TestErrorBasics tests basic Error functionality and Error() method |
| 11 | func TestErrorBasics(t *testing.T) { |
| 12 | // Test Error with all fields |
| 13 | err := &Error{ |
| 14 | Name: "TestError", |
| 15 | Message: "test message", |
| 16 | Cause: "test cause", |
| 17 | Stack: "test stack trace", |
| 18 | JSONString: `{"name":"TestError","message":"test message"}`, |
| 19 | } |
| 20 | |
| 21 | // Test Error() method format |
| 22 | require.EqualValues(t, "TestError: test message (cause: test cause)", err.Error()) |
| 23 | |
| 24 | // Test all fields are accessible |
| 25 | require.EqualValues(t, "TestError", err.Name) |
| 26 | require.EqualValues(t, "test message", err.Message) |
| 27 | require.EqualValues(t, "test cause", err.Cause) |
| 28 | require.EqualValues(t, "test stack trace", err.Stack) |
| 29 | require.EqualValues(t, `{"name":"TestError","message":"test message"}`, err.JSONString) |
| 30 | |
| 31 | // Test empty Error |
| 32 | emptyErr := &Error{} |
| 33 | require.EqualValues(t, ": ", emptyErr.Error()) |
| 34 | |
| 35 | // Test partial fields |
| 36 | nameOnlyErr := &Error{Name: "OnlyName"} |
| 37 | require.EqualValues(t, "OnlyName: ", nameOnlyErr.Error()) |
| 38 | |
| 39 | messageOnlyErr := &Error{Message: "only message"} |
| 40 | require.EqualValues(t, ": only message", messageOnlyErr.Error()) |
| 41 | } |
| 42 | |
| 43 | // TestErrorStandardTypes tests Error with standard JavaScript error types |
| 44 | func TestErrorStandardTypes(t *testing.T) { |