File tree Expand file tree Collapse file tree 3 files changed +42
-20
lines changed
Expand file tree Collapse file tree 3 files changed +42
-20
lines changed Original file line number Diff line number Diff line change @@ -145,21 +145,6 @@ func TestLogout(t *testing.T) {
145145 }
146146}
147147
148- func TestIdle (t * testing.T ) {
149- client , server := newClientServerPair (t , imap .ConnStateSelected )
150- defer client .Close ()
151- defer server .Close ()
152-
153- idleCmd , err := client .Idle ()
154- if err != nil {
155- t .Fatalf ("Idle() = %v" , err )
156- }
157- // TODO: test unilateral updates
158- if err := idleCmd .Close (); err != nil {
159- t .Errorf ("Close() = %v" , err )
160- }
161- }
162-
163148// https://github.com/emersion/go-imap/issues/562
164149func TestFetch_invalid (t * testing.T ) {
165150 client , server := newClientServerPair (t , imap .ConnStateSelected )
Original file line number Diff line number Diff line change @@ -96,12 +96,7 @@ func (cmd *IdleCommand) Close() error {
9696}
9797
9898// Wait blocks until the IDLE command has completed.
99- //
100- // Wait can only be called after Close.
10199func (cmd * IdleCommand ) Wait () error {
102- if ! cmd .stopped .Load () {
103- return fmt .Errorf ("imapclient: IdleCommand.Close must be called before Wait" )
104- }
105100 <- cmd .done
106101 if cmd .err != nil {
107102 return cmd .err
Original file line number Diff line number Diff line change 1+ package imapclient_test
2+
3+ import (
4+ "testing"
5+
6+ "github.com/emersion/go-imap/v2"
7+ )
8+
9+ func TestIdle (t * testing.T ) {
10+ client , server := newClientServerPair (t , imap .ConnStateSelected )
11+ defer client .Close ()
12+ defer server .Close ()
13+
14+ idleCmd , err := client .Idle ()
15+ if err != nil {
16+ t .Fatalf ("Idle() = %v" , err )
17+ }
18+ // TODO: test unilateral updates
19+ if err := idleCmd .Close (); err != nil {
20+ t .Errorf ("Close() = %v" , err )
21+ }
22+ }
23+
24+ func TestIdle_closedConn (t * testing.T ) {
25+ client , server := newClientServerPair (t , imap .ConnStateSelected )
26+ defer client .Close ()
27+ defer server .Close ()
28+
29+ idleCmd , err := client .Idle ()
30+ if err != nil {
31+ t .Fatalf ("Idle() = %v" , err )
32+ }
33+ defer idleCmd .Close ()
34+
35+ if err := client .Close (); err != nil {
36+ t .Fatalf ("client.Close() = %v" , err )
37+ }
38+
39+ if err := idleCmd .Wait (); err == nil {
40+ t .Errorf ("IdleCommand.Wait() = nil, want an error" )
41+ }
42+ }
You can’t perform that action at this time.
0 commit comments