public void MessageParsing_RealLife_Auth() { string text = ":pinkiepie.smoothirc.net NOTICE Auth :*** Looking up your hostname..."; var message = IrcUtils.ParseMessage(this._network, text); Assert.AreEqual("pinkiepie.smoothirc.net", message.Sender.Nickname); Assert.AreEqual("notice", message.Command, true); Assert.AreEqual(1, message.CommandArguments.Length); Assert.AreEqual("Auth", message.CommandArguments[0]); Assert.AreEqual("*** Looking up your hostname...", message.Content); }
public void MessageParsing_RealLife_Pong() { string text = ":strasbourg.fr.epiknet.org PONG strasbourg.fr.epiknet.org :1353594267701"; var message = IrcUtils.ParseMessage(this._network, text); Assert.AreEqual("strasbourg.fr.epiknet.org", message.Sender.Nickname); Assert.AreEqual("pong", message.Command, true); Assert.AreEqual(1, message.CommandArguments.Length); Assert.AreEqual("strasbourg.fr.epiknet.org", message.CommandArguments[0]); Assert.AreEqual("1353594267701", message.Content); }
public void MessageParsing_RealLife_Motd() { string text = ":pinkiepie.smoothirc.net 372 Aethec :- ~ SSL : 6669"; var message = IrcUtils.ParseMessage(this._network, text); Assert.AreEqual("pinkiepie.smoothirc.net", message.Sender.Nickname); Assert.AreEqual(372, int.Parse(message.Command)); Assert.AreEqual(1, message.CommandArguments.Length); Assert.AreEqual("Aethec", message.CommandArguments[0]); Assert.AreEqual("- ~ SSL : 6669", message.Content); }
public void MessageParsing_RealLife_UserMode() { string text = ":[email protected] MODE Aethec +x"; var message = IrcUtils.ParseMessage(this._network, text); Assert.AreEqual("Aethec", message.Sender.Nickname); Assert.AreEqual("Aethec", message.Sender.UserName); Assert.AreEqual("Smooth-uq4imh.epfl.ch", message.Sender.Host); Assert.AreEqual("mode", message.Command, true); Assert.AreEqual(2, message.CommandArguments.Length); Assert.AreEqual("Aethec", message.CommandArguments[0]); Assert.AreEqual("+x", message.CommandArguments[1]); }
public void MessageParsing_RealLife_MyInfo() { string text = ":strasbourg.fr.epiknet.org 004 Aethec strasbourg.fr.epiknet.org Unreal3.2.7+EpiKnet iowghraAsORTVSxNCWqBzvdHtGp lvhopsmntikrRcaqOALQbSeIKVfMCuzNTGj"; var message = IrcUtils.ParseMessage(this._network, text); Assert.AreEqual("strasbourg.fr.epiknet.org", message.Sender.Nickname); Assert.AreEqual(4, int.Parse(message.Command)); Assert.AreEqual(5, message.CommandArguments.Length); Assert.AreEqual("Aethec", message.CommandArguments[0]); Assert.AreEqual("strasbourg.fr.epiknet.org", message.CommandArguments[1]); Assert.AreEqual("Unreal3.2.7+EpiKnet", message.CommandArguments[2]); Assert.AreEqual("iowghraAsORTVSxNCWqBzvdHtGp", message.CommandArguments[3]); Assert.AreEqual("lvhopsmntikrRcaqOALQbSeIKVfMCuzNTGj", message.CommandArguments[4]); Assert.AreEqual(string.Empty, message.Content); }
private void Client_DataReceived(object sender, RawDataEventArgs e) { this.OnRawDataReceived(e.Data); IrcMessage message; try { message = IrcUtils.ParseMessage(this.Network, e.Data); } catch // bad data from server? all kinds of weird exceptions. { this.Stop(true); return; } this.HandleMessage(message); }
private IrcMessage TestMessage(string nick = null, string user = null, string host = null, string command = null, string[] arguments = null, string content = null) { string sender = string.Empty; if (nick != null) { sender = IrcUtils.SenderIndicator + nick + IrcUtils.UserNameSeparator + user + IrcUtils.UserHostSeparator + host; } var builder = new StringBuilder(); builder.Append(sender); builder.Append(IrcUtils.MessagePartsSeparator); builder.Append(command); builder.Append(IrcUtils.MessagePartsSeparator); if (arguments != null) { builder.Append(string.Join(IrcUtils.MessagePartsSeparator, arguments)); } if (content != null) { builder.Append(IrcUtils.MessageCommandSeparator); builder.Append(content); } var message = IrcUtils.ParseMessage(this._network, builder.ToString()); if (sender == string.Empty) { Assert.AreEqual(this._network.ServerUser, message.Sender); } else { Assert.AreEqual(nick, message.Sender.Nickname); Assert.AreEqual(user, message.Sender.UserName); Assert.AreEqual(host, message.Sender.Host); } Assert.AreEqual(command, message.Command, true); if (arguments != null) { Assert.AreEqual(message.CommandArguments.Length, arguments.Length); for (int n = 0; n < arguments.Length; n++) { Assert.AreEqual(arguments[n], message.CommandArguments[n]); } } if (content == null) { Assert.AreEqual(string.Empty, message.Content); } else if (IrcClient.StripFormatting == false) { Assert.AreEqual(content, message.Content); } return(message); }
public void MessageParsing_NoCommand() { IrcUtils.ParseMessage(this._network, ":nick!user@host"); }
public void MessageParsing_NoSenderUsername() { IrcUtils.ParseMessage(this._network, ":nick_butnouser@host blah blah blah"); }
public void MessageParsing_NoSenderHost() { IrcUtils.ParseMessage(this._network, ":nick!user_butnohost blah blah blah"); }