diff options
| author | Stefan Majewsky <majewsky@gmx.net> | 2026-04-18 15:44:46 +0200 |
|---|---|---|
| committer | Stefan Majewsky <majewsky@gmx.net> | 2026-04-18 15:45:42 +0200 |
| commit | 01d2d52fd7dfb64c41f7c94808fe01665ffcb881 (patch) | |
| tree | cd17477850ee1d34d11b681ef3f10a24b49c04f6 /errors_test.go | |
| parent | cfdb06f5ba144aad5d2ebe31ec8bb64e017f4023 (diff) | |
| download | go-oblast-01d2d52fd7dfb64c41f7c94808fe01665ffcb881.tar.gz | |
more test coverage, forbid non-zero auto columns during Insert()
Diffstat (limited to 'errors_test.go')
| -rw-r--r-- | errors_test.go | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/errors_test.go b/errors_test.go new file mode 100644 index 0000000..c39cf67 --- /dev/null +++ b/errors_test.go @@ -0,0 +1,40 @@ +// SPDX-FileCopyrightText: 2026 Stefan Majewsky <majewsky@gmx.net> +// SPDX-License-Identifier: Apache-2.0 + +package oblast + +import ( + "errors" + "testing" + + "go.xyrillian.de/oblast/internal/assert" +) + +type fooError struct{} +type barError struct{} +type bazError struct{} + +func (fooError) Error() string { return "foo" } +func (barError) Error() string { return "bar" } +func (bazError) Error() string { return "baz" } + +func TestIOError(t *testing.T) { + err := newIOError(nil, "File.Close", nil) + assert.Equal(t, err == nil, true) + + err = newIOError(fooError{}, "File.Close", nil) + assert.ErrEqual(t, err, "foo") + assert.DeepEqual(t, err, error(fooError{})) // check for no wrapping in type ioError without cleanup error + + err = newIOError(nil, "File.Close", barError{}) + assert.ErrEqual(t, err, "during File.Close(): bar") + assert.Equal(t, errors.Is(err, fooError{}), false) + assert.Equal(t, errors.Is(err, barError{}), true) + assert.Equal(t, errors.Is(err, bazError{}), false) + + err = newIOError(fooError{}, "File.Close", barError{}) + assert.ErrEqual(t, err, "foo (additional error during File.Close(): bar)") + assert.Equal(t, errors.Is(err, fooError{}), true) + assert.Equal(t, errors.Is(err, barError{}), true) + assert.Equal(t, errors.Is(err, bazError{}), false) +} |
