who-test.e 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. # ngIRCd test suite
  2. # WHO test
  3. spawn telnet 127.0.0.1 6789
  4. expect {
  5. timeout { exit 1 }
  6. "Connected"
  7. }
  8. send "nick nick\r"
  9. send "user user . . :Real Name\r"
  10. expect {
  11. timeout { exit 1 }
  12. "376"
  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. send "who 0\r"
  20. expect {
  21. timeout { exit 1 }
  22. ":ngircd.test.server 352 nick \* * * ngircd.test.server nick H :0 Real Name"
  23. }
  24. send "away :testing\r"
  25. expect {
  26. timeout { exit 1 }
  27. "306 nick"
  28. }
  29. send "who *\r"
  30. expect {
  31. timeout { exit 1 }
  32. ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G :0 Real Name"
  33. }
  34. send "join #channel\r"
  35. expect {
  36. timeout { exit 1 }
  37. "@* JOIN :#channel"
  38. }
  39. send "who #channel\r"
  40. expect {
  41. timeout { exit 1 }
  42. ":ngircd.test.server 352 nick #channel * * ngircd.test.server nick G@ :0 Real Name"
  43. }
  44. send "mode #channel +v nick\r"
  45. expect {
  46. timeout { exit 1 }
  47. "@* MODE #channel +v nick\r"
  48. }
  49. send "who #channel\r"
  50. expect {
  51. timeout { exit 1 }
  52. ":ngircd.test.server 352 nick #channel * * ngircd.test.server nick G@ :0 Real Name"
  53. }
  54. send "who 127.0.0.*\r"
  55. expect {
  56. timeout { exit 1 }
  57. ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G :0 Real Name"
  58. }
  59. send "mode #channel -o nick\r"
  60. expect {
  61. timeout { exit 1 }
  62. "@* MODE #channel -o nick\r"
  63. }
  64. send "who #channel\r"
  65. expect {
  66. timeout { exit 1 }
  67. ":ngircd.test.server 352 nick #channel * * ngircd.test.server nick G+ :0 Real Name"
  68. }
  69. send "who ngircd.test.server\r"
  70. expect {
  71. timeout { exit 1 }
  72. ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G :0 Real Name"
  73. }
  74. send "part #channel\r"
  75. expect {
  76. timeout { exit 1 }
  77. "@* PART #channel :"
  78. }
  79. send "who Real?Name\r"
  80. expect {
  81. timeout { exit 1 }
  82. ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G :0 Real Name"
  83. }
  84. send "oper TestOp 123\r"
  85. expect {
  86. timeout { exit 1 }
  87. "MODE nick :+o"
  88. }
  89. expect {
  90. timeout { exit 1 }
  91. "381 nick"
  92. }
  93. send "who 0 o\r"
  94. expect {
  95. timeout { exit 1 }
  96. ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G* :0 Real Name"
  97. }
  98. send "away\r"
  99. expect {
  100. timeout { exit 1 }
  101. "305 nick"
  102. }
  103. send "who ??7.*0*\r"
  104. expect {
  105. timeout { exit 1 }
  106. ":ngircd.test.server 352 nick \* * * ngircd.test.server nick H* :0 Real Name"
  107. }
  108. send "join #opers\r"
  109. expect {
  110. timeout { exit 1 }
  111. "@* JOIN :#opers"
  112. }
  113. send "who #opers\r"
  114. expect {
  115. timeout { exit 1 }
  116. ":ngircd.test.server 352 nick #opers * * ngircd.test.server nick H*@ :0 Real Name"
  117. }
  118. send "who Re*me\r"
  119. expect {
  120. timeout { exit 1 }
  121. ":ngircd.test.server 352 nick \* * * ngircd.test.server nick H* :0 Real Name"
  122. }
  123. send "mode #opers -o nick\r"
  124. expect {
  125. timeout { exit 1 }
  126. "@* MODE #opers -o nick\r"
  127. }
  128. send "who #opers\r"
  129. expect {
  130. timeout { exit 1 }
  131. ":ngircd.test.server 352 nick #opers * * ngircd.test.server nick H* :0 Real Name"
  132. }
  133. send "who *.server\r"
  134. expect {
  135. timeout { exit 1 }
  136. ":ngircd.test.server 352 nick \* * * ngircd.test.server nick H* :0 Real Name"
  137. }
  138. send "mode #opers +v nick\r"
  139. expect {
  140. timeout { exit 1 }
  141. "@* MODE #opers +v nick\r"
  142. }
  143. send "who #opers\r"
  144. expect {
  145. timeout { exit 1 }
  146. ":ngircd.test.server 352 nick #opers * * ngircd.test.server nick H*+ :0 Real Name"
  147. }
  148. send "mode #opers +s\r"
  149. expect {
  150. timeout { exit 1 }
  151. "@* MODE #opers +s\r"
  152. }
  153. send "who n?c?\r"
  154. expect {
  155. timeout { exit 1 }
  156. ":ngircd.test.server 352 nick \* * ngircd.test.server nick H* :0 Real Name"
  157. }
  158. expect {
  159. timeout { exit 1 }
  160. "315"
  161. }
  162. send "who #SecretChannel\r"
  163. expect {
  164. timeout { exit 1 }
  165. "315"
  166. }
  167. send "quit\r"
  168. expect {
  169. timeout { exit 1 }
  170. "Connection closed"
  171. }