From 43aec9591c9546b5574f1bb60fe3a8b23d6d9630 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Thu, 14 May 2020 19:29:01 -0400 Subject: [PATCH] all tests pass --- IrcStates/ISupport.cs | 15 ++++++++++++--- IrcStates/Tests/ISupport.cs | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/IrcStates/ISupport.cs b/IrcStates/ISupport.cs index db2f537..f481f5f 100644 --- a/IrcStates/ISupport.cs +++ b/IrcStates/ISupport.cs @@ -71,13 +71,22 @@ namespace IrcStates StatusMsg.AddRange(value.Select(c => c.ToString(CultureInfo.InvariantCulture))); break; case "MODES": - Modes = int.Parse(value, NumberStyles.Integer, CultureInfo.InvariantCulture); + if (int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var modes)) + Modes = modes; + else + Modes = -1; break; case "MONITOR": - Monitor = int.Parse(value, NumberStyles.Integer, CultureInfo.InvariantCulture); + if (int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var monitor)) + Monitor = monitor; + else + Monitor = -1; break; case "WATCH": - Watch = int.Parse(value, NumberStyles.Integer, CultureInfo.InvariantCulture); + if (int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var watch)) + Watch = watch; + else + Watch = -1; break; case "CASEMAPPING": if (Enum.TryParse(value, true, out Casemap.CaseMapping caseMapping)) CaseMapping = caseMapping; diff --git a/IrcStates/Tests/ISupport.cs b/IrcStates/Tests/ISupport.cs index c5698a2..6cd2f48 100644 --- a/IrcStates/Tests/ISupport.cs +++ b/IrcStates/Tests/ISupport.cs @@ -53,7 +53,7 @@ namespace IrcStates.Tests Assert.AreEqual("o", _server.ISupport.Prefix.FromPrefix("@")); Assert.IsNull(_server.ISupport.Prefix.FromPrefix("&")); - _server.Parse(new Line("005 * PREFIX=(qaohv)~&#%+ *")); + _server.Parse(new Line("005 * PREFIX=(qaohv)~&@%+ *")); CollectionAssert.AreEqual(new List { "q",