summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-06-22 14:36:21 +0300
committerPaul Buetow <paul@buetow.org>2026-06-22 14:36:21 +0300
commit81a4d4f67e02c14bfa51c71feac2ceb9625e0c8d (patch)
treee661c1d5d2b9ee881602d84b9b6b8ac605c3bc38
parent58476df487c4d8f56410b112cc551ae663c88d19 (diff)
Fix due formatting consistency (oq0)
-rw-r--r--internal/ui/helpers.go4
-rw-r--r--internal/ui/table.go2
-rw-r--r--internal/ui/table_test.go22
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)
}
})
}