tty_test.go 824 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package progress
  2. import (
  3. "fmt"
  4. "testing"
  5. "time"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. func TestLineText(t *testing.T) {
  9. now := time.Now()
  10. ev := Event{
  11. ID: "id",
  12. Text: "Text",
  13. Status: Working,
  14. StatusText: "Status",
  15. endTime: now,
  16. startTime: now,
  17. spinner: &spinner{
  18. chars: []string{"."},
  19. },
  20. }
  21. lineWidth := len(fmt.Sprintf("%s %s", ev.ID, ev.Text))
  22. out := lineText(ev, 50, lineWidth)
  23. assert.Equal(t, "\x1b[37m . id Text Status 0.0s\n\x1b[0m", out)
  24. ev.Status = Done
  25. out = lineText(ev, 50, lineWidth)
  26. assert.Equal(t, "\x1b[34m . id Text Status 0.0s\n\x1b[0m", out)
  27. ev.Status = Error
  28. out = lineText(ev, 50, lineWidth)
  29. assert.Equal(t, "\x1b[31m . id Text Status 0.0s\n\x1b[0m", out)
  30. }