1 ! Copyright (C) 2009 Bruno Deferrari
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: accessors irc.messages irc.messages.parser tools.test ;
5 ! { "someuser" } [ "someuser!n=user@some.where" parse-name ] unit-test
8 { line ":someuser!n=user@some.where PRIVMSG #factortest :hi" }
9 { prefix "someuser!n=user@some.where" }
11 { parameters { "#factortest" } }
13 { target "#factortest" }
15 { sender "someuser" } } }
16 [ ":someuser!n=user@some.where PRIVMSG #factortest :hi"
17 string>irc-message f >>timestamp ] unit-test
20 { line ":someuser!n=user@some.where JOIN :#factortest" }
21 { prefix "someuser!n=user@some.where" }
24 { trailing "#factortest" }
26 { channel "#factortest" } } }
27 [ ":someuser!n=user@some.where JOIN :#factortest"
28 string>irc-message f >>timestamp ] unit-test
31 { line ":ircserver.net MODE #factortest +ns" }
32 { prefix "ircserver.net" }
34 { parameters { "#factortest" "+ns" } }
35 { name "#factortest" }
37 [ ":ircserver.net MODE #factortest +ns"
38 string>irc-message f >>timestamp ] unit-test
41 { line ":ircserver.net MODE #factortest +o someuser" }
42 { prefix "ircserver.net" }
44 { parameters { "#factortest" "+o" "someuser" } }
45 { name "#factortest" }
47 { parameter "someuser" } } }
48 [ ":ircserver.net MODE #factortest +o someuser"
49 string>irc-message f >>timestamp ] unit-test
52 { line ":someuser!n=user@some.where NICK :someuser2" }
53 { prefix "someuser!n=user@some.where" }
56 { trailing "someuser2" }
58 { nickname "someuser2" } } }
59 [ ":someuser!n=user@some.where NICK :someuser2"
60 string>irc-message f >>timestamp ] unit-test
62 { T{ rpl-nickname-in-use
63 { line ":ircserver.net 433 * nickname :Nickname is already in use" }
64 { prefix "ircserver.net" }
66 { parameters { "*" "nickname" } }
68 { trailing "Nickname is already in use" } } }
69 [ ":ircserver.net 433 * nickname :Nickname is already in use"
70 string>irc-message f >>timestamp ] unit-test
72 { t } [ ":someuser!n=user@some.where PRIVMSG #factortest :
\ 1ACTION jumps!
\ 1"
73 string>irc-message action? ] unit-test