@ -12,7 +12,7 @@ describe("PRIVMSG OK", function () {
mockedSock . write = function ( data ) {
mockedSock . write = function ( data ) {
let answer = data . toString ( "ascii" )
let answer = data . toString ( "ascii" )
if ( answer . indexOf ( "PRIVMSG" ) >= 0 ) {
if ( answer . indexOf ( "PRIVMSG" ) >= 0 ) {
assert . equal ( answer , ":some_nick PRIVMSG some_nick :I'm a message" )
assert . equal ( answer , ":some_nick PRIVMSG some_nick :I'm a message\r\n " )
done ( )
done ( )
}
}
}
}
@ -45,7 +45,7 @@ describe("PRIVMSG OK", function () {
mockedSock2 . write = function ( data ) {
mockedSock2 . write = function ( data ) {
let answer = data . toString ( "ascii" )
let answer = data . toString ( "ascii" )
if ( answer . indexOf ( "PRIVMSG" ) >= 0 ) {
if ( answer . indexOf ( "PRIVMSG" ) >= 0 ) {
assert . equal ( answer , ":some_nick PRIVMSG other_nick :I'm a message" )
assert . equal ( answer , ":some_nick PRIVMSG other_nick :I'm a message\r\n " )
done ( )
done ( )
}
}
}
}
@ -60,6 +60,45 @@ describe("PRIVMSG OK", function () {
mockedSock2 . emit ( 'data' , Buffer . from ( "NICK other_nick\r\n" , "ascii" ) )
mockedSock2 . emit ( 'data' , Buffer . from ( "NICK other_nick\r\n" , "ascii" ) )
mockedSock2 . emit ( 'data' , Buffer . from ( "USER guest tolmoon tolsun :Ronnie Reagan\r\n" , "ascii" ) )
mockedSock2 . emit ( 'data' , Buffer . from ( "USER guest tolmoon tolsun :Ronnie Reagan\r\n" , "ascii" ) )
mockedSock1 . emit ( 'data' , Buffer . from ( "PRIVMSG other_nick :I'm a message\r\n" , "ascii" ) )
} )
it ( "dont send message to unregistered user" , function ( done ) {
const server = IRCServer . create ( )
let mockedSock1 = new EventEmitter ( )
mockedSock1 . address = function ( ) {
return { port : 12346 , family : 'IPv4' , address : '127.0.0.1' }
}
mockedSock1 . write = function ( data ) {
answer = data . toString ( 'ascii' )
if ( answer . indexOf ( "401" ) >= 0 ) {
assert . equal ( answer , ":irc.example.com 401 some_nick no such nick/channel" )
}
done ( )
}
mockedSock1 . destroy = function ( ) {
done ( "Destroyed socket without answering" )
}
let mockedSock2 = new EventEmitter ( )
mockedSock2 . address = function ( ) {
return { port : 12346 , family : 'IPv4' , address : '127.0.0.1' }
}
mockedSock2 . write = function ( data ) {
let answer = data . toString ( "ascii" )
if ( answer . indexOf ( "PRIVMSG" ) >= 0 ) {
assert . equal ( answer , ":some_nick PRIVMSG other_nick :I'm a message\r\n" )
done ( "I got a message that I shouldn't have seen" )
}
}
mockedSock2 . destroy = function ( ) {
done ( "Destroyed socket without answering" )
}
server . emit ( "connection" , mockedSock1 )
server . emit ( "connection" , mockedSock2 )
mockedSock1 . emit ( 'data' , Buffer . from ( "NICK some_nick\r\n" , "ascii" ) )
mockedSock1 . emit ( 'data' , Buffer . from ( "USER guest tolmoon tolsun :Ronnie Reagan\r\n" , "ascii" ) )
mockedSock2 . emit ( 'data' , Buffer . from ( "NICK other_nick\r\n" , "ascii" ) )
mockedSock1 . emit ( 'data' , Buffer . from ( "PRIVMSG other_nick :I'm a message\r\n" , "ascii" ) )
mockedSock1 . emit ( 'data' , Buffer . from ( "PRIVMSG other_nick :I'm a message\r\n" , "ascii" ) )
} )
} )
} )
} )