idletimer_test.go 706 B

1234567891011121314151617181920212223242526272829303132
  1. package h2mux
  2. import (
  3. "testing"
  4. "time"
  5. "github.com/stretchr/testify/assert"
  6. )
  7. func TestRetry(t *testing.T) {
  8. timer := NewIdleTimer(time.Second, 2)
  9. assert.Equal(t, uint64(0), timer.RetryCount())
  10. ok := timer.Retry()
  11. assert.True(t, ok)
  12. assert.Equal(t, uint64(1), timer.RetryCount())
  13. ok = timer.Retry()
  14. assert.True(t, ok)
  15. assert.Equal(t, uint64(2), timer.RetryCount())
  16. ok = timer.Retry()
  17. assert.False(t, ok)
  18. }
  19. func TestMarkActive(t *testing.T) {
  20. timer := NewIdleTimer(time.Second, 2)
  21. assert.Equal(t, uint64(0), timer.RetryCount())
  22. ok := timer.Retry()
  23. assert.True(t, ok)
  24. assert.Equal(t, uint64(1), timer.RetryCount())
  25. timer.MarkActive()
  26. assert.Equal(t, uint64(0), timer.RetryCount())
  27. }