26 lines
722 B
Go
26 lines
722 B
Go
package backend
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/emersion/go-imap/v2"
|
|
)
|
|
|
|
func TestSanitizeIMAPFlagsDropsRecentAndWildcard(t *testing.T) {
|
|
got := sanitizeIMAPFlags([]imap.Flag{imap.FlagSeen, imap.Flag(`\Recent`), imap.FlagWildcard, imap.FlagAnswered})
|
|
if len(got) != 2 || got[0] != imap.FlagSeen || got[1] != imap.FlagAnswered {
|
|
t.Fatalf("sanitizeIMAPFlags returned %#v", got)
|
|
}
|
|
}
|
|
|
|
func TestMessageIDFallsBackToBodyHash(t *testing.T) {
|
|
body := []byte("From: a@example.com\r\nSubject: Test\r\n\r\nBody")
|
|
id := messageID(body)
|
|
if !strings.HasPrefix(id, "sha256:") {
|
|
t.Fatalf("expected sha256 fallback, got %q", id)
|
|
}
|
|
if id != messageID(body) {
|
|
t.Fatal("messageID hash fallback is not stable")
|
|
}
|
|
}
|