in ticker.go [22:42]
func (m *mockTicker) wait(ready chan<- struct{}) {
for i := time.Duration(1); true; i++ {
delta := m.start.Add(m.interval * i).Sub(m.clock.Now())
afterChan := m.clock.After(delta)
if i == time.Duration(1) {
ready <- struct{}{}
}
select {
case <-m.stop:
return
case <-afterChan:
select {
case m.c <- m.clock.Now():
case <-m.stop:
return
}
}
}
}