rename Irc to IRC
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Ben Harris 2020-05-14 23:06:10 -04:00
parent 304df7805b
commit 21f1e95fb8
Signed by: ben
GPG Key ID: 4E0AF802FFF7960C
51 changed files with 95 additions and 120 deletions

View File

@ -2,8 +2,8 @@ using System;
using System.Linq; using System.Linq;
using System.Net.Sockets; using System.Net.Sockets;
using System.Threading; using System.Threading;
using IrcStates; using IRCStates;
using IrcTokens; using IRCTokens;
namespace StatesSample namespace StatesSample
{ {

View File

@ -6,7 +6,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\IrcStates\IrcStates.csproj" /> <ProjectReference Include="..\..\IRCStates\IRCStates.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,7 +1,7 @@
using System; using System;
using System.Net.Sockets; using System.Net.Sockets;
using System.Threading; using System.Threading;
using IrcTokens; using IRCTokens;
namespace TokensSample namespace TokensSample
{ {

View File

@ -1,5 +1,5 @@
using System; using System;
using IrcTokens; using IRCTokens;
namespace TokensSample namespace TokensSample
{ {

View File

@ -6,7 +6,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\IrcTokens\IrcTokens.csproj" /> <ProjectReference Include="..\..\IRCTokens\IRCTokens.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -3,11 +3,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16 # Visual Studio Version 16
VisualStudioVersion = 16.0.30011.22 VisualStudioVersion = 16.0.30011.22
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IrcTokens", "IrcTokens\IrcTokens.csproj", "{9E812F45-B2CD-42D2-8378-EBEBF8697905}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IRCTokens", "IRCTokens\IRCTokens.csproj", "{9E812F45-B2CD-42D2-8378-EBEBF8697905}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TokensSample", "Examples\Tokens\TokensSample.csproj", "{A45DA39B-6B47-4713-8049-3B36E0235B67}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TokensSample", "Examples\Tokens\TokensSample.csproj", "{A45DA39B-6B47-4713-8049-3B36E0235B67}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IrcStates", "IrcStates\IrcStates.csproj", "{233E3CB4-61F1-4368-9139-7E9F4A58ED2D}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IRCStates", "IRCStates\IRCStates.csproj", "{233E3CB4-61F1-4368-9139-7E9F4A58ED2D}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StatesSample", "Examples\States\StatesSample.csproj", "{BC9F6696-9D83-4F7A-9E15-CE4D3626C1AF}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StatesSample", "Examples\States\StatesSample.csproj", "{BC9F6696-9D83-4F7A-9E15-CE4D3626C1AF}"
EndProject EndProject

View File

@ -1,6 +1,6 @@
using System; using System;
namespace IrcStates namespace IRCStates
{ {
public static class Casemap public static class Casemap
{ {

View File

@ -2,7 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
namespace IrcStates namespace IRCStates
{ {
public class Channel public class Channel
{ {

View File

@ -1,6 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
namespace IrcStates namespace IRCStates
{ {
public class ChannelUser public class ChannelUser
{ {

View File

@ -1,4 +1,4 @@
namespace IrcStates namespace IRCStates
{ {
public static class Commands public static class Commands
{ {

View File

@ -1,6 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
namespace IrcStates namespace IRCStates
{ {
public class Emit public class Emit
{ {

15
IRCStates/Extensions.cs Normal file
View File

@ -0,0 +1,15 @@
using System.Collections.Generic;
using System.Linq;
namespace IRCStates
{
public static class Extensions
{
public static void UpdateWith<TKey, TValue>(this Dictionary<TKey, TValue> dict, Dictionary<TKey, TValue> other)
{
if (dict == null || other == null || !other.Any()) return;
foreach (var (key, value) in other) dict[key] = value;
}
}
}

View File

@ -15,7 +15,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\IrcTokens\IrcTokens.csproj" /> <ProjectReference Include="..\IRCTokens\IRCTokens.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -5,7 +5,7 @@ using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.Linq; using System.Linq;
namespace IrcStates namespace IRCStates
{ {
public class ISupport public class ISupport
{ {

View File

@ -2,7 +2,7 @@
using System.Globalization; using System.Globalization;
using System.Linq; using System.Linq;
namespace IrcStates namespace IRCStates
{ {
public class ISupportChanModes public class ISupportChanModes
{ {

View File

@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.Linq; using System.Linq;
namespace IrcStates namespace IRCStates
{ {
public class ISupportPrefix public class ISupportPrefix
{ {

View File

@ -1,6 +1,6 @@
// ReSharper disable InconsistentNaming // ReSharper disable InconsistentNaming
namespace IrcStates namespace IRCStates
{ {
public static class Numeric public static class Numeric
{ {

View File

@ -3,9 +3,9 @@ using System.Collections.Generic;
using System.ComponentModel.Design; using System.ComponentModel.Design;
using System.Globalization; using System.Globalization;
using System.Linq; using System.Linq;
using IrcTokens; using IRCTokens;
namespace IrcStates namespace IRCStates
{ {
public class Server public class Server
{ {

View File

@ -1,6 +1,6 @@
using System; using System;
namespace IrcStates namespace IRCStates
{ {
public class ServerDisconnectedException : Exception public class ServerDisconnectedException : Exception
{ {

View File

@ -1,6 +1,6 @@
using System; using System;
namespace IrcStates namespace IRCStates
{ {
public class ServerException : Exception public class ServerException : Exception
{ {

View File

@ -1,8 +1,8 @@
using System.Collections.Generic; using System.Collections.Generic;
using IrcTokens; using IRCTokens;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace IrcStates.Tests namespace IRCStates.Tests
{ {
[TestClass] [TestClass]
public class Cap public class Cap

View File

@ -1,7 +1,7 @@
using IrcTokens; using IRCTokens;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace IrcStates.Tests namespace IRCStates.Tests
{ {
[TestClass] [TestClass]
public class Casemap public class Casemap
@ -9,14 +9,14 @@ namespace IrcStates.Tests
[TestMethod] [TestMethod]
public void Rfc1459() public void Rfc1459()
{ {
var lower = IrcStates.Casemap.CaseFold(IrcStates.Casemap.CaseMapping.Rfc1459, @"ÀTEST[]~\"); var lower = IRCStates.Casemap.CaseFold(IRCStates.Casemap.CaseMapping.Rfc1459, @"ÀTEST[]~\");
Assert.AreEqual("Àtest{}^|", lower); Assert.AreEqual("Àtest{}^|", lower);
} }
[TestMethod] [TestMethod]
public void Ascii() public void Ascii()
{ {
var lower = IrcStates.Casemap.CaseFold(IrcStates.Casemap.CaseMapping.Ascii, @"ÀTEST[]~\"); var lower = IRCStates.Casemap.CaseFold(IRCStates.Casemap.CaseMapping.Ascii, @"ÀTEST[]~\");
Assert.AreEqual(@"Àtest[]~\", lower); Assert.AreEqual(@"Àtest[]~\", lower);
} }

View File

@ -1,10 +1,10 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using IrcTokens; using IRCTokens;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace IrcStates.Tests namespace IRCStates.Tests
{ {
[TestClass] [TestClass]
public class Channel public class Channel
@ -69,8 +69,8 @@ namespace IrcStates.Tests
var chanUser = channel.Users[user.NickNameLower]; var chanUser = channel.Users[user.NickNameLower];
Assert.AreEqual(channel.NameLower, user.Channels.Single()); Assert.AreEqual(channel.NameLower, user.Channels.Single());
CollectionAssert.AreEqual(new Dictionary<string, IrcStates.User> {{"nickname", user}}, _server.Users); CollectionAssert.AreEqual(new Dictionary<string, IRCStates.User> {{"nickname", user}}, _server.Users);
CollectionAssert.AreEqual(new Dictionary<string, IrcStates.Channel> {{"#chan", channel}}, _server.Channels); CollectionAssert.AreEqual(new Dictionary<string, IRCStates.Channel> {{"#chan", channel}}, _server.Channels);
CollectionAssert.AreEqual(new Dictionary<string, ChannelUser> {{"nickname", chanUser}}, channel.Users); CollectionAssert.AreEqual(new Dictionary<string, ChannelUser> {{"nickname", chanUser}}, channel.Users);
} }

View File

@ -1,8 +1,8 @@
using System.Collections.Generic; using System.Collections.Generic;
using IrcTokens; using IRCTokens;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace IrcStates.Tests namespace IRCStates.Tests
{ {
[TestClass] [TestClass]
public class Emit public class Emit

View File

@ -1,10 +1,10 @@
using System.Collections.Generic; using System.Collections.Generic;
using IrcTokens; using IRCTokens;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
// ReSharper disable InconsistentNaming // ReSharper disable InconsistentNaming
namespace IrcStates.Tests namespace IRCStates.Tests
{ {
[TestClass] [TestClass]
public class ISupport public class ISupport
@ -97,9 +97,9 @@ namespace IrcStates.Tests
[TestMethod] [TestMethod]
public void Rfc1459() public void Rfc1459()
{ {
Assert.AreEqual(IrcStates.Casemap.CaseMapping.Rfc1459, _server.ISupport.CaseMapping); Assert.AreEqual(IRCStates.Casemap.CaseMapping.Rfc1459, _server.ISupport.CaseMapping);
_server.Parse(new Line("005 * CASEMAPPING=rfc1459 *")); _server.Parse(new Line("005 * CASEMAPPING=rfc1459 *"));
Assert.AreEqual(IrcStates.Casemap.CaseMapping.Rfc1459, _server.ISupport.CaseMapping); Assert.AreEqual(IRCStates.Casemap.CaseMapping.Rfc1459, _server.ISupport.CaseMapping);
var lower = _server.CaseFold(@"ÀTEST[]~\"); var lower = _server.CaseFold(@"ÀTEST[]~\");
Assert.AreEqual("Àtest{}^|", lower); Assert.AreEqual("Àtest{}^|", lower);
} }
@ -108,7 +108,7 @@ namespace IrcStates.Tests
public void Ascii() public void Ascii()
{ {
_server.Parse(new Line("005 * CASEMAPPING=ascii *")); _server.Parse(new Line("005 * CASEMAPPING=ascii *"));
Assert.AreEqual(IrcStates.Casemap.CaseMapping.Ascii, _server.ISupport.CaseMapping); Assert.AreEqual(IRCStates.Casemap.CaseMapping.Ascii, _server.ISupport.CaseMapping);
var lower = _server.CaseFold(@"ÀTEST[]~\"); var lower = _server.CaseFold(@"ÀTEST[]~\");
Assert.AreEqual(@"Àtest[]~\", lower); Assert.AreEqual(@"Àtest[]~\", lower);
} }
@ -117,7 +117,7 @@ namespace IrcStates.Tests
public void FallbackToRfc1459() public void FallbackToRfc1459()
{ {
_server.Parse(new Line("005 * CASEMAPPING=nonexistent *")); _server.Parse(new Line("005 * CASEMAPPING=nonexistent *"));
Assert.AreEqual(IrcStates.Casemap.CaseMapping.Rfc1459, _server.ISupport.CaseMapping); Assert.AreEqual(IRCStates.Casemap.CaseMapping.Rfc1459, _server.ISupport.CaseMapping);
var lower = _server.CaseFold(@"ÀTEST[]~\"); var lower = _server.CaseFold(@"ÀTEST[]~\");
Assert.AreEqual("Àtest{}^|", lower); Assert.AreEqual("Àtest{}^|", lower);
} }

View File

@ -1,8 +1,8 @@
using System.Collections.Generic; using System.Collections.Generic;
using IrcTokens; using IRCTokens;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace IrcStates.Tests namespace IRCStates.Tests
{ {
[TestClass] [TestClass]
public class Mode public class Mode

View File

@ -1,8 +1,8 @@
using System.Collections.Generic; using System.Collections.Generic;
using IrcTokens; using IRCTokens;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace IrcStates.Tests namespace IRCStates.Tests
{ {
[TestClass] [TestClass]
public class Motd public class Motd

View File

@ -1,7 +1,7 @@
using IrcTokens; using IRCTokens;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace IrcStates.Tests namespace IRCStates.Tests
{ {
[TestClass] [TestClass]
public class Sasl public class Sasl

View File

@ -1,7 +1,7 @@
using IrcTokens; using IRCTokens;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace IrcStates.Tests namespace IRCStates.Tests
{ {
[TestClass] [TestClass]
public class User public class User

View File

@ -1,7 +1,7 @@
using IrcTokens; using IRCTokens;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace IrcStates.Tests namespace IRCStates.Tests
{ {
[TestClass] [TestClass]
public class Who public class Who

View File

@ -1,6 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
namespace IrcStates namespace IRCStates
{ {
public class User public class User
{ {

View File

@ -2,7 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
namespace IrcTokens namespace IRCTokens
{ {
public static class Extensions public static class Extensions
{ {

View File

@ -1,6 +1,6 @@
using System; using System;
namespace IrcTokens namespace IRCTokens
{ {
/// <summary> /// <summary>
/// Represents the three parts of a hostmask. Parse with the constructor. /// Represents the three parts of a hostmask. Parse with the constructor.

View File

@ -4,7 +4,7 @@ using System.Globalization;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
namespace IrcTokens namespace IRCTokens
{ {
/// <summary> /// <summary>
/// Tools to represent, parse, and format IRC lines /// Tools to represent, parse, and format IRC lines

View File

@ -1,4 +1,4 @@
# irctokens # IRCTokens
this is a c\# port of jesopo's [irctokens]( this is a c\# port of jesopo's [irctokens](
https://github.com/jesopo/irctokens) https://github.com/jesopo/irctokens)
@ -7,7 +7,7 @@ https://github.com/jesopo/irctokens)
### tokenization ### tokenization
using IrcTokens; using IRCTokens;
... ...

View File

@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
namespace IrcTokens namespace IRCTokens
{ {
public class StatefulDecoder public class StatefulDecoder
{ {

View File

@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
namespace IrcTokens namespace IRCTokens
{ {
public class StatefulEncoder public class StatefulEncoder
{ {

View File

@ -1,7 +1,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using YamlDotNet.Serialization; using YamlDotNet.Serialization;
namespace IrcTokens.Tests.Data namespace IRCTokens.Tests.Data
{ {
public class JoinModel public class JoinModel
{ {

View File

@ -1,6 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
namespace IrcTokens.Tests.Data namespace IRCTokens.Tests.Data
{ {
public class SplitModel public class SplitModel
{ {

View File

@ -2,7 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace IrcTokens.Tests namespace IRCTokens.Tests
{ {
[TestClass] [TestClass]
public class Format public class Format

View File

@ -1,6 +1,6 @@
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace IrcTokens.Tests namespace IRCTokens.Tests
{ {
[TestClass] [TestClass]
public class Hostmask public class Hostmask
@ -8,7 +8,7 @@ namespace IrcTokens.Tests
[TestMethod] [TestMethod]
public void TestHostmask() public void TestHostmask()
{ {
var hostmask = new IrcTokens.Hostmask("nick!user@host"); var hostmask = new IRCTokens.Hostmask("nick!user@host");
Assert.AreEqual("nick", hostmask.NickName); Assert.AreEqual("nick", hostmask.NickName);
Assert.AreEqual("user", hostmask.UserName); Assert.AreEqual("user", hostmask.UserName);
Assert.AreEqual("host", hostmask.HostName); Assert.AreEqual("host", hostmask.HostName);
@ -17,7 +17,7 @@ namespace IrcTokens.Tests
[TestMethod] [TestMethod]
public void TestNoHostName() public void TestNoHostName()
{ {
var hostmask = new IrcTokens.Hostmask("nick!user"); var hostmask = new IRCTokens.Hostmask("nick!user");
Assert.AreEqual("nick", hostmask.NickName); Assert.AreEqual("nick", hostmask.NickName);
Assert.AreEqual("user", hostmask.UserName); Assert.AreEqual("user", hostmask.UserName);
Assert.IsNull(hostmask.HostName); Assert.IsNull(hostmask.HostName);
@ -26,7 +26,7 @@ namespace IrcTokens.Tests
[TestMethod] [TestMethod]
public void TestNoUserName() public void TestNoUserName()
{ {
var hostmask = new IrcTokens.Hostmask("nick@host"); var hostmask = new IRCTokens.Hostmask("nick@host");
Assert.AreEqual("nick", hostmask.NickName); Assert.AreEqual("nick", hostmask.NickName);
Assert.IsNull(hostmask.UserName); Assert.IsNull(hostmask.UserName);
Assert.AreEqual("host", hostmask.HostName); Assert.AreEqual("host", hostmask.HostName);
@ -35,7 +35,7 @@ namespace IrcTokens.Tests
[TestMethod] [TestMethod]
public void TestOnlyNickName() public void TestOnlyNickName()
{ {
var hostmask = new IrcTokens.Hostmask("nick"); var hostmask = new IRCTokens.Hostmask("nick");
Assert.AreEqual("nick", hostmask.NickName); Assert.AreEqual("nick", hostmask.NickName);
Assert.IsNull(hostmask.UserName); Assert.IsNull(hostmask.UserName);
Assert.IsNull(hostmask.HostName); Assert.IsNull(hostmask.HostName);
@ -45,7 +45,7 @@ namespace IrcTokens.Tests
public void TestHostmaskFromLine() public void TestHostmaskFromLine()
{ {
var line = new Line(":nick!user@host PRIVMSG #channel hello"); var line = new Line(":nick!user@host PRIVMSG #channel hello");
var hostmask = new IrcTokens.Hostmask("nick!user@host"); var hostmask = new IRCTokens.Hostmask("nick!user@host");
Assert.AreEqual(hostmask.ToString(), line.Hostmask.ToString()); Assert.AreEqual(hostmask.ToString(), line.Hostmask.ToString());
Assert.AreEqual("nick", line.Hostmask.NickName); Assert.AreEqual("nick", line.Hostmask.NickName);
Assert.AreEqual("user", line.Hostmask.UserName); Assert.AreEqual("user", line.Hostmask.UserName);

View File

@ -1,12 +1,12 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.IO; using System.IO;
using IrcTokens.Tests.Data; using IRCTokens.Tests.Data;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
using YamlDotNet.Serialization; using YamlDotNet.Serialization;
using YamlDotNet.Serialization.NamingConventions; using YamlDotNet.Serialization.NamingConventions;
namespace IrcTokens.Tests namespace IRCTokens.Tests
{ {
[TestClass] [TestClass]
public class Parser public class Parser

View File

@ -2,17 +2,17 @@
using System.Text; using System.Text;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace IrcTokens.Tests namespace IRCTokens.Tests
{ {
[TestClass] [TestClass]
public class StatefulDecoder public class StatefulDecoder
{ {
private IrcTokens.StatefulDecoder _decoder; private IRCTokens.StatefulDecoder _decoder;
[TestInitialize] [TestInitialize]
public void TestInitialize() public void TestInitialize()
{ {
_decoder = new IrcTokens.StatefulDecoder(); _decoder = new IRCTokens.StatefulDecoder();
} }
[TestMethod] [TestMethod]
@ -44,7 +44,7 @@ namespace IrcTokens.Tests
public void TestEncoding() public void TestEncoding()
{ {
var iso8859 = Encoding.GetEncoding("iso-8859-1"); var iso8859 = Encoding.GetEncoding("iso-8859-1");
_decoder = new IrcTokens.StatefulDecoder {Encoding = iso8859}; _decoder = new IRCTokens.StatefulDecoder {Encoding = iso8859};
var bytes = iso8859.GetBytes("PRIVMSG #channel :hello Ç\r\n"); var bytes = iso8859.GetBytes("PRIVMSG #channel :hello Ç\r\n");
var lines = _decoder.Push(bytes, bytes.Length); var lines = _decoder.Push(bytes, bytes.Length);
var line = new Line("PRIVMSG #channel :hello Ç"); var line = new Line("PRIVMSG #channel :hello Ç");
@ -55,7 +55,7 @@ namespace IrcTokens.Tests
public void TestEncodingFallback() public void TestEncodingFallback()
{ {
var latin1 = Encoding.GetEncoding("iso-8859-1"); var latin1 = Encoding.GetEncoding("iso-8859-1");
_decoder = new IrcTokens.StatefulDecoder {Encoding = null, Fallback = latin1}; _decoder = new IRCTokens.StatefulDecoder {Encoding = null, Fallback = latin1};
var bytes = latin1.GetBytes("PRIVMSG #channel hélló\r\n"); var bytes = latin1.GetBytes("PRIVMSG #channel hélló\r\n");
var lines = _decoder.Push(bytes, bytes.Length); var lines = _decoder.Push(bytes, bytes.Length);
Assert.AreEqual(1, lines.Count); Assert.AreEqual(1, lines.Count);

View File

@ -1,17 +1,17 @@
using System.Text; using System.Text;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace IrcTokens.Tests namespace IRCTokens.Tests
{ {
[TestClass] [TestClass]
public class StatefulEncoder public class StatefulEncoder
{ {
private IrcTokens.StatefulEncoder _encoder; private IRCTokens.StatefulEncoder _encoder;
[TestInitialize] [TestInitialize]
public void TestInitialize() public void TestInitialize()
{ {
_encoder = new IrcTokens.StatefulEncoder(); _encoder = new IRCTokens.StatefulEncoder();
} }
[TestMethod] [TestMethod]
@ -76,7 +76,7 @@ namespace IrcTokens.Tests
public void TestEncoding() public void TestEncoding()
{ {
var iso8859 = Encoding.GetEncoding("iso-8859-1"); var iso8859 = Encoding.GetEncoding("iso-8859-1");
_encoder = new IrcTokens.StatefulEncoder {Encoding = iso8859}; _encoder = new IRCTokens.StatefulEncoder {Encoding = iso8859};
_encoder.Push(new Line("PRIVMSG #channel :hello Ç")); _encoder.Push(new Line("PRIVMSG #channel :hello Ç"));
CollectionAssert.AreEqual(iso8859.GetBytes("PRIVMSG #channel :hello Ç\r\n"), _encoder.PendingBytes); CollectionAssert.AreEqual(iso8859.GetBytes("PRIVMSG #channel :hello Ç\r\n"), _encoder.PendingBytes);
} }

View File

@ -1,7 +1,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace IrcTokens.Tests namespace IRCTokens.Tests
{ {
[TestClass] [TestClass]
public class Tokenization public class Tokenization

View File

@ -1,40 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
namespace IrcStates
{
public static class Extensions
{
public static Delegate CreateDelegate(this MethodInfo methodInfo, object target)
{
if (methodInfo == null) return null;
var types = methodInfo.GetParameters().Select(p => p.ParameterType);
Func<Type[], Type> getType;
if (methodInfo.ReturnType == typeof(void))
{
getType = Expression.GetActionType;
}
else
{
getType = Expression.GetFuncType;
types = types.Concat(new[] {methodInfo.ReturnType});
}
return methodInfo.IsStatic
? Delegate.CreateDelegate(getType(types.ToArray()), methodInfo)
: Delegate.CreateDelegate(getType(types.ToArray()), target, methodInfo);
}
public static void UpdateWith<TKey, TValue>(this Dictionary<TKey, TValue> dict, Dictionary<TKey, TValue> other)
{
if (dict == null || other == null || !other.Any()) return;
foreach (var (key, value) in other) dict[key] = value;
}
}
}

View File

@ -1,4 +1,4 @@
# IrcSharp # IRCSharp
[![Build Status](https://drone.tildegit.org/api/badges/ben/ircsharp/status.svg)](https://drone.tildegit.org/ben/ircsharp) [![Build Status](https://drone.tildegit.org/api/badges/ben/ircsharp/status.svg)](https://drone.tildegit.org/ben/ircsharp)