@@ -4,6 +4,7 @@ package errorx
44
55import (
66 "errors"
7+ "fmt"
78 "io"
89 "testing"
910
@@ -103,3 +104,28 @@ func TestErrorIs(t *testing.T) {
103104 require .True (t , errors .Is (err , io .EOF ))
104105 })
105106}
107+
108+ func TestErrorsAndErrorx (t * testing.T ) {
109+ t .Run ("DecoratedForeign" , func (t * testing.T ) {
110+ err := fmt .Errorf ("error test: %w" , testType .NewWithNoMessage ())
111+ require .True (t , errors .Is (err , testType .NewWithNoMessage ()))
112+ require .True (t , IsOfType (err , testType ))
113+ })
114+
115+ t .Run ("LayeredDecorate" , func (t * testing.T ) {
116+ err := Decorate (fmt .Errorf ("error test: %w" , testType .NewWithNoMessage ()), "test" )
117+ require .True (t , errors .Is (err , testType .NewWithNoMessage ()))
118+ require .True (t , IsOfType (err , testType ))
119+ })
120+
121+ t .Run ("LayeredDecorateAgain" , func (t * testing.T ) {
122+ err := fmt .Errorf ("error test: %w" , Decorate (io .EOF , "test" ))
123+ require .True (t , errors .Is (err , io .EOF ))
124+ })
125+
126+ t .Run ("Wrap" , func (t * testing.T ) {
127+ err := fmt .Errorf ("error test: %w" , testType .Wrap (io .EOF , "test" ))
128+ require .False (t , errors .Is (err , io .EOF ))
129+ require .True (t , errors .Is (err , testType .NewWithNoMessage ()))
130+ })
131+ }
0 commit comments