github.com/ydb-platform/ydb-go-sdk/v3@v3.89.2/internal/xcontext/cancels_quard_test.go (about) 1 package xcontext 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 "golang.org/x/net/context" 8 ) 9 10 func TestCancelsGuard(t *testing.T) { 11 g := NewCancelsGuard() 12 ctx, cancel1 := g.WithCancel(context.Background()) 13 require.Len(t, g.cancels, 1) 14 cancel1() 15 require.Error(t, ctx.Err()) 16 require.Empty(t, g.cancels, 0) 17 ctx, _ = g.WithCancel(context.Background()) 18 require.Len(t, g.cancels, 1) 19 ctx, _ = g.WithCancel(ctx) 20 require.Len(t, g.cancels, 2) 21 g.Cancel() 22 require.Error(t, ctx.Err()) 23 }