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) {
145
145
}
146
146
}
147
147
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
-
163
148
// https://github.com/emersion/go-imap/issues/562
164
149
func TestFetch_invalid (t * testing.T ) {
165
150
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 {
96
96
}
97
97
98
98
// Wait blocks until the IDLE command has completed.
99
- //
100
- // Wait can only be called after Close.
101
99
func (cmd * IdleCommand ) Wait () error {
102
- if ! cmd .stopped .Load () {
103
- return fmt .Errorf ("imapclient: IdleCommand.Close must be called before Wait" )
104
- }
105
100
<- cmd .done
106
101
if cmd .err != nil {
107
102
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