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" }
30 { channel "#factortest" } } }
31 [ ":someuser!n=user@some.where JOIN :#factortest"
32 string>irc-message f >>timestamp ] unit-test
35 { line ":ircserver.net MODE #factortest +ns" }
36 { prefix "ircserver.net" }
38 { parameters { "#factortest" "+ns" } }
39 { name "#factortest" }
41 [ ":ircserver.net MODE #factortest +ns"
42 string>irc-message f >>timestamp ] unit-test
45 { line ":ircserver.net MODE #factortest +o someuser" }
46 { prefix "ircserver.net" }
48 { parameters { "#factortest" "+o" "someuser" } }
49 { name "#factortest" }
51 { parameter "someuser" } } }
52 [ ":ircserver.net MODE #factortest +o someuser"
53 string>irc-message f >>timestamp ] unit-test
56 { line ":someuser!n=user@some.where NICK :someuser2" }
57 { prefix "someuser!n=user@some.where" }
60 { trailing "someuser2" }
62 { nickname "someuser2" } } }
63 [ ":someuser!n=user@some.where NICK :someuser2"
64 string>irc-message f >>timestamp ] unit-test
66 { T{ rpl-nickname-in-use
67 { line ":ircserver.net 433 * nickname :Nickname is already in use" }
68 { prefix "ircserver.net" }
70 { parameters { "*" "nickname" } }
72 { trailing "Nickname is already in use" } } }
73 [ ":ircserver.net 433 * nickname :Nickname is already in use"
74 string>irc-message f >>timestamp ] unit-test