Skip to content

Commit 9e108ae

Browse files
committed
tests for errors.Is
1 parent 60b8dca commit 9e108ae

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

error_113_test.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,34 @@ func TestErrorUnwrap(t *testing.T) {
7070
require.True(t, errors.Is(unwrapped, io.EOF))
7171
})
7272
}
73+
74+
func TestErrorIs(t *testing.T) {
75+
t.Run("Trivial", func(t *testing.T) {
76+
err := testType.NewWithNoMessage()
77+
require.True(t, errors.Is(err, testType.NewWithNoMessage()))
78+
require.False(t, errors.Is(err, testTypeBar1.NewWithNoMessage()))
79+
})
80+
81+
t.Run("Wrap", func(t *testing.T) {
82+
err := testTypeBar1.Wrap(testType.NewWithNoMessage(),"")
83+
require.False(t, errors.Is(err, testType.NewWithNoMessage()))
84+
require.True(t, errors.Is(err, testTypeBar1.NewWithNoMessage()))
85+
})
86+
87+
t.Run("Supertype", func(t *testing.T) {
88+
err := testSubtype0.Wrap(testTypeBar1.NewWithNoMessage(),"")
89+
require.True(t, errors.Is(err, testType.NewWithNoMessage()))
90+
require.True(t, errors.Is(err, testSubtype0.NewWithNoMessage()))
91+
require.False(t, errors.Is(err, testTypeBar1.NewWithNoMessage()))
92+
})
93+
94+
t.Run("Decorate", func(t *testing.T) {
95+
err := Decorate(testType.NewWithNoMessage(),"")
96+
require.True(t, errors.Is(err, testType.NewWithNoMessage()))
97+
})
98+
99+
t.Run("DecorateForeign", func(t *testing.T) {
100+
err := Decorate(io.EOF,"")
101+
require.True(t, errors.Is(err, io.EOF))
102+
})
103+
}

0 commit comments

Comments
 (0)