gogcli/internal/cmd/gmail_test.go
2025-12-12 16:35:41 +00:00

55 lines
1.3 KiB
Go

package cmd
import (
"testing"
"google.golang.org/api/gmail/v1"
)
func TestHeaderValue(t *testing.T) {
p := &gmail.MessagePart{
Headers: []*gmail.MessagePartHeader{
{Name: "From", Value: "a@example.com"},
{Name: "Subject", Value: "Hello"},
},
}
if got := headerValue(p, "from"); got != "a@example.com" {
t.Fatalf("unexpected: %q", got)
}
if got := headerValue(p, "subject"); got != "Hello" {
t.Fatalf("unexpected: %q", got)
}
if got := headerValue(p, "date"); got != "" {
t.Fatalf("unexpected: %q", got)
}
}
func TestSanitizeTab(t *testing.T) {
if got := sanitizeTab("a\tb"); got != "a b" {
t.Fatalf("unexpected: %q", got)
}
}
func TestFormatGmailDate(t *testing.T) {
got := formatGmailDate("Mon, 02 Jan 2006 15:04:05 -0700")
if got != "2006-01-02 15:04" {
t.Fatalf("unexpected: %q", got)
}
if got := formatGmailDate("not a date"); got != "not a date" {
t.Fatalf("unexpected: %q", got)
}
}
func TestFirstMessage(t *testing.T) {
if firstMessage(nil) != nil {
t.Fatalf("expected nil")
}
if firstMessage(&gmail.Thread{}) != nil {
t.Fatalf("expected nil")
}
m := &gmail.Message{Id: "m1"}
if got := firstMessage(&gmail.Thread{Messages: []*gmail.Message{m}}); got == nil || got.Id != "m1" {
t.Fatalf("unexpected: %#v", got)
}
}