Fixes to who-test: accept any ident, escape some '*' flags.
[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 \* * localhost ngircd.test.server nick H :0 Real Name"
18 }
19
20 send "join #channel\r"
21 expect {
22         timeout { exit 1 }
23         "@* JOIN :#channel"
24 }
25
26 send "who 0\r"
27 expect {
28         timeout { exit 1 }
29         ":ngircd.test.server 352 nick #channel * localhost ngircd.test.server nick H@ :0 Real Name"
30 }
31
32 send "away :testing\r"
33 expect {
34         timeout { exit 1 }
35         "306 nick"
36 }
37
38 send "who *\r"
39 expect {
40         timeout { exit 1 }
41         ":ngircd.test.server 352 nick #channel * localhost ngircd.test.server nick G@ :0 Real Name"
42 }
43
44 send "mode #channel +v nick\r"
45 expect {
46         timeout { exit 1 }
47         "@* MODE #channel +v nick\r"
48 }
49
50 send "who localhost\r"
51 expect {
52         timeout { exit 1 }
53         ":ngircd.test.server 352 nick #channel * localhost ngircd.test.server nick G@ :0 Real Name"
54 }
55
56 send "mode #channel -o nick\r"
57 expect {
58         timeout { exit 1 }
59         "@* MODE #channel -o nick\r"
60 }
61
62 send "who ngircd.test.server\r"
63 expect {
64         timeout { exit 1 }
65         ":ngircd.test.server 352 nick #channel * localhost ngircd.test.server nick G+ :0 Real Name"
66 }
67
68 send "part #channel\r"
69 expect {
70         timeout { exit 1 }
71         "@* PART #channel :nick"
72 }
73
74 send "who Real?Name\r"
75 expect {
76         timeout { exit 1 }
77         ":ngircd.test.server 352 nick \* * localhost ngircd.test.server nick G :0 Real Name"
78 }
79
80 send "oper TestOp 123\r"
81 expect {
82         timeout { exit 1 }
83         "MODE nick :+o"
84 }
85 expect {
86         timeout { exit 1 }
87         "381 nick"
88 }
89
90 send "who 0 o\r"
91 expect {
92         timeout { exit 1 }
93         ":ngircd.test.server 352 nick \* * localhost ngircd.test.server nick G\* :0 Real Name"
94 }
95
96 send "away\r"
97 expect {
98         timeout { exit 1 }
99         "305 nick"
100 }
101
102 send "who *cal*ho??\r"
103 expect {
104         timeout { exit 1 }
105         ":ngircd.test.server 352 nick \* * localhost ngircd.test.server nick H\* :0 Real Name"
106 }
107
108 send "join #opers\r"
109 expect {
110         timeout { exit 1 }
111         "@* JOIN :#opers"
112 }
113
114 send "who #opers\r"
115 expect {
116         timeout { exit 1 }
117         ":ngircd.test.server 352 nick #opers * localhost ngircd.test.server nick H\*@ :0 Real Name"
118 }
119
120 send "mode #opers -o nick\r"
121 expect {
122         timeout { exit 1 }
123         "@* MODE #opers -o nick\r"
124 }
125
126 send "who *.server\r"
127 expect {
128         timeout { exit 1 }
129         ":ngircd.test.server 352 nick #opers * localhost ngircd.test.server nick H\* :0 Real Name"
130 }
131
132 send "mode #opers +v nick\r"
133 expect {
134         timeout { exit 1 }
135         "@* MODE #opers +v nick\r"
136 }
137
138 send "who Real*me\r"
139 expect {
140         timeout { exit 1 }
141         ":ngircd.test.server 352 nick #opers * localhost ngircd.test.server nick H\*+ :0 Real Name"
142 }
143
144 send "mode #opers +s\r"
145 expect {
146         timeout { exit 1 }
147         "@* MODE #opers +s\r"
148 }
149
150 send "who n?c?\r"
151 expect {
152         timeout { exit 1 }
153         ":ngircd.test.server 352 nick \* * localhost ngircd.test.server nick H\* :0 Real Name"
154 }
155
156 send "quit\r"
157 expect {
158         timeout { exit 1 }
159         "Connection closed"
160 }
161
162 # -eof-