1package imapserver
2
3import (
4 "testing"
5
6 "github.com/mjl-/mox/imapclient"
7)
8
9func TestUnselect(t *testing.T) {
10 tc := start(t)
11 defer tc.close()
12
13 tc.client.Login("mjl@mox.example", password0)
14 tc.client.Select("inbox")
15
16 tc.transactf("bad", "unselect bogus") // Leftover data.
17 tc.transactf("ok", "unselect")
18 tc.transactf("no", "fetch 1 all") // Invalid when not selected.
19
20 tc.client.Select("inbox")
21 tc.client.Append("inbox", nil, nil, []byte(exampleMsg))
22 tc.client.StoreFlagsAdd("1", true, `\Deleted`)
23 tc.transactf("ok", "unselect")
24 tc.transactf("ok", "status inbox (messages)")
25 tc.xuntagged(imapclient.UntaggedStatus{Mailbox: "Inbox", Attrs: map[imapclient.StatusAttr]int64{imapclient.StatusMessages: 1}}) // Message not removed.
26}
27