package uidlist_test import ( "errors" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "ur.gs/crockery/internal/imap/uidlist" ) func TestParseHeaderValid(t *testing.T) { valid := " 3 V1275660208 Afortytwo N25022 G3085f01b7f11094c501100008c4a11c1 \r\n" hdr, err := uidlist.ParseHeader(valid) require.NoError(t, err) assert.Equal(t, uint64(3), hdr.Version) assert.Equal(t, uint64(1275660208), hdr.UIDValidity) assert.Equal(t, uint64(25022), hdr.NextUID) assert.Equal(t, "3085f01b7f11094c501100008c4a11c1", hdr.GUID) assert.Equal(t, map[string][]string{"A": []string{"fortytwo"}}, hdr.Extra) } func TestParseHeaderEmpty(t *testing.T) { hdr, err := uidlist.ParseHeader("") require.Error(t, err, errors.New("Short header")) assert.Equal(t, uidlist.Header{}, hdr) }