limiter_test.go raw
1 package bridge
2
3 import (
4 "testing"
5 "time"
6 )
7
8 func TestLimiter(t *testing.T) {
9 l := newLimiter(1000)
10 l.wait(900)
11 start := time.Now()
12 l.wait(200)
13 if elapsed := time.Since(start); elapsed < 50*time.Millisecond {
14 t.Fatalf("limit did not delay: %s", elapsed)
15 }
16 l2 := newLimiter(0)
17 start = time.Now()
18 l2.wait(1 << 20)
19 if elapsed := time.Since(start); elapsed > 100*time.Millisecond {
20 t.Fatalf("unlimited limiter delayed: %s", elapsed)
21 }
22 }
23