You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.1 KiB

6 years ago
  1. package needle
  2. import (
  3. "testing"
  4. )
  5. func TestTTLReadWrite(t *testing.T) {
  6. ttl, _ := ReadTTL("")
  7. if ttl.Minutes() != 0 {
  8. t.Errorf("empty ttl:%v", ttl)
  9. }
  10. ttl, _ = ReadTTL("9")
  11. if ttl.Minutes() != 9 {
  12. t.Errorf("9 ttl:%v", ttl)
  13. }
  14. ttl, _ = ReadTTL("8m")
  15. if ttl.Minutes() != 8 {
  16. t.Errorf("8m ttl:%v", ttl)
  17. }
  18. ttl, _ = ReadTTL("5h")
  19. if ttl.Minutes() != 300 {
  20. t.Errorf("5h ttl:%v", ttl)
  21. }
  22. ttl, _ = ReadTTL("5d")
  23. if ttl.Minutes() != 5*24*60 {
  24. t.Errorf("5d ttl:%v", ttl)
  25. }
  26. ttl, _ = ReadTTL("50d")
  27. if ttl.Minutes() != 50*24*60 {
  28. t.Errorf("50d ttl:%v", ttl)
  29. }
  30. ttl, _ = ReadTTL("5w")
  31. if ttl.Minutes() != 5*7*24*60 {
  32. t.Errorf("5w ttl:%v", ttl)
  33. }
  34. ttl, _ = ReadTTL("5M")
  35. if ttl.Minutes() != 5*30*24*60 {
  36. t.Errorf("5M ttl:%v", ttl)
  37. }
  38. ttl, _ = ReadTTL("5y")
  39. if ttl.Minutes() != 5*365*24*60 {
  40. t.Errorf("5y ttl:%v", ttl)
  41. }
  42. output := make([]byte, 2)
  43. ttl.ToBytes(output)
  44. ttl2 := LoadTTLFromBytes(output)
  45. if ttl.Minutes() != ttl2.Minutes() {
  46. t.Errorf("ttl:%v ttl2:%v", ttl, ttl2)
  47. }
  48. ttl3 := LoadTTLFromUint32(ttl.ToUint32())
  49. if ttl.Minutes() != ttl3.Minutes() {
  50. t.Errorf("ttl:%v ttl3:%v", ttl, ttl3)
  51. }
  52. }