source: tags/0.8.0/test/test-parse-message.lisp

Last change on this file was 155, checked in by Erik Huelsmann, 19 years ago

Fix (amongst others) the MODE command where there is no terminating #\Return.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.2 KB
Line 
1;;;; $Id: test-parse-message.lisp 155 2006-05-15 22:54:48Z ehuelsmann $
2;;;; $Source$
3
4;;;; See the LICENSE file for licensing information.
5
6(in-package :cl-irc-test)
7
8(defvar *msg1* (format nil ":kire!~~eenge@216.248.178.227 PRIVMSG cl-irc :heyhey!~A" #\Return))
9(defvar *msg2* (format nil ":tolkien.freenode.net 372 cl-irc :-~A" #\Return))
10(defvar *msg3* (format nil "NOTICE AUTH :*** Your forward and reverse DNS don't match~A" #\Return))
11(defvar *msg4* (format nil ":kire_!~~eenge@adsl-156-35-240.asm.bellsouth.net MODE #lisppaste +k key~A" #\Return))
12(defvar *msg5* (format nil ":kire_!~~eenge@adsl-156-35-240.asm.bellsouth.net MODE #lisppaste +bbb *!*@somewhere.com *!*@somewhereles.com *!*@youdontwannaknow.org~A" #\Return))
13(defvar *msg6* (format nil ":kire!~~eenge@216.248.178.227 PRIVMSG cl-irc heyhey!~A" #\Return))
14(defvar *msg7* (format nil ":ChanServ!ChanServ@services. MODE #lisppaste +o eh "))
15
16
17(deftest find-reply-name.1 (irc:find-reply-name 1) :rpl_welcome)
18(deftest find-reply-name.2
19    (handler-bind ((irc:no-such-reply #'continue))
20      (irc:find-reply-name 999)) :unknown-reply)
21
22(deftest return-source.1 (irc::return-source cl-irc-test::*msg1*)  5 "kire")
23(deftest return-source.2 (irc::return-source cl-irc-test::*msg2*) 21 "tolkien.freenode.net")
24(deftest return-source.3 (irc::return-source cl-irc-test::*msg3*) 0 nil)
25(deftest return-source.4 (irc::return-source cl-irc-test::*msg4*) 6 "kire_")
26(deftest return-source.5 (irc::return-source cl-irc-test::*msg5*) 6 "kire_")
27
28(deftest return-user.1 (irc::return-user cl-irc-test::*msg1* :start 5) 12 "~eenge")
29(deftest return-user.2 (irc::return-user cl-irc-test::*msg2* :start 21) 21 nil)
30(deftest return-user.3 (irc::return-user cl-irc-test::*msg3* :start 0) 0 nil)
31(deftest return-user.4 (irc::return-user cl-irc-test::*msg4* :start 6) 13 "~eenge")
32(deftest return-user.5 (irc::return-user cl-irc-test::*msg5* :start 6) 13 "~eenge")
33
34(deftest return-host.1 (irc::return-host cl-irc-test::*msg1* :start 12) 28 "216.248.178.227")
35(deftest return-host.2 (irc::return-host cl-irc-test::*msg2* :start 21) 21 nil)
36(deftest return-host.3 (irc::return-host cl-irc-test::*msg3* :start 0) 0 nil)
37(deftest return-host.4 (irc::return-host cl-irc-test::*msg4* :start 13) 47 "adsl-156-35-240.asm.bellsouth.net")
38(deftest return-host.5 (irc::return-host cl-irc-test::*msg5* :start 13) 47 "adsl-156-35-240.asm.bellsouth.net")
39
40(deftest return-command.1 (irc::return-command cl-irc-test::*msg1* :start 28) 36 "PRIVMSG")
41(deftest return-command.2 (irc::return-command cl-irc-test::*msg2* :start 21) 25 "372")
42(deftest return-command.3 (irc::return-command cl-irc-test::*msg3* :start 0) 6 "NOTICE")
43(deftest return-command.4 (irc::return-command cl-irc-test::*msg4* :start 47) 52 "MODE")
44(deftest return-command.5 (irc::return-command cl-irc-test::*msg5* :start 47) 52 "MODE")
45
46(deftest return-arguments.1 (irc::return-arguments cl-irc-test::*msg1* :start 36) 44 ("cl-irc"))
47(deftest return-arguments.2 (irc::return-arguments cl-irc-test::*msg2* :start 25) 33 ("cl-irc"))
48(deftest return-arguments.3 (irc::return-arguments cl-irc-test::*msg3* :start 6) 12 ("AUTH"))
49(deftest return-arguments.4 (irc::return-arguments cl-irc-test::*msg4* :start 52) 70 ("#lisppaste" "+k" "key"))
50(deftest return-arguments.5 (irc::return-arguments cl-irc-test::*msg5* :start 52) 132 ("#lisppaste" "+bbb" "*!*@somewhere.com" "*!*@somewhereles.com" "*!*@youdontwannaknow.org"))
51
52(deftest return-trailing-argument.1
53    (irc::return-trailing-argument cl-irc-test::*msg1* :start 44) 52 "heyhey!")
54(deftest return-trailing-argument.2
55    (irc::return-trailing-argument cl-irc-test::*msg2* :start 33) 35 "-")
56(deftest return-trailing-argument.3
57    (irc::return-trailing-argument cl-irc-test::*msg3* :start 12) 57 "*** Your forward and reverse DNS don't match")
58(deftest return-trailing-argument.4
59    (irc::return-trailing-argument cl-irc-test::*msg4* :start 70) 70 nil)
60(deftest return-trailing-argument.5
61    (irc::return-trailing-argument cl-irc-test::*msg5* :start 132) 132 nil)
62
63(deftest parse-raw-message.1
64    (irc::parse-raw-message cl-irc-test::*msg1*)
65  "kire" "~eenge" "216.248.178.227" "PRIVMSG" ("cl-irc" "heyhey!"))
66
67(deftest no-trailing.1
68  (irc::parse-raw-message *msg6*)
69  "kire" "~eenge" "216.248.178.227" "PRIVMSG" ("cl-irc" "heyhey!"))
70
71(deftest mode.1
72  (irc::parse-raw-message *msg7*)
73  "ChanServ" "ChanServ" "services." "MODE" ("#lisppaste" "+o" "eh"))
Note: See TracBrowser for help on using the repository browser.