]> gitweb.factorcode.org Git - factor.git/blob - extra/irc/messages/messages-tests.factor
14e53b281e729fcba1a56f03e7381b76d7298b2b
[factor.git] / extra / irc / messages / messages-tests.factor
1 ! Copyright (C) 2009 Bruno Deferrari
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors irc.messages irc.messages.parser tools.test ;
4 IN: irc.messages.tests
5
6
7 ! { "someuser" } [ "someuser!n=user@some.where" parse-name ] unit-test
8
9 { T{ privmsg
10      { line ":someuser!n=user@some.where PRIVMSG #factortest :hi" }
11      { prefix  "someuser!n=user@some.where" }
12      { command "PRIVMSG" }
13      { parameters { "#factortest" } }
14      { trailing "hi" }
15      { target "#factortest" }
16      { text "hi" }
17      { sender "someuser" } } }
18 [ ":someuser!n=user@some.where PRIVMSG #factortest :hi"
19   string>irc-message f >>timestamp ] unit-test
20
21 { T{ join
22      { line ":someuser!n=user@some.where JOIN :#factortest" }
23      { prefix "someuser!n=user@some.where" }
24      { command "JOIN" }
25      { parameters { } }
26      { trailing "#factortest" }
27      { sender "someuser" }
28      { channel "#factortest" } } }
29 [ ":someuser!n=user@some.where JOIN :#factortest"
30   string>irc-message f >>timestamp ] unit-test
31
32 { T{ mode
33      { line ":ircserver.net MODE #factortest +ns" }
34      { prefix "ircserver.net" }
35      { command "MODE" }
36      { parameters { "#factortest" "+ns" } }
37      { name "#factortest" }
38      { mode "+ns" } } }
39 [ ":ircserver.net MODE #factortest +ns"
40   string>irc-message f >>timestamp ] unit-test
41
42 { T{ mode
43      { line ":ircserver.net MODE #factortest +o someuser" }
44      { prefix "ircserver.net" }
45      { command "MODE" }
46      { parameters { "#factortest" "+o" "someuser" } }
47      { name "#factortest" }
48      { mode "+o" }
49      { parameter "someuser" } } }
50 [ ":ircserver.net MODE #factortest +o someuser"
51   string>irc-message f >>timestamp ] unit-test
52
53 { T{ nick
54      { line ":someuser!n=user@some.where NICK :someuser2" }
55      { prefix "someuser!n=user@some.where" }
56      { command "NICK" }
57      { parameters  { } }
58      { trailing "someuser2" }
59      { sender "someuser" }
60      { nickname "someuser2" } } }
61 [ ":someuser!n=user@some.where NICK :someuser2"
62   string>irc-message f >>timestamp ] unit-test
63
64 { T{ rpl-nickname-in-use
65      { line ":ircserver.net 433 * nickname :Nickname is already in use" }
66      { prefix "ircserver.net" }
67      { command "433" }
68      { parameters { "*" "nickname" } }
69      { name "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
73
74 { t } [ ":someuser!n=user@some.where PRIVMSG #factortest :\ 1ACTION jumps!\ 1"
75         string>irc-message action? ] unit-test