Files

59 lines
1.4 KiB
Go
Raw Permalink Normal View History

package clipmon
import (
"os"
"path/filepath"
"strings"
"testing"
"time"
)
func TestFormatLine(t *testing.T) {
t.Parallel()
when := time.Date(2026, 8, 28, 13, 4, 5, 0, time.UTC)
line := formatLine(Event{Time: when, Kind: "text", Text: "hello"})
if !strings.Contains(line, "[text]") || !strings.Contains(line, "hello") {
t.Fatalf("formatLine text = %q", line)
}
img := formatLine(Event{Time: when, Kind: "image", ImagePath: "images/ab.png"})
if !strings.Contains(img, "[image] images/ab.png") {
t.Fatalf("formatLine image = %q", img)
}
}
func TestWriterHourly(t *testing.T) {
dir := t.TempDir()
w, err := NewWriter(dir)
if err != nil {
t.Fatalf("NewWriter: %v", err)
}
when := time.Date(2026, 8, 28, 13, 0, 0, 0, time.Local)
if err := w.Write(Event{Time: when, Kind: "text", Text: "copied"}); err != nil {
t.Fatalf("Write: %v", err)
}
_ = w.Close()
data, err := os.ReadFile(filepath.Join(dir, LogFilename(HourBucket(when))))
if err != nil {
t.Fatalf("read log: %v", err)
}
if !strings.Contains(string(data), "copied") {
t.Fatalf("log = %q", data)
}
}
func TestSavePNG(t *testing.T) {
dir := t.TempDir()
w, err := NewWriter(dir)
if err != nil {
t.Fatalf("NewWriter: %v", err)
}
rel, err := w.SavePNG([]byte{0x89, 'P', 'N', 'G', 0, 0, 0})
if err != nil {
t.Fatalf("SavePNG: %v", err)
}
if !strings.HasPrefix(rel, "images/") {
t.Fatalf("rel = %q", rel)
}
}