Skip to content

Commit d887704

Browse files
committed
removed test dependency on errors.Is
1 parent c126754 commit d887704

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

errors/errors_test.go

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,54 @@
11
package errors
22

33
import (
4-
"errors"
54
"io"
65
"testing"
76
)
87

8+
// Is is simplified facsimile of the go 1.13 errors.Is to ensure QueryError is compatible
9+
func Is(err, target error) bool {
10+
for err != nil {
11+
if target == err {
12+
return true
13+
}
14+
15+
switch e := err.(type) {
16+
case interface{ Unwrap() error }:
17+
err = e.Unwrap()
18+
default:
19+
break
20+
}
21+
}
22+
return false
23+
}
24+
925
func TestErrorf(t *testing.T) {
1026
cause := io.EOF
1127

1228
t.Run("wrap error", func(t *testing.T) {
1329
err := Errorf("boom: %v", cause)
14-
if !errors.Is(err, cause) {
30+
if !Is(err, cause) {
1531
t.Fatalf("expected errors.Is to return true")
1632
}
1733
})
1834

1935
t.Run("handles nil", func(t *testing.T) {
2036
var err *QueryError
21-
if errors.Is(err, cause) {
37+
if Is(err, cause) {
2238
t.Fatalf("expected errors.Is to return false")
2339
}
2440
})
2541

2642
t.Run("handle no arguments", func(t *testing.T) {
2743
err := Errorf("boom")
28-
if errors.Is(err, cause) {
44+
if Is(err, cause) {
2945
t.Fatalf("expected errors.Is to return false")
3046
}
3147
})
3248

3349
t.Run("handle non-error argument arguments", func(t *testing.T) {
3450
err := Errorf("boom: %v", "shaka")
35-
if errors.Is(err, cause) {
51+
if Is(err, cause) {
3652
t.Fatalf("expected errors.Is to return false")
3753
}
3854
})

0 commit comments

Comments
 (0)