diff options
| author | Paul Buetow <paul@buetow.org> | 2026-06-22 14:36:21 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-06-22 14:36:21 +0300 |
| commit | 81a4d4f67e02c14bfa51c71feac2ceb9625e0c8d (patch) | |
| tree | e661c1d5d2b9ee881602d84b9b6b8ac605c3bc38 /internal | |
| parent | 58476df487c4d8f56410b112cc551ae663c88d19 (diff) | |
Fix due formatting consistency (oq0)
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/ui/helpers.go | 4 | ||||
| -rw-r--r-- | internal/ui/table.go | 2 | ||||
| -rw-r--r-- | internal/ui/table_test.go | 22 |
3 files changed, 18 insertions, 10 deletions
diff --git a/internal/ui/helpers.go b/internal/ui/helpers.go index b278def..89e771a 100644 --- a/internal/ui/helpers.go +++ b/internal/ui/helpers.go @@ -45,6 +45,10 @@ func formatDueText(dueStr string) string { } days := daysUntil(ts) + return formatDueTextFromDays(days) +} + +func formatDueTextFromDays(days int) string { switch days { case 0: return "today" diff --git a/internal/ui/table.go b/internal/ui/table.go index 2772e2b..faff45b 100644 --- a/internal/ui/table.go +++ b/internal/ui/table.go @@ -1031,7 +1031,7 @@ func (m Model) formatDue(s string, width int) string { } days := daysUntil(ts) - val := formatDueText(s) + val := formatDueTextFromDays(days) style := lipgloss.NewStyle().Width(width) if days < 0 { style = style.Background(lipgloss.Color(m.theme.OverdueBG)) diff --git a/internal/ui/table_test.go b/internal/ui/table_test.go index 9bc8150..412a271 100644 --- a/internal/ui/table_test.go +++ b/internal/ui/table_test.go @@ -91,14 +91,16 @@ func TestFormatDueUsesCalendarDayLabels(t *testing.T) { m := Model{theme: DefaultTheme()} tests := []struct { - name string - due string - want string + name string + due string + want string + overdue bool }{ { - name: "late yesterday", - due: dueOn(-1, 23, 59), - want: "yesterday", + name: "late yesterday", + due: dueOn(-1, 23, 59), + want: "yesterday", + overdue: true, }, { name: "early today", @@ -119,13 +121,15 @@ func TestFormatDueUsesCalendarDayLabels(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - got := strings.TrimSpace(ansi.Strip(m.formatDue(tt.due, 12))) + rendered := m.formatDue(tt.due, 12) + got := strings.TrimSpace(ansi.Strip(rendered)) skipIfDateChanged() if got != tt.want { t.Fatalf("formatDue() = %q, want %q", got, tt.want) } - if got != formatDueText(tt.due) { - t.Fatalf("formatDue() = %q, formatDueText() = %q", got, formatDueText(tt.due)) + hasStyle := rendered != ansi.Strip(rendered) + if hasStyle != tt.overdue { + t.Fatalf("formatDue() styled = %t, want overdue styling %t; rendered %q", hasStyle, tt.overdue, rendered) } }) } |
