bldr/util/logfile/template_test.go
Rama master · réplica de lectura del repositorio original.
package logfile
import (
"testing"
"time"
)
func TestExpandTemplate(t *testing.T) {
ts := time.Date(2026, 2, 22, 14, 30, 52, 0, time.UTC)
tests := []struct {
name string
path string
want string
}{
{
name: "ts shorthand",
path: ".bldr/logs/{ts}.log",
want: ".bldr/logs/20260222-143052.log",
},
{
name: "individual components",
path: "logs/{YYYY}/{MM}/{DD}/{HH}-{mm}-{ss}.log",
want: "logs/2026/02/22/14-30-52.log",
},
{
name: "mixed ts and components",
path: "{YYYY}/{ts}.log",
want: "2026/20260222-143052.log",
},
{
name: "no templates",
path: "logs/debug.log",
want: "logs/debug.log",
},
{
name: "multiple ts",
path: "{ts}/{ts}.log",
want: "20260222-143052/20260222-143052.log",
},
{
name: "empty string",
path: "",
want: "",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got := ExpandTemplate(tt.path, ts)
if got != tt.want {
t.Errorf("ExpandTemplate(%q) = %q, want %q", tt.path, got, tt.want)
}
})
}
}
func TestExpandTemplateZeroPadding(t *testing.T) {
ts := time.Date(2026, 1, 5, 3, 7, 9, 0, time.UTC)
got := ExpandTemplate("{YYYY}-{MM}-{DD}_{HH}{mm}{ss}", ts)
want := "2026-01-05_030709"
if got != want {
t.Errorf("zero-padding: got %q, want %q", got, want)
}
}