Files
yay/pkg/text/time_test.go
T
rebel onion 977c9562ce feat: Show AUR Package Age (#2846)
* feat: show AUR package age
2026-06-12 11:11:50 +02:00

51 lines
1.2 KiB
Go

//go:build !integration
// +build !integration
package text
import (
"testing"
"time"
"github.com/stretchr/testify/require"
)
func TestFormatTime(t *testing.T) {
t.Parallel()
require.Equal(t, "1970-01-01", FormatTime(0))
now := time.Unix(0, 0)
require.Equal(t, now.Format("2006-01-02"), FormatTime(0))
}
func TestFormatTimeQuery(t *testing.T) {
t.Parallel()
now := time.Unix(0, 0)
require.Equal(t, now.Format("Mon 02 Jan 2006 03:04:05 PM MST"), FormatTimeQuery(0))
}
func TestFormatDuration(t *testing.T) {
t.Parallel()
tests := []struct {
name string
in time.Duration
want string
}{
{name: "sub-minute discarded", in: 59*time.Second + 999*time.Millisecond, want: "0m"},
{name: "pure minutes", in: 45 * time.Minute, want: "45m"},
{name: "does not round up to next day", in: 23*time.Hour + 59*time.Minute + 31*time.Second, want: "23h59m"},
{name: "exact day", in: 24 * time.Hour, want: "1d"},
{name: "day and hour", in: 6*24*time.Hour + 23*time.Hour + 59*time.Minute, want: "6d23h"},
}
for _, tt := range tests {
tt := tt
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
require.Equal(t, tt.want, FormatDuration(tt.in))
})
}
}