(t *testing.T)
| 72 | } |
| 73 | |
| 74 | func TestDetail(t *testing.T) { |
| 75 | root := errors.New("foo") |
| 76 | cases := []struct { |
| 77 | err error |
| 78 | detail string |
| 79 | message string |
| 80 | }{ |
| 81 | {root, "", "foo"}, |
| 82 | {WithDetail(root, "bar"), "bar", "bar: foo"}, |
| 83 | {WithDetail(WithDetail(root, "bar"), "baz"), "bar; baz", "baz: bar: foo"}, |
| 84 | {Wrap(WithDetail(root, "bar"), "baz"), "bar", "baz: bar: foo"}, |
| 85 | } |
| 86 | |
| 87 | for _, test := range cases { |
| 88 | if got := Detail(test.err); got != test.detail { |
| 89 | t.Errorf("Detail(%v) = %v want %v", test.err, got, test.detail) |
| 90 | } |
| 91 | if got := Root(test.err); got != root { |
| 92 | t.Errorf("Root(%v) = %v want %v", test.err, got, root) |
| 93 | } |
| 94 | if got := test.err.Error(); got != test.message { |
| 95 | t.Errorf("(%v).Error() = %v want %v", test.err, got, test.message) |
| 96 | } |
| 97 | } |
| 98 | } |
| 99 | |
| 100 | func TestData(t *testing.T) { |
| 101 | root := errors.New("foo") |
nothing calls this directly
no test coverage detected