55 lines
1.3 KiB
Go
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)
|
|
}
|
|
}
|