78 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Factor
		
	
	
| ! Copyright (C) 2009 Bruno Deferrari
 | ||
| ! See http://factorcode.org/license.txt for BSD license.
 | ||
| USING: kernel tools.test accessors arrays
 | ||
|        irc.messages.parser irc.messages ;
 | ||
| EXCLUDE: sequences => join ;
 | ||
| IN: irc.messages.tests
 | ||
| 
 | ||
| 
 | ||
| ! { "someuser" } [ "someuser!n=user@some.where" parse-name ] unit-test
 | ||
| 
 | ||
| { T{ privmsg
 | ||
|      { line ":someuser!n=user@some.where PRIVMSG #factortest :hi" }
 | ||
|      { prefix  "someuser!n=user@some.where" }
 | ||
|      { command "PRIVMSG" }
 | ||
|      { parameters { "#factortest" } }
 | ||
|      { trailing "hi" }
 | ||
|      { target "#factortest" }
 | ||
|      { text "hi" }
 | ||
|      { sender "someuser" } } }
 | ||
| [ ":someuser!n=user@some.where PRIVMSG #factortest :hi"
 | ||
|   string>irc-message f >>timestamp ] unit-test
 | ||
| 
 | ||
| { T{ join
 | ||
|      { line ":someuser!n=user@some.where JOIN :#factortest" }
 | ||
|      { prefix "someuser!n=user@some.where" }
 | ||
|      { command "JOIN" }
 | ||
|      { parameters { } }
 | ||
|      { trailing "#factortest" }
 | ||
|      { sender "someuser" }
 | ||
|      { channel "#factortest" } } }
 | ||
| [ ":someuser!n=user@some.where JOIN :#factortest"
 | ||
|   string>irc-message f >>timestamp ] unit-test
 | ||
| 
 | ||
| { T{ mode
 | ||
|      { line ":ircserver.net MODE #factortest +ns" }
 | ||
|      { prefix "ircserver.net" }
 | ||
|      { command "MODE" }
 | ||
|      { parameters { "#factortest" "+ns" } }
 | ||
|      { name "#factortest" }
 | ||
|      { mode "+ns" } } }
 | ||
| [ ":ircserver.net MODE #factortest +ns"
 | ||
|   string>irc-message f >>timestamp ] unit-test
 | ||
| 
 | ||
| { T{ mode
 | ||
|      { line ":ircserver.net MODE #factortest +o someuser" }
 | ||
|      { prefix "ircserver.net" }
 | ||
|      { command "MODE" }
 | ||
|      { parameters { "#factortest" "+o" "someuser" } }
 | ||
|      { name "#factortest" }
 | ||
|      { mode "+o" }
 | ||
|      { parameter "someuser" } } }
 | ||
| [ ":ircserver.net MODE #factortest +o someuser"
 | ||
|   string>irc-message f >>timestamp ] unit-test
 | ||
| 
 | ||
| { T{ nick
 | ||
|      { line ":someuser!n=user@some.where NICK :someuser2" }
 | ||
|      { prefix "someuser!n=user@some.where" }
 | ||
|      { command "NICK" }
 | ||
|      { parameters  { } }
 | ||
|      { trailing "someuser2" }
 | ||
|      { sender "someuser" }
 | ||
|      { nickname "someuser2" } } }
 | ||
| [ ":someuser!n=user@some.where NICK :someuser2"
 | ||
|   string>irc-message f >>timestamp ] unit-test
 | ||
| 
 | ||
| { T{ rpl-nickname-in-use
 | ||
|      { line ":ircserver.net 433 * nickname :Nickname is already in use" }
 | ||
|      { prefix "ircserver.net" }
 | ||
|      { command "433" }
 | ||
|      { parameters { "*" "nickname" } }
 | ||
|      { name "nickname" }
 | ||
|      { trailing "Nickname is already in use" } } }
 | ||
| [ ":ircserver.net 433 * nickname :Nickname is already in use"
 | ||
|   string>irc-message f >>timestamp ] unit-test
 | ||
| 
 | ||
| { t } [ ":someuser!n=user@some.where PRIVMSG #factortest :ACTION jumps!"
 | ||
|         string>irc-message action? ] unit-test
 |