/tests/message.rb

https://bitbucket.org/tagoh/prune · Ruby · 7903 lines · 6537 code · 1038 blank · 328 comment · 186 complexity · c9b726722867aea9f54621dc14353ca4 MD5 · raw file

Large files are truncated click here to view the full file

  1. # message.rb
  2. # Copyright (C) 2009 Akira TAGOH
  3. # Authors:
  4. # Akira TAGOH <akira@tagoh.org>
  5. # This program is free software; you can redistribute it and/or modify
  6. # it under the terms of the GNU General Public License as published by
  7. # the Free Software Foundation; either version 2 of the License, or
  8. # (at your option) any later version.
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. # GNU General Public License for more details.
  13. # You should have received a copy of the GNU General Public License
  14. # along with this program; if not, write to the Free Software
  15. # Foundation, Inc., 59 Temple Place - Suite 330,
  16. # Boston, MA 02111-1307, USA.
  17. require 'rubygems'
  18. gem 'test-unit'
  19. require 'test/unit/testcase'
  20. require 'prune/message'
  21. class TestPRUNE__MessageHandler < Test::Unit::TestCase
  22. def setup
  23. @t = PRUNE::MessageHandler.instance
  24. end # def setup
  25. def teardown
  26. end # def teardown
  27. def test_new
  28. assert_nothing_raised {@t.new({
  29. :prefix=>{
  30. :nick=>'foo',
  31. :user=>'foo',
  32. :host=>'example.com'},
  33. :command=>'328',
  34. :params=>['foo','blahblahblah']
  35. })}
  36. end # def test_new
  37. end # class TestPRUNE__MessageHandler
  38. class TestPRUNE__Message < Test::Unit::TestCase
  39. def setup
  40. end # def setup
  41. def teardown
  42. end # def teardown
  43. def test_normalize
  44. assert_equal("FOO", PRUNE::Message.normalize("foo"))
  45. assert_equal("FOO", PRUNE::Message.normalize(:foo))
  46. assert_equal("RPL_WELCOME", PRUNE::Message.normalize("001"))
  47. assert_equal("RPL_YOURHOST", PRUNE::Message.normalize("002"))
  48. assert_equal("RPL_CREATED", PRUNE::Message.normalize("003"))
  49. assert_equal("RPL_MYINFO", PRUNE::Message.normalize("004"))
  50. assert_equal("RPL_BOUNCE", PRUNE::Message.normalize("005"))
  51. assert_equal("RPL_TRACELINK", PRUNE::Message.normalize("200"))
  52. assert_equal("RPL_TRACECONNECTING", PRUNE::Message.normalize("201"))
  53. assert_equal("RPL_TRACEHANDSHAKE", PRUNE::Message.normalize("202"))
  54. assert_equal("RPL_TRACEUNKNOWN", PRUNE::Message.normalize("203"))
  55. assert_equal("RPL_TRACEOPERATOR", PRUNE::Message.normalize("204"))
  56. assert_equal("RPL_TRACEUSER", PRUNE::Message.normalize("205"))
  57. assert_equal("RPL_TRACESERVER", PRUNE::Message.normalize("206"))
  58. assert_equal("RPL_TRACESERVICE", PRUNE::Message.normalize("207"))
  59. assert_equal("RPL_TRACENEWTYPE", PRUNE::Message.normalize("208"))
  60. assert_equal("RPL_TRACECLASS", PRUNE::Message.normalize("209"))
  61. assert_equal("RPL_TRACERECONNECT", PRUNE::Message.normalize("210"))
  62. assert_equal("RPL_STATSLINKINFO", PRUNE::Message.normalize("211"))
  63. assert_equal("RPL_STATSCOMMANDS", PRUNE::Message.normalize("212"))
  64. assert_equal("RPL_STATSCLINE", PRUNE::Message.normalize("213"))
  65. assert_equal("RPL_STATSNLINE", PRUNE::Message.normalize("214"))
  66. assert_equal("RPL_STATSILINE", PRUNE::Message.normalize("215"))
  67. assert_equal("RPL_STATSKLINE", PRUNE::Message.normalize("216"))
  68. assert_equal("RPL_STATSQLINE", PRUNE::Message.normalize("217"))
  69. assert_equal("RPL_STATSYLINE", PRUNE::Message.normalize("218"))
  70. assert_equal("RPL_ENDOFSTATS", PRUNE::Message.normalize("219"))
  71. assert_equal("RPL_STATSPLINE", PRUNE::Message.normalize("220"))
  72. assert_equal("RPL_UMODEIS", PRUNE::Message.normalize("221"))
  73. assert_equal("RPL_STATSDLINE", PRUNE::Message.normalize("225"))
  74. assert_equal("RPL_OPTION", PRUNE::Message.normalize("227"))
  75. assert_equal("RPL_ENDOPTIONS", PRUNE::Message.normalize("228"))
  76. assert_equal("RPL_SERVICEINFO", PRUNE::Message.normalize("231"))
  77. assert_equal("RPL_ENDOFSERVICES", PRUNE::Message.normalize("232"))
  78. assert_equal("RPL_SERVICE", PRUNE::Message.normalize("233"))
  79. assert_equal("RPL_SERVLIST", PRUNE::Message.normalize("234"))
  80. assert_equal("RPL_SERVLISTEND", PRUNE::Message.normalize("235"))
  81. assert_equal("RPL_STATSVLINE", PRUNE::Message.normalize("240"))
  82. assert_equal("RPL_STATSLLINE", PRUNE::Message.normalize("241"))
  83. assert_equal("RPL_STATSUPTIME", PRUNE::Message.normalize("242"))
  84. assert_equal("RPL_STATSOLINE", PRUNE::Message.normalize("243"))
  85. assert_equal("RPL_STATSHLINE", PRUNE::Message.normalize("244"))
  86. assert_equal("245", PRUNE::Message.normalize("245"))
  87. assert_equal("RPL_STATSPING", PRUNE::Message.normalize("246"))
  88. assert_equal("RPL_STATSXLINE", PRUNE::Message.normalize("247"))
  89. assert_equal("RPL_STATSULINE", PRUNE::Message.normalize("248"))
  90. assert_equal("249", PRUNE::Message.normalize("249"))
  91. assert_equal("RPL_STATSCONN", PRUNE::Message.normalize("250"))
  92. assert_equal("RPL_LUSERCLIENT", PRUNE::Message.normalize("251"))
  93. assert_equal("RPL_LUSEROP", PRUNE::Message.normalize("252"))
  94. assert_equal("RPL_LUSERUNKNOWN", PRUNE::Message.normalize("253"))
  95. assert_equal("RPL_LUSERCHANNELS", PRUNE::Message.normalize("254"))
  96. assert_equal("RPL_LUSERME", PRUNE::Message.normalize("255"))
  97. assert_equal("RPL_ADMINME", PRUNE::Message.normalize("256"))
  98. assert_equal("RPL_ADMINLOC1", PRUNE::Message.normalize("257"))
  99. assert_equal("RPL_ADMINLOC2", PRUNE::Message.normalize("258"))
  100. assert_equal("RPL_ADMINEMAIL", PRUNE::Message.normalize("259"))
  101. assert_equal("260", PRUNE::Message.normalize("260"))
  102. assert_equal("RPL_TRACELOG", PRUNE::Message.normalize("261"))
  103. assert_equal("RPL_TRACEEND", PRUNE::Message.normalize("262"))
  104. assert_equal("RPL_TRYAGAIN", PRUNE::Message.normalize("263"))
  105. assert_equal("264", PRUNE::Message.normalize("264"))
  106. assert_equal("RPL_LOCALUSERS", PRUNE::Message.normalize("265"))
  107. assert_equal("RPL_GLOBALUSERS", PRUNE::Message.normalize("266"))
  108. assert_equal("RPL_MODE", PRUNE::Message.normalize("268"))
  109. assert_equal("RPL_ENDMODE", PRUNE::Message.normalize("269"))
  110. assert_equal("RPL_SILELIST", PRUNE::Message.normalize("271"))
  111. assert_equal("RPL_ENDOFSILELIST", PRUNE::Message.normalize("272"))
  112. assert_equal("RPL_CLIENTCAPAB", PRUNE::Message.normalize("290"))
  113. assert_equal("RPL_NONE", PRUNE::Message.normalize("300"))
  114. assert_equal("RPL_AWAY", PRUNE::Message.normalize("301"))
  115. assert_equal("RPL_USERHOST", PRUNE::Message.normalize("302"))
  116. assert_equal("RPL_ISON", PRUNE::Message.normalize("303"))
  117. assert_equal("RPL_TEXT", PRUNE::Message.normalize("304"))
  118. assert_equal("RPL_UNAWAY", PRUNE::Message.normalize("305"))
  119. assert_equal("RPL_NOWAWAY", PRUNE::Message.normalize("306"))
  120. assert_equal("RPL_WHOISUSER", PRUNE::Message.normalize("311"))
  121. assert_equal("RPL_WHOISSERVER", PRUNE::Message.normalize("312"))
  122. assert_equal("RPL_WHOISOPERATOR", PRUNE::Message.normalize("313"))
  123. assert_equal("RPL_WHOWASUSER", PRUNE::Message.normalize("314"))
  124. assert_equal("RPL_ENDOFWHO", PRUNE::Message.normalize("315"))
  125. assert_equal("RPL_WHOISCHANOP", PRUNE::Message.normalize("316"))
  126. assert_equal("RPL_WHOISIDLE", PRUNE::Message.normalize("317"))
  127. assert_equal("RPL_ENDOFWHOIS", PRUNE::Message.normalize("318"))
  128. assert_equal("RPL_WHOISCHANNELS", PRUNE::Message.normalize("319"))
  129. assert_equal("RPL_WHOISIDENTIFIED", PRUNE::Message.normalize("320"))
  130. assert_equal("RPL_LISTSTART", PRUNE::Message.normalize("321"))
  131. assert_equal("RPL_LIST", PRUNE::Message.normalize("322"))
  132. assert_equal("RPL_LISTEND", PRUNE::Message.normalize("323"))
  133. assert_equal("RPL_CHANNELMODEIS", PRUNE::Message.normalize("324"))
  134. assert_equal("RPL_UNIQOPIS", PRUNE::Message.normalize("325"))
  135. assert_equal("RPL_WHOISOPER_PRIVS", PRUNE::Message.normalize("326"))
  136. assert_equal("RPL_WHOISREALHOST", PRUNE::Message.normalize("327"))
  137. assert_equal("RPL_328", PRUNE::Message.normalize("328")) # FIXME
  138. assert_equal("RPL_CHANNELTIMESTAMP", PRUNE::Message.normalize("329"))
  139. assert_equal("RPL_WHOISLOGGEDIN", PRUNE::Message.normalize("330"))
  140. assert_equal("RPL_NOTOPIC", PRUNE::Message.normalize("331"))
  141. assert_equal("RPL_TOPIC", PRUNE::Message.normalize("332"))
  142. assert_equal("RPL_TOPICTIMESTAMP", PRUNE::Message.normalize("333"))
  143. assert_equal("RPL_INVITING", PRUNE::Message.normalize("341"))
  144. assert_equal("RPL_SUMMONING", PRUNE::Message.normalize("342"))
  145. assert_equal("RPL_INVITELIST", PRUNE::Message.normalize("346"))
  146. assert_equal("RPL_ENDOFINVITELIST", PRUNE::Message.normalize("347"))
  147. assert_equal("RPL_EXCEPTLIST", PRUNE::Message.normalize("348"))
  148. assert_equal("RPL_ENDOFEXCEPTLIST", PRUNE::Message.normalize("349"))
  149. assert_equal("350", PRUNE::Message.normalize("350"))
  150. assert_equal("RPL_VERSION", PRUNE::Message.normalize("351"))
  151. assert_equal("RPL_WHOREPLY", PRUNE::Message.normalize("352"))
  152. assert_equal("RPL_NAMREPLY", PRUNE::Message.normalize("353"))
  153. assert_equal("RPL_KILLDONE", PRUNE::Message.normalize("361"))
  154. assert_equal("RPL_CLOSING", PRUNE::Message.normalize("362"))
  155. assert_equal("RPL_CLOSEEND", PRUNE::Message.normalize("363"))
  156. assert_equal("RPL_LINKS", PRUNE::Message.normalize("364"))
  157. assert_equal("RPL_ENDOFLINKS", PRUNE::Message.normalize("365"))
  158. assert_equal("RPL_ENDOFNAMES", PRUNE::Message.normalize("366"))
  159. assert_equal("RPL_BANLIST", PRUNE::Message.normalize("367"))
  160. assert_equal("RPL_ENDOFBANLIST", PRUNE::Message.normalize("368"))
  161. assert_equal("RPL_ENDOFWHOWAS", PRUNE::Message.normalize("369"))
  162. assert_equal("370", PRUNE::Message.normalize("370"))
  163. assert_equal("RPL_INFO", PRUNE::Message.normalize("371"))
  164. assert_equal("RPL_MOTD", PRUNE::Message.normalize("372"))
  165. assert_equal("RPL_INFOSTART", PRUNE::Message.normalize("373"))
  166. assert_equal("RPL_ENDOFINFO", PRUNE::Message.normalize("374"))
  167. assert_equal("RPL_MOTDSTART", PRUNE::Message.normalize("375"))
  168. assert_equal("RPL_ENDOFMOTD", PRUNE::Message.normalize("376"))
  169. assert_equal("RPL_MAP", PRUNE::Message.normalize("377"))
  170. assert_equal("RPL_ENDOFMAP", PRUNE::Message.normalize("378"))
  171. assert_equal("RPL_FORWARD", PRUNE::Message.normalize("379"))
  172. assert_equal("RPL_YOUREOPER", PRUNE::Message.normalize("381"))
  173. assert_equal("RPL_REHASHING", PRUNE::Message.normalize("382"))
  174. assert_equal("RPL_YOURESERVICE", PRUNE::Message.normalize("383"))
  175. assert_equal("RPL_MYPORTIS", PRUNE::Message.normalize("384"))
  176. assert_equal("RPL_NOTOPERANYMORE", PRUNE::Message.normalize("385"))
  177. assert_equal("RPL_TIME", PRUNE::Message.normalize("391"))
  178. assert_equal("RPL_USERSSTART", PRUNE::Message.normalize("392"))
  179. assert_equal("RPL_USERS", PRUNE::Message.normalize("393"))
  180. assert_equal("RPL_ENDOFUSERS", PRUNE::Message.normalize("394"))
  181. assert_equal("RPL_NOUSERS", PRUNE::Message.normalize("395"))
  182. assert_equal("RPL_MESSAGE", PRUNE::Message.normalize("399"))
  183. assert_equal("RPL_CMDACT", PRUNE::Message.normalize("-1"))
  184. assert_equal("ERR_NOSUCHNICK", PRUNE::Message.normalize("401"))
  185. assert_equal("ERR_NOSUCHSERVER", PRUNE::Message.normalize("402"))
  186. assert_equal("ERR_NOSUCHCHANNEL", PRUNE::Message.normalize("403"))
  187. assert_equal("ERR_CANNOTSENDTOCHAN", PRUNE::Message.normalize("404"))
  188. assert_equal("ERR_TOOMANYCHANNELS", PRUNE::Message.normalize("405"))
  189. assert_equal("ERR_WASNOSUCHNICK", PRUNE::Message.normalize("406"))
  190. assert_equal("ERR_TOOMANYTARGETS", PRUNE::Message.normalize("407"))
  191. assert_equal("ERR_NOSUCHSERVICE", PRUNE::Message.normalize("408"))
  192. assert_equal("ERR_NOORIGIN", PRUNE::Message.normalize("409"))
  193. assert_equal("ERR_SERVICES_OFFLINE", PRUNE::Message.normalize("410"))
  194. assert_equal("ERR_NORECIPIENT", PRUNE::Message.normalize("411"))
  195. assert_equal("ERR_NOTEXTTOSEND", PRUNE::Message.normalize("412"))
  196. assert_equal("ERR_NOTOPLEVEL", PRUNE::Message.normalize("413"))
  197. assert_equal("ERR_WILDTOPLEVEL", PRUNE::Message.normalize("414"))
  198. assert_equal("ERR_BADMASK", PRUNE::Message.normalize("415"))
  199. assert_equal("ERR_UNKNOWNCOMMAND", PRUNE::Message.normalize("421"))
  200. assert_equal("ERR_NOMOTD", PRUNE::Message.normalize("422"))
  201. assert_equal("ERR_NOADMININFO", PRUNE::Message.normalize("423"))
  202. assert_equal("ERR_FILEERROR", PRUNE::Message.normalize("424"))
  203. assert_equal("ERR_NONICKNAMEGIVEN", PRUNE::Message.normalize("431"))
  204. assert_equal("ERR_ERRONEUSNICKNAME", PRUNE::Message.normalize("432"))
  205. assert_equal("ERR_NICKNAMEINUSE", PRUNE::Message.normalize("433"))
  206. assert_equal("434", PRUNE::Message.normalize("434"))
  207. assert_equal("435", PRUNE::Message.normalize("435"))
  208. assert_equal("ERR_NICKCOLLISION", PRUNE::Message.normalize("436"))
  209. assert_equal("ERR_UNAVAILRESOURCE", PRUNE::Message.normalize("437"))
  210. assert_equal("ERR_BANNICKCHANGE", PRUNE::Message.normalize("438"))
  211. assert_equal("ERR_USERNOTINCHANNEL", PRUNE::Message.normalize("441"))
  212. assert_equal("ERR_NOTONCHANNEL", PRUNE::Message.normalize("442"))
  213. assert_equal("ERR_USERONCHANNEL", PRUNE::Message.normalize("443"))
  214. assert_equal("ERR_NOLOGIN", PRUNE::Message.normalize("444"))
  215. assert_equal("ERR_SUMMONDISABLED", PRUNE::Message.normalize("445"))
  216. assert_equal("ERR_USERSDISABLED", PRUNE::Message.normalize("446"))
  217. assert_equal("ERR_TARGETNINVITE", PRUNE::Message.normalize("447"))
  218. assert_equal("ERR_SOURCENINVITE", PRUNE::Message.normalize("448"))
  219. assert_equal("ERR_NOTREGISTERED", PRUNE::Message.normalize("451"))
  220. assert_equal("ERR_NEEDMOREPARAMS", PRUNE::Message.normalize("461"))
  221. assert_equal("ERR_ALREADYREGISTRED", PRUNE::Message.normalize("462"))
  222. assert_equal("ERR_NOPERMFORHOST", PRUNE::Message.normalize("463"))
  223. assert_equal("ERR_PASSWDMISMATCH", PRUNE::Message.normalize("464"))
  224. assert_equal("ERR_YOUREBANNEDCREEP", PRUNE::Message.normalize("465"))
  225. assert_equal("ERR_YOUWILLBEBANNED", PRUNE::Message.normalize("466"))
  226. assert_equal("ERR_KEYSE", PRUNE::Message.normalize("467"))
  227. assert_equal("ERR_INVALIDUSERNAME", PRUNE::Message.normalize("468"))
  228. assert_equal("ERR_LINKCHANNEL", PRUNE::Message.normalize("470"))
  229. assert_equal("ERR_CHANNELISFULL", PRUNE::Message.normalize("471"))
  230. assert_equal("ERR_UNKNOWNMODE", PRUNE::Message.normalize("472"))
  231. assert_equal("ERR_INVITEONLYCHAN", PRUNE::Message.normalize("473"))
  232. assert_equal("ERR_BANNEDFROMCHAN", PRUNE::Message.normalize("474"))
  233. assert_equal("ERR_BADCHANNELKEY", PRUNE::Message.normalize("475"))
  234. assert_equal("ERR_BADCHANMASK", PRUNE::Message.normalize("476"))
  235. assert_equal("ERR_NOCHANMODES", PRUNE::Message.normalize("477"))
  236. assert_equal("ERR_BANLISTFULL", PRUNE::Message.normalize("478"))
  237. assert_equal("ERR_BADCHANNAME", PRUNE::Message.normalize("479"))
  238. assert_equal("ERR_THROTTLED", PRUNE::Message.normalize("480"))
  239. assert_equal("ERR_NOPRIVILEGES", PRUNE::Message.normalize("481"))
  240. assert_equal("ERR_CHANOPRIVSNEEDED", PRUNE::Message.normalize("482"))
  241. assert_equal("ERR_CANTKILLSERVER", PRUNE::Message.normalize("483"))
  242. assert_equal("ERR_RESTRICTED", PRUNE::Message.normalize("484"))
  243. assert_equal("ERR_UNIQOPPRIVSNEEDED", PRUNE::Message.normalize("485"))
  244. assert_equal("ERR_RESTRICTED", PRUNE::Message.normalize("486"))
  245. assert_equal("ERR_NO_OP_SPLIT", PRUNE::Message.normalize("487"))
  246. assert_equal("ERR_NEED_UMODE", PRUNE::Message.normalize("488"))
  247. assert_equal("ERR_NOOPERHOST", PRUNE::Message.normalize("491"))
  248. assert_equal("ERR_NOSERVICEHOST", PRUNE::Message.normalize("492"))
  249. assert_equal("ERR_UMODEUNKNOWNFLAG", PRUNE::Message.normalize("501"))
  250. assert_equal("ERR_USERSDONTMATCH", PRUNE::Message.normalize("502"))
  251. assert_equal("ERR_GHOSTEDCLIENT", PRUNE::Message.normalize("503"))
  252. assert_equal("ERR_BLOCKING_NOTID", PRUNE::Message.normalize("505"))
  253. assert_equal("ERR_QUIETUNIDENT", PRUNE::Message.normalize("506"))
  254. assert_equal("ERR_SILELISTFULL", PRUNE::Message.normalize("511"))
  255. assert_equal("ERR_MAXMAPNODES", PRUNE::Message.normalize("512"))
  256. assert_equal("ERR_MAXFORWARDING", PRUNE::Message.normalize("513"))
  257. assert_equal("ERR_NOFORWARDING", PRUNE::Message.normalize("514"))
  258. assert_equal("ERR_NOUNIDENTIFIED", PRUNE::Message.normalize("515"))
  259. assert_equal("RPL_LOGGEDIN", PRUNE::Message.normalize("901"))
  260. assert_equal("RPL_LOGGEDOUT", PRUNE::Message.normalize("902"))
  261. assert_equal(1, PRUNE::Message.normalize(1))
  262. end # def test_normalize
  263. def test_sanitize
  264. assert_equal(:FOO, PRUNE::Message.sanitize("foo"))
  265. assert_equal(:FOO, PRUNE::Message.sanitize(:foo))
  266. assert_equal(:RPL_WELCOME, PRUNE::Message.sanitize("001"))
  267. assert_equal(:RPL_YOURHOST, PRUNE::Message.sanitize("002"))
  268. assert_equal(:RPL_CREATED, PRUNE::Message.sanitize("003"))
  269. assert_equal(:RPL_MYINFO, PRUNE::Message.sanitize("004"))
  270. assert_equal(:RPL_BOUNCE, PRUNE::Message.sanitize("005"))
  271. assert_equal(:RPL_TRACELINK, PRUNE::Message.sanitize("200"))
  272. assert_equal(:RPL_TRACECONNECTING, PRUNE::Message.sanitize("201"))
  273. assert_equal(:RPL_TRACEHANDSHAKE, PRUNE::Message.sanitize("202"))
  274. assert_equal(:RPL_TRACEUNKNOWN, PRUNE::Message.sanitize("203"))
  275. assert_equal(:RPL_TRACEOPERATOR, PRUNE::Message.sanitize("204"))
  276. assert_equal(:RPL_TRACEUSER, PRUNE::Message.sanitize("205"))
  277. assert_equal(:RPL_TRACESERVER, PRUNE::Message.sanitize("206"))
  278. assert_equal(:RPL_TRACESERVICE, PRUNE::Message.sanitize("207"))
  279. assert_equal(:RPL_TRACENEWTYPE, PRUNE::Message.sanitize("208"))
  280. assert_equal(:RPL_TRACECLASS, PRUNE::Message.sanitize("209"))
  281. assert_equal(:RPL_TRACERECONNECT, PRUNE::Message.sanitize("210"))
  282. assert_equal(:RPL_STATSLINKINFO, PRUNE::Message.sanitize("211"))
  283. assert_equal(:RPL_STATSCOMMANDS, PRUNE::Message.sanitize("212"))
  284. assert_equal(:RPL_STATSCLINE, PRUNE::Message.sanitize("213"))
  285. assert_equal(:RPL_STATSNLINE, PRUNE::Message.sanitize("214"))
  286. assert_equal(:RPL_STATSILINE, PRUNE::Message.sanitize("215"))
  287. assert_equal(:RPL_STATSKLINE, PRUNE::Message.sanitize("216"))
  288. assert_equal(:RPL_STATSQLINE, PRUNE::Message.sanitize("217"))
  289. assert_equal(:RPL_STATSYLINE, PRUNE::Message.sanitize("218"))
  290. assert_equal(:RPL_ENDOFSTATS, PRUNE::Message.sanitize("219"))
  291. assert_equal(:RPL_STATSPLINE, PRUNE::Message.sanitize("220"))
  292. assert_equal(:RPL_UMODEIS, PRUNE::Message.sanitize("221"))
  293. assert_equal(:RPL_STATSDLINE, PRUNE::Message.sanitize("225"))
  294. assert_equal(:RPL_OPTION, PRUNE::Message.sanitize("227"))
  295. assert_equal(:RPL_ENDOPTIONS, PRUNE::Message.sanitize("228"))
  296. assert_equal(:RPL_SERVICEINFO, PRUNE::Message.sanitize("231"))
  297. assert_equal(:RPL_ENDOFSERVICES, PRUNE::Message.sanitize("232"))
  298. assert_equal(:RPL_SERVICE, PRUNE::Message.sanitize("233"))
  299. assert_equal(:RPL_SERVLIST, PRUNE::Message.sanitize("234"))
  300. assert_equal(:RPL_SERVLISTEND, PRUNE::Message.sanitize("235"))
  301. assert_equal(:RPL_STATSVLINE, PRUNE::Message.sanitize("240"))
  302. assert_equal(:RPL_STATSLLINE, PRUNE::Message.sanitize("241"))
  303. assert_equal(:RPL_STATSUPTIME, PRUNE::Message.sanitize("242"))
  304. assert_equal(:RPL_STATSOLINE, PRUNE::Message.sanitize("243"))
  305. assert_equal(:RPL_STATSHLINE, PRUNE::Message.sanitize("244"))
  306. assert_equal(:"245", PRUNE::Message.sanitize("245"))
  307. assert_equal(:RPL_STATSPING, PRUNE::Message.sanitize("246"))
  308. assert_equal(:RPL_STATSXLINE, PRUNE::Message.sanitize("247"))
  309. assert_equal(:RPL_STATSULINE, PRUNE::Message.sanitize("248"))
  310. assert_equal(:"249", PRUNE::Message.sanitize("249"))
  311. assert_equal(:RPL_STATSCONN, PRUNE::Message.sanitize("250"))
  312. assert_equal(:RPL_LUSERCLIENT, PRUNE::Message.sanitize("251"))
  313. assert_equal(:RPL_LUSEROP, PRUNE::Message.sanitize("252"))
  314. assert_equal(:RPL_LUSERUNKNOWN, PRUNE::Message.sanitize("253"))
  315. assert_equal(:RPL_LUSERCHANNELS, PRUNE::Message.sanitize("254"))
  316. assert_equal(:RPL_LUSERME, PRUNE::Message.sanitize("255"))
  317. assert_equal(:RPL_ADMINME, PRUNE::Message.sanitize("256"))
  318. assert_equal(:RPL_ADMINLOC1, PRUNE::Message.sanitize("257"))
  319. assert_equal(:RPL_ADMINLOC2, PRUNE::Message.sanitize("258"))
  320. assert_equal(:RPL_ADMINEMAIL, PRUNE::Message.sanitize("259"))
  321. assert_equal(:"260", PRUNE::Message.sanitize("260"))
  322. assert_equal(:RPL_TRACELOG, PRUNE::Message.sanitize("261"))
  323. assert_equal(:RPL_TRACEEND, PRUNE::Message.sanitize("262"))
  324. assert_equal(:RPL_TRYAGAIN, PRUNE::Message.sanitize("263"))
  325. assert_equal(:"264", PRUNE::Message.sanitize("264"))
  326. assert_equal(:RPL_LOCALUSERS, PRUNE::Message.sanitize("265"))
  327. assert_equal(:RPL_GLOBALUSERS, PRUNE::Message.sanitize("266"))
  328. assert_equal(:RPL_NONE, PRUNE::Message.sanitize("300"))
  329. assert_equal(:RPL_AWAY, PRUNE::Message.sanitize("301"))
  330. assert_equal(:RPL_USERHOST, PRUNE::Message.sanitize("302"))
  331. assert_equal(:RPL_ISON, PRUNE::Message.sanitize("303"))
  332. assert_equal(:RPL_TEXT, PRUNE::Message.sanitize("304"))
  333. assert_equal(:RPL_UNAWAY, PRUNE::Message.sanitize("305"))
  334. assert_equal(:RPL_NOWAWAY, PRUNE::Message.sanitize("306"))
  335. assert_equal(:RPL_WHOISUSER, PRUNE::Message.sanitize("311"))
  336. assert_equal(:RPL_WHOISSERVER, PRUNE::Message.sanitize("312"))
  337. assert_equal(:RPL_WHOISOPERATOR, PRUNE::Message.sanitize("313"))
  338. assert_equal(:RPL_WHOWASUSER, PRUNE::Message.sanitize("314"))
  339. assert_equal(:RPL_ENDOFWHO, PRUNE::Message.sanitize("315"))
  340. assert_equal(:RPL_WHOISCHANOP, PRUNE::Message.sanitize("316"))
  341. assert_equal(:RPL_WHOISIDLE, PRUNE::Message.sanitize("317"))
  342. assert_equal(:RPL_ENDOFWHOIS, PRUNE::Message.sanitize("318"))
  343. assert_equal(:RPL_WHOISCHANNELS, PRUNE::Message.sanitize("319"))
  344. assert_equal(:RPL_WHOISIDENTIFIED, PRUNE::Message.sanitize("320"))
  345. assert_equal(:RPL_LISTSTART, PRUNE::Message.sanitize("321"))
  346. assert_equal(:RPL_LIST, PRUNE::Message.sanitize("322"))
  347. assert_equal(:RPL_LISTEND, PRUNE::Message.sanitize("323"))
  348. assert_equal(:RPL_CHANNELMODEIS, PRUNE::Message.sanitize("324"))
  349. assert_equal(:RPL_UNIQOPIS, PRUNE::Message.sanitize("325"))
  350. assert_equal(:RPL_CHANNELTIMESTAMP, PRUNE::Message.sanitize("329"))
  351. assert_equal(:RPL_WHOISLOGGEDIN, PRUNE::Message.sanitize("330"))
  352. assert_equal(:RPL_NOTOPIC, PRUNE::Message.sanitize("331"))
  353. assert_equal(:RPL_TOPIC, PRUNE::Message.sanitize("332"))
  354. assert_equal(:RPL_TOPICTIMESTAMP, PRUNE::Message.sanitize("333"))
  355. assert_equal(:RPL_INVITING, PRUNE::Message.sanitize("341"))
  356. assert_equal(:RPL_SUMMONING, PRUNE::Message.sanitize("342"))
  357. assert_equal(:RPL_INVITELIST, PRUNE::Message.sanitize("346"))
  358. assert_equal(:RPL_ENDOFINVITELIST, PRUNE::Message.sanitize("347"))
  359. assert_equal(:RPL_EXCEPTLIST, PRUNE::Message.sanitize("348"))
  360. assert_equal(:RPL_ENDOFEXCEPTLIST, PRUNE::Message.sanitize("349"))
  361. assert_equal(:"350", PRUNE::Message.sanitize("350"))
  362. assert_equal(:RPL_VERSION, PRUNE::Message.sanitize("351"))
  363. assert_equal(:RPL_WHOREPLY, PRUNE::Message.sanitize("352"))
  364. assert_equal(:RPL_NAMREPLY, PRUNE::Message.sanitize("353"))
  365. assert_equal(:RPL_KILLDONE, PRUNE::Message.sanitize("361"))
  366. assert_equal(:RPL_CLOSING, PRUNE::Message.sanitize("362"))
  367. assert_equal(:RPL_CLOSEEND, PRUNE::Message.sanitize("363"))
  368. assert_equal(:RPL_LINKS, PRUNE::Message.sanitize("364"))
  369. assert_equal(:RPL_ENDOFLINKS, PRUNE::Message.sanitize("365"))
  370. assert_equal(:RPL_ENDOFNAMES, PRUNE::Message.sanitize("366"))
  371. assert_equal(:RPL_BANLIST, PRUNE::Message.sanitize("367"))
  372. assert_equal(:RPL_ENDOFBANLIST, PRUNE::Message.sanitize("368"))
  373. assert_equal(:RPL_ENDOFWHOWAS, PRUNE::Message.sanitize("369"))
  374. assert_equal(:"370", PRUNE::Message.sanitize("370"))
  375. assert_equal(:RPL_INFO, PRUNE::Message.sanitize("371"))
  376. assert_equal(:RPL_MOTD, PRUNE::Message.sanitize("372"))
  377. assert_equal(:RPL_INFOSTART, PRUNE::Message.sanitize("373"))
  378. assert_equal(:RPL_ENDOFINFO, PRUNE::Message.sanitize("374"))
  379. assert_equal(:RPL_MOTDSTART, PRUNE::Message.sanitize("375"))
  380. assert_equal(:RPL_ENDOFMOTD, PRUNE::Message.sanitize("376"))
  381. assert_equal(:RPL_YOUREOPER, PRUNE::Message.sanitize("381"))
  382. assert_equal(:RPL_REHASHING, PRUNE::Message.sanitize("382"))
  383. assert_equal(:RPL_YOURESERVICE, PRUNE::Message.sanitize("383"))
  384. assert_equal(:RPL_MYPORTIS, PRUNE::Message.sanitize("384"))
  385. assert_equal(:RPL_TIME, PRUNE::Message.sanitize("391"))
  386. assert_equal(:RPL_USERSSTART, PRUNE::Message.sanitize("392"))
  387. assert_equal(:RPL_USERS, PRUNE::Message.sanitize("393"))
  388. assert_equal(:RPL_ENDOFUSERS, PRUNE::Message.sanitize("394"))
  389. assert_equal(:RPL_NOUSERS, PRUNE::Message.sanitize("395"))
  390. assert_equal(:RPL_CMDACT, PRUNE::Message.sanitize("-1"))
  391. assert_equal(:ERR_NOSUCHNICK, PRUNE::Message.sanitize("401"))
  392. assert_equal(:ERR_NOSUCHSERVER, PRUNE::Message.sanitize("402"))
  393. assert_equal(:ERR_NOSUCHCHANNEL, PRUNE::Message.sanitize("403"))
  394. assert_equal(:ERR_CANNOTSENDTOCHAN, PRUNE::Message.sanitize("404"))
  395. assert_equal(:ERR_TOOMANYCHANNELS, PRUNE::Message.sanitize("405"))
  396. assert_equal(:ERR_WASNOSUCHNICK, PRUNE::Message.sanitize("406"))
  397. assert_equal(:ERR_TOOMANYTARGETS, PRUNE::Message.sanitize("407"))
  398. assert_equal(:ERR_NOSUCHSERVICE, PRUNE::Message.sanitize("408"))
  399. assert_equal(:ERR_NOORIGIN, PRUNE::Message.sanitize("409"))
  400. assert_equal(:ERR_SERVICES_OFFLINE, PRUNE::Message.sanitize("410"))
  401. assert_equal(:ERR_NORECIPIENT, PRUNE::Message.sanitize("411"))
  402. assert_equal(:ERR_NOTEXTTOSEND, PRUNE::Message.sanitize("412"))
  403. assert_equal(:ERR_NOTOPLEVEL, PRUNE::Message.sanitize("413"))
  404. assert_equal(:ERR_WILDTOPLEVEL, PRUNE::Message.sanitize("414"))
  405. assert_equal(:ERR_BADMASK, PRUNE::Message.sanitize("415"))
  406. assert_equal(:ERR_UNKNOWNCOMMAND, PRUNE::Message.sanitize("421"))
  407. assert_equal(:ERR_NOMOTD, PRUNE::Message.sanitize("422"))
  408. assert_equal(:ERR_NOADMININFO, PRUNE::Message.sanitize("423"))
  409. assert_equal(:ERR_FILEERROR, PRUNE::Message.sanitize("424"))
  410. assert_equal(:ERR_NONICKNAMEGIVEN, PRUNE::Message.sanitize("431"))
  411. assert_equal(:ERR_ERRONEUSNICKNAME, PRUNE::Message.sanitize("432"))
  412. assert_equal(:ERR_NICKNAMEINUSE, PRUNE::Message.sanitize("433"))
  413. assert_equal(:"434", PRUNE::Message.sanitize("434"))
  414. assert_equal(:"435", PRUNE::Message.sanitize("435"))
  415. assert_equal(:ERR_NICKCOLLISION, PRUNE::Message.sanitize("436"))
  416. assert_equal(:ERR_UNAVAILRESOURCE, PRUNE::Message.sanitize("437"))
  417. assert_equal(:ERR_USERNOTINCHANNEL, PRUNE::Message.sanitize("441"))
  418. assert_equal(:ERR_NOTONCHANNEL, PRUNE::Message.sanitize("442"))
  419. assert_equal(:ERR_USERONCHANNEL, PRUNE::Message.sanitize("443"))
  420. assert_equal(:ERR_NOLOGIN, PRUNE::Message.sanitize("444"))
  421. assert_equal(:ERR_SUMMONDISABLED, PRUNE::Message.sanitize("445"))
  422. assert_equal(:ERR_USERSDISABLED, PRUNE::Message.sanitize("446"))
  423. assert_equal(:ERR_NOTREGISTERED, PRUNE::Message.sanitize("451"))
  424. assert_equal(:ERR_NEEDMOREPARAMS, PRUNE::Message.sanitize("461"))
  425. assert_equal(:ERR_ALREADYREGISTRED, PRUNE::Message.sanitize("462"))
  426. assert_equal(:ERR_NOPERMFORHOST, PRUNE::Message.sanitize("463"))
  427. assert_equal(:ERR_PASSWDMISMATCH, PRUNE::Message.sanitize("464"))
  428. assert_equal(:ERR_YOUREBANNEDCREEP, PRUNE::Message.sanitize("465"))
  429. assert_equal(:ERR_YOUWILLBEBANNED, PRUNE::Message.sanitize("466"))
  430. assert_equal(:ERR_KEYSE, PRUNE::Message.sanitize("467"))
  431. assert_equal(:ERR_INVALIDUSERNAME, PRUNE::Message.sanitize("468"))
  432. assert_equal(:ERR_CHANNELISFULL, PRUNE::Message.sanitize("471"))
  433. assert_equal(:ERR_UNKNOWNMODE, PRUNE::Message.sanitize("472"))
  434. assert_equal(:ERR_INVITEONLYCHAN, PRUNE::Message.sanitize("473"))
  435. assert_equal(:ERR_BANNEDFROMCHAN, PRUNE::Message.sanitize("474"))
  436. assert_equal(:ERR_BADCHANNELKEY, PRUNE::Message.sanitize("475"))
  437. assert_equal(:ERR_BADCHANMASK, PRUNE::Message.sanitize("476"))
  438. assert_equal(:ERR_NOCHANMODES, PRUNE::Message.sanitize("477"))
  439. assert_equal(:ERR_BANLISTFULL, PRUNE::Message.sanitize("478"))
  440. assert_equal(:ERR_BADCHANNAME, PRUNE::Message.sanitize("479"))
  441. assert_equal(:ERR_THROTTLED, PRUNE::Message.sanitize("480"))
  442. assert_equal(:ERR_NOPRIVILEGES, PRUNE::Message.sanitize("481"))
  443. assert_equal(:ERR_CHANOPRIVSNEEDED, PRUNE::Message.sanitize("482"))
  444. assert_equal(:ERR_CANTKILLSERVER, PRUNE::Message.sanitize("483"))
  445. assert_equal(:ERR_RESTRICTED, PRUNE::Message.sanitize("484"))
  446. assert_equal(:ERR_UNIQOPPRIVSNEEDED, PRUNE::Message.sanitize("485"))
  447. assert_equal(:ERR_NOOPERHOST, PRUNE::Message.sanitize("491"))
  448. assert_equal(:ERR_NOSERVICEHOST, PRUNE::Message.sanitize("492"))
  449. assert_equal(:ERR_UMODEUNKNOWNFLAG, PRUNE::Message.sanitize("501"))
  450. assert_equal(:ERR_USERSDONTMATCH, PRUNE::Message.sanitize("502"))
  451. assert_equal(nil, PRUNE::Message.sanitize(1))
  452. end # def test_sanitize
  453. def test_channelinfo
  454. assert_equal(nil, PRUNE::Message.channelinfo("foo"))
  455. assert_equal(nil, PRUNE::Message.channelinfo("connect"))
  456. assert_equal(nil, PRUNE::Message.channelinfo("Connect"))
  457. assert_equal(nil, PRUNE::Message.channelinfo(:connect))
  458. assert_equal(nil, PRUNE::Message.channelinfo(:die))
  459. assert_equal(nil, PRUNE::Message.channelinfo(:error))
  460. assert_equal(nil, PRUNE::Message.channelinfo(:ping))
  461. assert_equal(nil, PRUNE::Message.channelinfo(:pong))
  462. assert_equal(nil, PRUNE::Message.channelinfo(:rehash))
  463. assert_equal(nil, PRUNE::Message.channelinfo(:restart))
  464. assert_equal(nil, PRUNE::Message.channelinfo(:service))
  465. assert_equal(nil, PRUNE::Message.channelinfo(:squit))
  466. assert_equal(nil, PRUNE::Message.channelinfo(:trace))
  467. assert_equal(nil, PRUNE::Message.channelinfo(:wallops))
  468. assert_equal(nil, PRUNE::Message.channelinfo(:admin))
  469. assert_equal(nil, PRUNE::Message.channelinfo(:away))
  470. assert_equal(nil, PRUNE::Message.channelinfo(:info))
  471. assert_equal(nil, PRUNE::Message.channelinfo(:links))
  472. assert_equal(nil, PRUNE::Message.channelinfo(:list))
  473. assert_equal(nil, PRUNE::Message.channelinfo(:lusers))
  474. assert_equal(nil, PRUNE::Message.channelinfo(:motd))
  475. assert_equal(nil, PRUNE::Message.channelinfo(:oper))
  476. assert_equal(nil, PRUNE::Message.channelinfo(:pass))
  477. assert_equal(nil, PRUNE::Message.channelinfo(:quit))
  478. assert_equal(nil, PRUNE::Message.channelinfo(:servlist))
  479. assert_equal(nil, PRUNE::Message.channelinfo(:squery))
  480. assert_equal(nil, PRUNE::Message.channelinfo(:stats))
  481. assert_equal(nil, PRUNE::Message.channelinfo(:time))
  482. assert_equal(nil, PRUNE::Message.channelinfo(:user))
  483. assert_equal(nil, PRUNE::Message.channelinfo(:users))
  484. assert_equal(nil, PRUNE::Message.channelinfo(:version))
  485. assert_not_nil(PRUNE::Message.channelinfo(:invite))
  486. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo(:invite).location)
  487. assert_equal(1, PRUNE::Message.channelinfo(:invite).index)
  488. assert_equal(nil, PRUNE::Message.channelinfo(:ison))
  489. assert_not_nil(PRUNE::Message.channelinfo(:join))
  490. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo(:join).location)
  491. assert_equal(0, PRUNE::Message.channelinfo(:join).index)
  492. assert_not_nil(PRUNE::Message.channelinfo(:kick))
  493. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo(:kick).location)
  494. assert_equal(0, PRUNE::Message.channelinfo(:kick).index)
  495. assert_equal(nil, PRUNE::Message.channelinfo(:kill))
  496. assert_not_nil(PRUNE::Message.channelinfo(:mode))
  497. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo(:mode).location)
  498. assert_equal(0, PRUNE::Message.channelinfo(:mode).index)
  499. assert_not_nil(PRUNE::Message.channelinfo(:names))
  500. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo(:names).location)
  501. assert_equal(0, PRUNE::Message.channelinfo(:names).index)
  502. assert_equal(nil, PRUNE::Message.channelinfo(:nick))
  503. assert_not_nil(PRUNE::Message.channelinfo(:notice))
  504. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo(:notice).location)
  505. assert_equal(0, PRUNE::Message.channelinfo(:notice).index)
  506. assert_not_nil(PRUNE::Message.channelinfo(:part))
  507. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo(:part).location)
  508. assert_equal(0, PRUNE::Message.channelinfo(:part).index)
  509. assert_not_nil(PRUNE::Message.channelinfo(:privmsg))
  510. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo(:privmsg).location)
  511. assert_equal(0, PRUNE::Message.channelinfo(:privmsg).index)
  512. assert_equal(nil, PRUNE::Message.channelinfo(:summon))
  513. assert_not_nil(PRUNE::Message.channelinfo(:topic))
  514. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo(:topic).location)
  515. assert_equal(0, PRUNE::Message.channelinfo(:topic).index)
  516. assert_equal(nil, PRUNE::Message.channelinfo(:userhost))
  517. assert_not_nil(PRUNE::Message.channelinfo(:who))
  518. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo(:who).location)
  519. assert_equal(0, PRUNE::Message.channelinfo(:who).index)
  520. assert_equal(nil, PRUNE::Message.channelinfo(:whois))
  521. assert_equal(nil, PRUNE::Message.channelinfo(:whowas))
  522. assert_equal(nil, PRUNE::Message.channelinfo("foo"))
  523. assert_equal(nil, PRUNE::Message.channelinfo(:foo))
  524. assert_equal(nil, PRUNE::Message.channelinfo("001"))
  525. assert_equal(nil, PRUNE::Message.channelinfo("002"))
  526. assert_equal(nil, PRUNE::Message.channelinfo("003"))
  527. assert_equal(nil, PRUNE::Message.channelinfo("004"))
  528. assert_equal(nil, PRUNE::Message.channelinfo("005"))
  529. assert_equal(nil, PRUNE::Message.channelinfo("200"))
  530. assert_equal(nil, PRUNE::Message.channelinfo("201"))
  531. assert_equal(nil, PRUNE::Message.channelinfo("202"))
  532. assert_equal(nil, PRUNE::Message.channelinfo("203"))
  533. assert_equal(nil, PRUNE::Message.channelinfo("204"))
  534. assert_equal(nil, PRUNE::Message.channelinfo("205"))
  535. assert_equal(nil, PRUNE::Message.channelinfo("206"))
  536. assert_equal(nil, PRUNE::Message.channelinfo("207"))
  537. assert_equal(nil, PRUNE::Message.channelinfo("208"))
  538. assert_equal(nil, PRUNE::Message.channelinfo("209"))
  539. assert_equal(nil, PRUNE::Message.channelinfo("210"))
  540. assert_equal(nil, PRUNE::Message.channelinfo("211"))
  541. assert_equal(nil, PRUNE::Message.channelinfo("212"))
  542. assert_equal(nil, PRUNE::Message.channelinfo("213"))
  543. assert_equal(nil, PRUNE::Message.channelinfo("214"))
  544. assert_equal(nil, PRUNE::Message.channelinfo("215"))
  545. assert_equal(nil, PRUNE::Message.channelinfo("216"))
  546. assert_equal(nil, PRUNE::Message.channelinfo("217"))
  547. assert_equal(nil, PRUNE::Message.channelinfo("218"))
  548. assert_equal(nil, PRUNE::Message.channelinfo("219"))
  549. assert_equal(nil, PRUNE::Message.channelinfo("220"))
  550. assert_equal(nil, PRUNE::Message.channelinfo("221"))
  551. assert_equal(nil, PRUNE::Message.channelinfo("231"))
  552. assert_equal(nil, PRUNE::Message.channelinfo("232"))
  553. assert_equal(nil, PRUNE::Message.channelinfo("233"))
  554. assert_equal(nil, PRUNE::Message.channelinfo("234"))
  555. assert_equal(nil, PRUNE::Message.channelinfo("235"))
  556. assert_equal(nil, PRUNE::Message.channelinfo("240"))
  557. assert_equal(nil, PRUNE::Message.channelinfo("241"))
  558. assert_equal(nil, PRUNE::Message.channelinfo("242"))
  559. assert_equal(nil, PRUNE::Message.channelinfo("243"))
  560. assert_equal(nil, PRUNE::Message.channelinfo("244"))
  561. assert_equal(nil, PRUNE::Message.channelinfo("245"))
  562. assert_equal(nil, PRUNE::Message.channelinfo("246"))
  563. assert_equal(nil, PRUNE::Message.channelinfo("247"))
  564. assert_equal(nil, PRUNE::Message.channelinfo("248"))
  565. assert_equal(nil, PRUNE::Message.channelinfo("249"))
  566. assert_equal(nil, PRUNE::Message.channelinfo("250"))
  567. assert_equal(nil, PRUNE::Message.channelinfo("251"))
  568. assert_equal(nil, PRUNE::Message.channelinfo("252"))
  569. assert_equal(nil, PRUNE::Message.channelinfo("253"))
  570. assert_equal(nil, PRUNE::Message.channelinfo("254"))
  571. assert_equal(nil, PRUNE::Message.channelinfo("255"))
  572. assert_equal(nil, PRUNE::Message.channelinfo("256"))
  573. assert_equal(nil, PRUNE::Message.channelinfo("257"))
  574. assert_equal(nil, PRUNE::Message.channelinfo("258"))
  575. assert_equal(nil, PRUNE::Message.channelinfo("259"))
  576. assert_equal(nil, PRUNE::Message.channelinfo("260"))
  577. assert_equal(nil, PRUNE::Message.channelinfo("261"))
  578. assert_equal(nil, PRUNE::Message.channelinfo("262"))
  579. assert_equal(nil, PRUNE::Message.channelinfo("263"))
  580. assert_equal(nil, PRUNE::Message.channelinfo("264"))
  581. assert_equal(nil, PRUNE::Message.channelinfo("265"))
  582. assert_equal(nil, PRUNE::Message.channelinfo("266"))
  583. assert_equal(nil, PRUNE::Message.channelinfo("300"))
  584. assert_equal(nil, PRUNE::Message.channelinfo("301"))
  585. assert_equal(nil, PRUNE::Message.channelinfo("302"))
  586. assert_equal(nil, PRUNE::Message.channelinfo("303"))
  587. assert_equal(nil, PRUNE::Message.channelinfo("304"))
  588. assert_equal(nil, PRUNE::Message.channelinfo("305"))
  589. assert_equal(nil, PRUNE::Message.channelinfo("306"))
  590. assert_equal(nil, PRUNE::Message.channelinfo("311"))
  591. assert_equal(nil, PRUNE::Message.channelinfo("312"))
  592. assert_equal(nil, PRUNE::Message.channelinfo("313"))
  593. assert_equal(nil, PRUNE::Message.channelinfo("314"))
  594. assert_not_nil(PRUNE::Message.channelinfo("315"))
  595. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("315").location)
  596. assert_equal(1, PRUNE::Message.channelinfo("315").index)
  597. assert_equal(nil, PRUNE::Message.channelinfo("316"))
  598. assert_equal(nil, PRUNE::Message.channelinfo("317"))
  599. assert_equal(nil, PRUNE::Message.channelinfo("318"))
  600. assert_equal(nil, PRUNE::Message.channelinfo("319"))
  601. assert_equal(nil, PRUNE::Message.channelinfo("320"))
  602. assert_equal(nil, PRUNE::Message.channelinfo("321"))
  603. assert_not_nil(PRUNE::Message.channelinfo("322"))
  604. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("322").location)
  605. assert_equal(1, PRUNE::Message.channelinfo("322").index)
  606. assert_equal(nil, PRUNE::Message.channelinfo("323"))
  607. assert_not_nil(PRUNE::Message.channelinfo("324"))
  608. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("324").location)
  609. assert_equal(1, PRUNE::Message.channelinfo("324").index)
  610. assert_equal(nil, PRUNE::Message.channelinfo("325"))
  611. assert_not_nil(PRUNE::Message.channelinfo("329"))
  612. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("329").location)
  613. assert_equal(1, PRUNE::Message.channelinfo("329").index)
  614. assert_equal(nil, PRUNE::Message.channelinfo("330"))
  615. assert_equal(nil, PRUNE::Message.channelinfo("331"))
  616. assert_not_nil(PRUNE::Message.channelinfo("332"))
  617. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("332").location)
  618. assert_equal(1, PRUNE::Message.channelinfo("332").index)
  619. assert_not_nil(PRUNE::Message.channelinfo("333"))
  620. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("333").location)
  621. assert_equal(1, PRUNE::Message.channelinfo("333").index)
  622. assert_not_nil(PRUNE::Message.channelinfo("341"))
  623. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("341").location)
  624. assert_equal(2, PRUNE::Message.channelinfo("341").index)
  625. assert_equal(nil, PRUNE::Message.channelinfo("342"))
  626. assert_equal(nil, PRUNE::Message.channelinfo("346"))
  627. assert_equal(nil, PRUNE::Message.channelinfo("347"))
  628. assert_equal(nil, PRUNE::Message.channelinfo("348"))
  629. assert_equal(nil, PRUNE::Message.channelinfo("349"))
  630. assert_equal(nil, PRUNE::Message.channelinfo("350"))
  631. assert_equal(nil, PRUNE::Message.channelinfo("351"))
  632. assert_not_nil(PRUNE::Message.channelinfo("352"))
  633. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("352").location)
  634. assert_equal(1, PRUNE::Message.channelinfo("352").index)
  635. assert_not_nil(PRUNE::Message.channelinfo("353"))
  636. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("353").location)
  637. assert_equal(2, PRUNE::Message.channelinfo("353").index)
  638. assert_equal(nil, PRUNE::Message.channelinfo("361"))
  639. assert_equal(nil, PRUNE::Message.channelinfo("362"))
  640. assert_equal(nil, PRUNE::Message.channelinfo("363"))
  641. assert_equal(nil, PRUNE::Message.channelinfo("364"))
  642. assert_equal(nil, PRUNE::Message.channelinfo("365"))
  643. assert_not_nil(PRUNE::Message.channelinfo("366"))
  644. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("366").location)
  645. assert_equal(1, PRUNE::Message.channelinfo("366").index)
  646. assert_not_nil(PRUNE::Message.channelinfo("367"))
  647. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("367").location)
  648. assert_equal(1, PRUNE::Message.channelinfo("367").index)
  649. assert_not_nil(PRUNE::Message.channelinfo("368"))
  650. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("368").location)
  651. assert_equal(1, PRUNE::Message.channelinfo("368").index)
  652. assert_equal(nil, PRUNE::Message.channelinfo("369"))
  653. assert_equal(nil, PRUNE::Message.channelinfo("370"))
  654. assert_equal(nil, PRUNE::Message.channelinfo("371"))
  655. assert_equal(nil, PRUNE::Message.channelinfo("372"))
  656. assert_equal(nil, PRUNE::Message.channelinfo("373"))
  657. assert_equal(nil, PRUNE::Message.channelinfo("374"))
  658. assert_equal(nil, PRUNE::Message.channelinfo("375"))
  659. assert_equal(nil, PRUNE::Message.channelinfo("376"))
  660. assert_equal(nil, PRUNE::Message.channelinfo("381"))
  661. assert_equal(nil, PRUNE::Message.channelinfo("382"))
  662. assert_equal(nil, PRUNE::Message.channelinfo("383"))
  663. assert_equal(nil, PRUNE::Message.channelinfo("384"))
  664. assert_equal(nil, PRUNE::Message.channelinfo("391"))
  665. assert_equal(nil, PRUNE::Message.channelinfo("392"))
  666. assert_equal(nil, PRUNE::Message.channelinfo("393"))
  667. assert_equal(nil, PRUNE::Message.channelinfo("394"))
  668. assert_equal(nil, PRUNE::Message.channelinfo("395"))
  669. assert_equal(nil, PRUNE::Message.channelinfo("-1"))
  670. assert_equal(nil, PRUNE::Message.channelinfo("401"))
  671. assert_equal(nil, PRUNE::Message.channelinfo("402"))
  672. assert_not_nil(PRUNE::Message.channelinfo("403"))
  673. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("403").location)
  674. assert_equal(1, PRUNE::Message.channelinfo("403").index)
  675. assert_not_nil(PRUNE::Message.channelinfo("404"))
  676. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("404").location)
  677. assert_equal(1, PRUNE::Message.channelinfo("404").index)
  678. assert_not_nil(PRUNE::Message.channelinfo("405"))
  679. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("405").location)
  680. assert_equal(1, PRUNE::Message.channelinfo("405").index)
  681. assert_equal(nil, PRUNE::Message.channelinfo("406"))
  682. assert_equal(nil, PRUNE::Message.channelinfo("407"))
  683. assert_equal(nil, PRUNE::Message.channelinfo("408"))
  684. assert_equal(nil, PRUNE::Message.channelinfo("409"))
  685. assert_equal(nil, PRUNE::Message.channelinfo("410"))
  686. assert_equal(nil, PRUNE::Message.channelinfo("411"))
  687. assert_equal(nil, PRUNE::Message.channelinfo("412"))
  688. assert_equal(nil, PRUNE::Message.channelinfo("413"))
  689. assert_equal(nil, PRUNE::Message.channelinfo("414"))
  690. assert_equal(nil, PRUNE::Message.channelinfo("415"))
  691. assert_equal(nil, PRUNE::Message.channelinfo("421"))
  692. assert_equal(nil, PRUNE::Message.channelinfo("422"))
  693. assert_equal(nil, PRUNE::Message.channelinfo("423"))
  694. assert_equal(nil, PRUNE::Message.channelinfo("424"))
  695. assert_equal(nil, PRUNE::Message.channelinfo("431"))
  696. assert_equal(nil, PRUNE::Message.channelinfo("432"))
  697. assert_equal(nil, PRUNE::Message.channelinfo("433"))
  698. assert_equal(nil, PRUNE::Message.channelinfo("434"))
  699. assert_equal(nil, PRUNE::Message.channelinfo("435"))
  700. assert_equal(nil, PRUNE::Message.channelinfo("436"))
  701. assert_not_nil(PRUNE::Message.channelinfo("437"))
  702. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("437").location)
  703. assert_equal(1, PRUNE::Message.channelinfo("437").index)
  704. assert_not_nil(PRUNE::Message.channelinfo("441"))
  705. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("441").location)
  706. assert_equal(2, PRUNE::Message.channelinfo("441").index)
  707. assert_not_nil(PRUNE::Message.channelinfo("442"))
  708. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("442").location)
  709. assert_equal(1, PRUNE::Message.channelinfo("442").index)
  710. assert_not_nil(PRUNE::Message.channelinfo("443"))
  711. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("443").location)
  712. assert_equal(2, PRUNE::Message.channelinfo("443").index)
  713. assert_equal(nil, PRUNE::Message.channelinfo("444"))
  714. assert_equal(nil, PRUNE::Message.channelinfo("445"))
  715. assert_equal(nil, PRUNE::Message.channelinfo("446"))
  716. assert_equal(nil, PRUNE::Message.channelinfo("451"))
  717. assert_equal(nil, PRUNE::Message.channelinfo("461"))
  718. assert_equal(nil, PRUNE::Message.channelinfo("462"))
  719. assert_equal(nil, PRUNE::Message.channelinfo("463"))
  720. assert_equal(nil, PRUNE::Message.channelinfo("464"))
  721. assert_equal(nil, PRUNE::Message.channelinfo("465"))
  722. assert_equal(nil, PRUNE::Message.channelinfo("466"))
  723. assert_not_nil(PRUNE::Message.channelinfo("467"))
  724. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("467").location)
  725. assert_equal(1, PRUNE::Message.channelinfo("467").index)
  726. assert_equal(nil, PRUNE::Message.channelinfo("468"))
  727. assert_not_nil(PRUNE::Message.channelinfo("471"))
  728. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("471").location)
  729. assert_equal(1, PRUNE::Message.channelinfo("471").index)
  730. assert_equal(nil, PRUNE::Message.channelinfo("472"))
  731. assert_not_nil(PRUNE::Message.channelinfo("473"))
  732. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("473").location)
  733. assert_equal(1, PRUNE::Message.channelinfo("473").index)
  734. assert_not_nil(PRUNE::Message.channelinfo("474"))
  735. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("474").location)
  736. assert_equal(1, PRUNE::Message.channelinfo("474").index)
  737. assert_not_nil(PRUNE::Message.channelinfo("475"))
  738. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("475").location)
  739. assert_equal(1, PRUNE::Message.channelinfo("475").index)
  740. assert_not_nil(PRUNE::Message.channelinfo("476"))
  741. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("476").location)
  742. assert_equal(1, PRUNE::Message.channelinfo("476").index)
  743. assert_not_nil(PRUNE::Message.channelinfo("477"))
  744. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("477").location)
  745. assert_equal(1, PRUNE::Message.channelinfo("477").index)
  746. assert_not_nil(PRUNE::Message.channelinfo("478"))
  747. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("478").location)
  748. assert_equal(1, PRUNE::Message.channelinfo("478").index)
  749. assert_equal(nil, PRUNE::Message.channelinfo("479"))
  750. assert_equal(nil, PRUNE::Message.channelinfo("480"))
  751. assert_equal(nil, PRUNE::Message.channelinfo("481"))
  752. assert_not_nil(PRUNE::Message.channelinfo("482"))
  753. assert_equal(PRUNE::Message::CH_PARAM, PRUNE::Message.channelinfo("482").location)
  754. assert_equal(1, PRUNE::Message.channelinfo("482").index)
  755. assert_equal(nil, PRUNE::Message.channelinfo("483"))
  756. assert_equal(nil, PRUNE::Message.channelinfo("484"))
  757. assert_equal(nil, PRUNE::Message.channelinfo("485"))
  758. assert_equal(nil, PRUNE::Message.channelinfo("491"))
  759. assert_equal(nil, PRUNE::Message.channelinfo("492"))
  760. assert_equal(nil, PRUNE::Message.channelinfo("501"))
  761. assert_equal(nil, PRUNE::Message.channelinfo("502"))
  762. assert_equal(nil, PRUNE::Message.channelinfo(1))
  763. end # def test_channelinfo
  764. def test_validate_command_
  765. assert_equal(false, PRUNE::Message.valid_command?("foo"))
  766. assert_equal(true, PRUNE::Message.valid_command?("connect"))
  767. assert_equal(true, PRUNE::Message.valid_command?("Connect"))
  768. assert_equal(true, PRUNE::Message.valid_command?(:connect))
  769. assert_equal(true, PRUNE::Message.valid_command?(:die))
  770. assert_equal(true, PRUNE::Message.valid_command?(:error))
  771. assert_equal(true, PRUNE::Message.valid_command?(:ping))
  772. assert_equal(true, PRUNE::Message.valid_command?(:pong))
  773. assert_equal(true, PRUNE::Message.valid_command?(:rehash))
  774. assert_equal(true, PRUNE::Message.valid_command?(:restart))
  775. assert_equal(true, PRUNE::Message.valid_command?(:service))
  776. assert_equal(true, PRUNE::Message.valid_command?(:squit))
  777. assert_equal(true, PRUNE::Message.valid_command?(:trace))
  778. assert_equal(true, PRUNE::Message.valid_command?(:wallops))
  779. assert_equal(true, PRUNE::Message.valid_command?(:admin))
  780. assert_equal(true, PRUNE::Message.valid_command?(:away))
  781. assert_equal(true, PRUNE::Message.valid_command?(:info))
  782. assert_equal(true, PRUNE::Message.valid_command?(:links))
  783. assert_equal(true, PRUNE::Message.valid_command?(:list))
  784. assert_equal(true, PRUNE::Message.valid_command?(:lusers))
  785. assert_equal(true, PRUNE::Message.valid_command?(:motd))
  786. assert_equal(true, PRUNE::Message.valid_command?(:oper))
  787. assert_equal(true, PRUNE::Message.valid_command?(:pass))
  788. assert_equal(true, PRUNE::Message.valid_command?(:quit))
  789. assert_equal(true, PRUNE::Message.valid_command?(:servlist))
  790. assert_equal(true, PRUNE::Message.valid_command?(:squery))
  791. assert_equal(true, PRUNE::Message.valid_command?(:stats))
  792. assert_equal(true, PRUNE::Message.valid_command?(:time))
  793. assert_equal(true, PRUNE::Message.valid_command?(:user))
  794. assert_equal(true, PRUNE::Message.valid_command?(:users))
  795. assert_equal(true, PRUNE::Message.valid_command?(:version))
  796. assert_equal(true, PRUNE::Message.valid_command?(:invite))
  797. assert_equal(true, PRUNE::Message.valid_command?(:ison))
  798. assert_equal(true, PRUNE::Message.valid_command?(:join))
  799. assert_equal(true, PRUNE::Message.valid_command?(:ki