package markdown import ( "fmt" "strings" "testing" "time" ) func TestWatcher(t *testing.T) { expected := "12345678" interval := time.Millisecond * 100 i := 0 out := "" stopChan := TickerFunc(interval, func() { i++ out += fmt.Sprint(i) }) time.Sleep(interval * 8) stopChan <- struct{}{} if expected != out { t.Fatalf("Expected %v, found %v", expected, out) } out = "" i = 0 stopChan = TickerFunc(interval, func() { i++ out += fmt.Sprint(i) }) time.Sleep(interval * 10) if !strings.HasPrefix(out, expected) || out == expected { t.Fatalf("expected (%v) must be a proper prefix of out(%v).", expected, out) } }