]> gitweb.factorcode.org Git - factor.git/blob - extra/irc/messages/messages-tests.factor
74cd95c09a313c94923c64eb85592ea688aaf027
[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: kernel tools.test accessors arrays
4        irc.messages.parser irc.messages ;
5 EXCLUDE: sequences => join ;
6 IN: irc.messages.tests
7
8
9 ! { "someuser" } [ "someuser!n=user@some.where" parse-name ] unit-test
10
11 { T{ privmsg
12      { line ":someuser!n=user@some.where PRIVMSG #factortest :hi" }
13      { prefix  "someuser!n=user@some.where" }
14      { command "PRIVMSG" }
15      { parameters { "#factortest" } }
16      { trailing "hi" }
17      { target "#factortest" }
18      { text "hi" }
19      { sender "someuser" } } }
20 [ ":someuser!n=user@some.where PRIVMSG #factortest :hi"
21   string>irc-message f >>timestamp ] unit-test
22
23 { T{ join
24      { line ":someuser!n=user@some.where JOIN :#factortest" }
25      { prefix "someuser!n=user@some.where" }
26      { command "JOIN" }
27      { parameters { } }
28      { trailing "#factortest" }
29      { sender "someuser" } } }
30 [ ":someuser!n=user@some.where JOIN :#factortest"
31   string>irc-message f >>timestamp ] unit-test
32
33 { T{ mode
34      { line ":ircserver.net MODE #factortest +ns" }
35      { prefix "ircserver.net" }
36      { command "MODE" }
37      { parameters { "#factortest" "+ns" } }
38      { name "#factortest" }
39      { mode "+ns" } } }
40 [ ":ircserver.net MODE #factortest +ns"
41   string>irc-message f >>timestamp ] unit-test
42
43 { T{ mode
44      { line ":ircserver.net MODE #factortest +o someuser" }
45      { prefix "ircserver.net" }
46      { command "MODE" }
47      { parameters { "#factortest" "+o" "someuser" } }
48      { name "#factortest" }
49      { mode "+o" }
50      { parameter "someuser" } } }
51 [ ":ircserver.net MODE #factortest +o someuser"
52   string>irc-message f >>timestamp ] unit-test
53
54 { T{ nick
55      { line ":someuser!n=user@some.where NICK :someuser2" }
56      { prefix "someuser!n=user@some.where" }
57      { command "NICK" }
58      { parameters  { } }
59      { trailing "someuser2" }
60      { sender "someuser" } } }
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