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") } }