package template import ( "testing" "time" ) // dateCompact 是手机端列表的时间格式:同年省略年份,跨年补回年份。 // 这条测试盯的是「年份边界」——同一年的 1 月 1 日也要省略年份, // 不能因为「看起来像很久以前」就提前补年。 func TestDateCompact(t *testing.T) { now := time.Date(2026, 10, 23, 21, 0, 0, 0, time.Local) cases := []struct { in time.Time want string }{ {time.Date(2026, 9, 9, 1, 18, 3, 0, time.Local), "09-09 01:18"}, {time.Date(2026, 1, 1, 0, 0, 0, 0, time.Local), "01-01 00:00"}, {time.Date(2026, 12, 31, 23, 59, 59, 0, time.Local), "12-31 23:59"}, {time.Date(2025, 9, 5, 4, 45, 22, 0, time.Local), "2025-09-05 04:45"}, {time.Date(2027, 1, 1, 0, 0, 0, 0, time.Local), "2027-01-01 00:00"}, } for _, c := range cases { if got := dateCompact(c.in, now); got != c.want { t.Errorf("dateCompact(%s) = %q, want %q", c.in.Format(time.RFC3339), got, c.want) } } }