option_test.go 867 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package cron
  2. import (
  3. "log"
  4. "strings"
  5. "testing"
  6. "time"
  7. )
  8. func TestWithLocation(t *testing.T) {
  9. c := New(WithLocation(time.UTC))
  10. if c.location != time.UTC {
  11. t.Errorf("expected UTC, got %v", c.location)
  12. }
  13. }
  14. func TestWithParser(t *testing.T) {
  15. var parser = NewParser(Dow)
  16. c := New(WithParser(parser))
  17. if c.parser != parser {
  18. t.Error("expected provided parser")
  19. }
  20. }
  21. func TestWithVerboseLogger(t *testing.T) {
  22. var buf syncWriter
  23. var logger = log.New(&buf, "", log.LstdFlags)
  24. c := New(WithLogger(VerbosePrintfLogger(logger)))
  25. if c.logger.(printfLogger).logger != logger {
  26. t.Error("expected provided logger")
  27. }
  28. c.AddFunc("@every 1s", func() {})
  29. c.Start()
  30. time.Sleep(OneSecond)
  31. c.Stop()
  32. out := buf.String()
  33. if !strings.Contains(out, "schedule,") ||
  34. !strings.Contains(out, "run,") {
  35. t.Error("expected to see some actions, got:", out)
  36. }
  37. }