diff --git a/Emby.Dlna/DlnaManager.cs b/Emby.Dlna/DlnaManager.cs
index 82dc30fb51..e80f1aaeed 100644
--- a/Emby.Dlna/DlnaManager.cs
+++ b/Emby.Dlna/DlnaManager.cs
@@ -156,7 +156,7 @@ namespace Emby.Dlna
/// The of the device.
/// The of the profile.
/// True if they match.
- public static bool IsMatch(DeviceIdentification deviceInfo, DeviceIdentification profileInfo)
+ public bool IsMatch(DeviceIdentification deviceInfo, DeviceIdentification profileInfo)
{
return IsRegexOrSubstringMatch(deviceInfo.FriendlyName, profileInfo.FriendlyName)
&& IsRegexOrSubstringMatch(deviceInfo.Manufacturer, profileInfo.Manufacturer)
@@ -168,7 +168,7 @@ namespace Emby.Dlna
&& IsRegexOrSubstringMatch(deviceInfo.SerialNumber, profileInfo.SerialNumber);
}
- public static bool IsRegexOrSubstringMatch(string input, string pattern)
+ private bool IsRegexOrSubstringMatch(string input, string pattern)
{
if (string.IsNullOrEmpty(pattern))
{
@@ -182,15 +182,8 @@ namespace Emby.Dlna
return false;
}
- try
- {
- return input.Equals(pattern, StringComparison.OrdinalIgnoreCase)
- || Regex.IsMatch(input, pattern, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
- }
- catch (ArgumentException ex)
- {
- throw new ArgumentException("Error evaluating regex pattern " + pattern, ex);
- }
+ return input.Equals(pattern, StringComparison.OrdinalIgnoreCase)
+ || Regex.IsMatch(input, pattern, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
}
public DeviceProfile GetProfile(IHeaderDictionary headers)
diff --git a/tests/Jellyfin.Dlna.Tests/Jellyfin.Dlna.Tests.csproj b/tests/Jellyfin.Dlna.Tests/Jellyfin.Dlna.Tests.csproj
index 850db1c75b..a1255a8586 100644
--- a/tests/Jellyfin.Dlna.Tests/Jellyfin.Dlna.Tests.csproj
+++ b/tests/Jellyfin.Dlna.Tests/Jellyfin.Dlna.Tests.csproj
@@ -9,6 +9,7 @@
+
diff --git a/tests/Jellyfin.Dlna.Tests/ProfileTester.cs b/tests/Jellyfin.Dlna.Tests/ProfileTester.cs
index cc7cf92e70..3676cc9ef7 100644
--- a/tests/Jellyfin.Dlna.Tests/ProfileTester.cs
+++ b/tests/Jellyfin.Dlna.Tests/ProfileTester.cs
@@ -1,18 +1,29 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Threading.Tasks;
using Emby.Dlna;
using Emby.Dlna.PlayTo;
+using MediaBrowser.Common.Configuration;
+using MediaBrowser.Controller;
using MediaBrowser.Model.Dlna;
+using MediaBrowser.Model.IO;
+using MediaBrowser.Model.Serialization;
+using Microsoft.Extensions.Logging;
+using Moq;
using Xunit;
namespace Jellyfin.Dlna.Tests
{
public class ProfileTester
{
+ private DlnaManager GetManager()
+ {
+ var xmlSerializer = new Mock();
+ var fileSystem = new Mock();
+ var appPaths = new Mock();
+ var loggerFactory = new Mock();
+ var appHost = new Mock();
+
+ return new DlnaManager(xmlSerializer.Object, fileSystem.Object, appPaths.Object, loggerFactory.Object, appHost.Object);
+ }
+
[Fact]
public void Test_Profile_Matches()
{
@@ -46,7 +57,7 @@ namespace Jellyfin.Dlna.Tests
}
};
- Assert.True(DlnaManager.IsMatch(device.ToDeviceIdentification(), profile.Identification));
+ Assert.True(GetManager().IsMatch(device.ToDeviceIdentification(), profile.Identification));
var profile2 = new DeviceProfile()
{
@@ -58,7 +69,7 @@ namespace Jellyfin.Dlna.Tests
}
};
- Assert.True(DlnaManager.IsMatch(device.ToDeviceIdentification(), profile2.Identification));
+ Assert.True(GetManager().IsMatch(device.ToDeviceIdentification(), profile2.Identification));
}
[Fact]
@@ -90,7 +101,7 @@ namespace Jellyfin.Dlna.Tests
}
};
- Assert.False(DlnaManager.IsMatch(device.ToDeviceIdentification(), profile.Identification));
+ Assert.False(GetManager().IsMatch(device.ToDeviceIdentification(), profile.Identification));
}
}
}