Fixed handling of WHO commands
[ngircd-alex.git] / src / testsuite / who-test.e
1 spawn telnet localhost 6789
2 expect {
3         timeout { exit 1 }
4         "Connected"
5 }
6
7 send "nick nick\r"
8 send "user user . . :Real Name\r"
9 expect {
10         timeout { exit 1 }
11         "376"
12 }
13
14 send "who\r"
15 expect {
16         timeout { exit 1 }
17         ":ngircd.test.server 352 nick \* * * ngircd.test.server nick H :0 Real Name"
18 }
19
20 send "who 0\r"
21 expect {
22         timeout { exit 1 }
23         ":ngircd.test.server 352 nick \* * * ngircd.test.server nick H :0 Real Name"
24 }
25
26 send "away :testing\r"
27 expect {
28         timeout { exit 1 }
29         "306 nick"
30 }
31
32 send "who *\r"
33 expect {
34         timeout { exit 1 }
35         ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G :0 Real Name"
36 }
37
38 send "join #channel\r"
39 expect {
40         timeout { exit 1 }
41         "@* JOIN :#channel"
42 }
43
44 send "who #channel\r"
45 expect {
46         timeout { exit 1 }
47         ":ngircd.test.server 352 nick #channel * * ngircd.test.server nick G@ :0 Real Name"
48 }
49
50 send "mode #channel +v nick\r"
51 expect {
52         timeout { exit 1 }
53         "@* MODE #channel +v nick\r"
54 }
55
56 send "who #channel\r"
57 expect {
58         timeout { exit 1 }
59         ":ngircd.test.server 352 nick #channel * * ngircd.test.server nick G@ :0 Real Name"
60 }
61
62 send "who localhos*\r"
63 expect {
64         timeout { exit 1 }
65         ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G :0 Real Name"
66 }
67
68 send "mode #channel -o nick\r"
69 expect {
70         timeout { exit 1 }
71         "@* MODE #channel -o nick\r"
72 }
73
74 send "who #channel\r"
75 expect {
76         timeout { exit 1 }
77         ":ngircd.test.server 352 nick #channel * * ngircd.test.server nick G+ :0 Real Name"
78 }
79
80 send "who ngircd.test.server\r"
81 expect {
82         timeout { exit 1 }
83         ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G :0 Real Name"
84 }
85
86 send "part #channel\r"
87 expect {
88         timeout { exit 1 }
89         "@* PART #channel :nick"
90 }
91
92 send "who Real?Name\r"
93 expect {
94         timeout { exit 1 }
95         ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G :0 Real Name"
96 }
97
98 send "oper TestOp 123\r"
99 expect {
100         timeout { exit 1 }
101         "MODE nick :+o"
102 }
103 expect {
104         timeout { exit 1 }
105         "381 nick"
106 }
107
108 send "who 0 o\r"
109 expect {
110         timeout { exit 1 }
111         ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G* :0 Real Name"
112 }
113
114 send "away\r"
115 expect {
116         timeout { exit 1 }
117         "305 nick"
118 }
119
120 send "who ??cal*ho*\r"
121 expect {
122         timeout { exit 1 }
123         ":ngircd.test.server 352 nick \* * * ngircd.test.server nick H* :0 Real Name"
124 }
125
126 send "join #opers\r"
127 expect {
128         timeout { exit 1 }
129         "@* JOIN :#opers"
130 }
131
132 send "who #opers\r"
133 expect {
134         timeout { exit 1 }
135         ":ngircd.test.server 352 nick #opers * * ngircd.test.server nick H*@ :0 Real Name"
136 }
137
138 send "who Re*me\r"
139 expect {
140         timeout { exit 1 }
141         ":ngircd.test.server 352 nick \* * * ngircd.test.server nick H* :0 Real Name"
142 }
143
144 send "mode #opers -o nick\r"
145 expect {
146         timeout { exit 1 }
147         "@* MODE #opers -o nick\r"
148 }
149
150 send "who #opers\r"
151 expect {
152         timeout { exit 1 }
153         ":ngircd.test.server 352 nick #opers * * ngircd.test.server nick H* :0 Real Name"
154 }
155
156 send "who *.server\r"
157 expect {
158         timeout { exit 1 }
159         ":ngircd.test.server 352 nick \* * * ngircd.test.server nick H* :0 Real Name"
160 }
161
162 send "mode #opers +v nick\r"
163 expect {
164         timeout { exit 1 }
165         "@* MODE #opers +v nick\r"
166 }
167
168 send "who #opers\r"
169 expect {
170         timeout { exit 1 }
171         ":ngircd.test.server 352 nick #opers * * ngircd.test.server nick H*+ :0 Real Name"
172 }
173
174 send "mode #opers +s\r"
175 expect {
176         timeout { exit 1 }
177         "@* MODE #opers +s\r"
178 }
179
180 send "who n?c?\r"
181 expect {
182         timeout { exit 1 }
183         ":ngircd.test.server 352 nick \* * ngircd.test.server nick H* :0 Real Name"
184 }
185 expect {
186         timeout { exit 1 }
187         "315"
188 }
189
190 send "who #SecretChannel\r"
191 expect {
192         timeout { exit 1 }
193         "315"
194 }
195
196 send "quit\r"
197 expect {
198         timeout { exit 1 }
199         "Connection closed"
200 }
201
202 # -eof-