1 ! Copyright (C) 2009 Bruno Deferrari
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel tools.test accessors arrays
4 irc.messages.parser irc.messages ;
5 EXCLUDE: sequences => join ;
9 ! { "someuser" } [ "someuser!n=user@some.where" parse-name ] unit-test
12 { line ":someuser!n=user@some.where PRIVMSG #factortest :hi" }
13 { prefix "someuser!n=user@some.where" }
15 { parameters { "#factortest" } }
17 { target "#factortest" }
19 { sender "someuser" } } }
20 [ ":someuser!n=user@some.where PRIVMSG #factortest :hi"
21 string>irc-message f >>timestamp ] unit-test
24 { line ":someuser!n=user@some.where JOIN :#factortest" }
25 { prefix "someuser!n=user@some.where" }
28 { trailing "#factortest" }
29 { sender "someuser" } } }
30 [ ":someuser!n=user@some.where JOIN :#factortest"
31 string>irc-message f >>timestamp ] unit-test
34 { line ":ircserver.net MODE #factortest +ns" }
35 { prefix "ircserver.net" }
37 { parameters { "#factortest" "+ns" } }
38 { name "#factortest" }
40 [ ":ircserver.net MODE #factortest +ns"
41 string>irc-message f >>timestamp ] unit-test
44 { line ":ircserver.net MODE #factortest +o someuser" }
45 { prefix "ircserver.net" }
47 { parameters { "#factortest" "+o" "someuser" } }
48 { name "#factortest" }
50 { parameter "someuser" } } }
51 [ ":ircserver.net MODE #factortest +o someuser"
52 string>irc-message f >>timestamp ] unit-test
55 { line ":someuser!n=user@some.where NICK :someuser2" }
56 { prefix "someuser!n=user@some.where" }
59 { trailing "someuser2" }
60 { sender "someuser" } } }
61 [ ":someuser!n=user@some.where NICK :someuser2"
62 string>irc-message f >>timestamp ] unit-test
64 { T{ rpl-nickname-in-use
65 { line ":ircserver.net 433 * nickname :Nickname is already in use" }
66 { prefix "ircserver.net" }
68 { parameters { "*" "nickname" } }
70 { trailing "Nickname is already in use" } } }
71 [ ":ircserver.net 433 * nickname :Nickname is already in use"
72 string>irc-message f >>timestamp ] unit-test