github.com/blend/go-sdk@v1.20220411.3/async/recover_test.go (about) 1 /* 2 3 Copyright (c) 2022 - Present. Blend Labs, Inc. All rights reserved 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file. 5 6 */ 7 8 package async 9 10 import ( 11 "fmt" 12 "testing" 13 14 "github.com/blend/go-sdk/assert" 15 "github.com/blend/go-sdk/ex" 16 ) 17 18 func Test_Recover(t *testing.T) { 19 assert := assert.New(t) 20 21 errors := make(chan error, 1) 22 Recover(func() error { 23 return fmt.Errorf("test") 24 }, errors) 25 26 assert.NotEmpty(errors) 27 assert.Equal(fmt.Errorf("test"), <-errors) 28 29 errors = make(chan error, 1) 30 Recover(func() error { 31 panic("test") 32 }, errors) 33 34 assert.NotEmpty(errors) 35 assert.Equal("test", ex.ErrClass(<-errors)) 36 }