@@ -8,22 +8,31 @@ import (
88)
99
1010func TestWrap (t * testing.T ) {
11+ defaultErr := fmt .Errorf ("this is an %s" , "error" )
12+ err1 := Wrap (defaultErr , "prefix 1" )
13+ err2 := err1 .Wrap ("prefix 2" )
14+
1115 tests := []struct {
16+ err Chain
1217 pre string
1318 suf string
1419 }{
1520 {
16- pre : "source=TestWrap: " ,
17- suf : "errors_test.go:24 prefix: this is an error" ,
21+ err : err1 ,
22+ pre : "TestWrap: " ,
23+ suf : "errors_test.go:12" ,
24+ },
25+ {
26+ err : err2 ,
27+ pre : "TestWrap: " ,
28+ suf : "errors_test.go:13" ,
1829 },
1930 }
2031
21- defaultErr := fmt .Errorf ("this is an %s" , "error" )
22-
2332 for i , tt := range tests {
24- err := Wrap ( defaultErr , "prefix" )
25- if ! strings .HasSuffix (err . Error () , tt .suf ) || ! strings .HasPrefix (err . Error () , tt .pre ) {
26- t .Fatalf ("IDX: %d want %s<path>%s got %s" , i , tt .pre , tt .suf , err . Error () )
33+ link := tt . err . current ( )
34+ if ! strings .HasSuffix (link . Source , tt .suf ) || ! strings .HasPrefix (link . Source , tt .pre ) {
35+ t .Fatalf ("IDX: %d want %s<path>%s got %s" , i , tt .pre , tt .suf , link . Source )
2736 }
2837 }
2938}
0 commit comments