瀏覽代碼

Changes as requested

BaronGreenback 4 年之前
父節點
當前提交
53e1b302cc
共有 2 個文件被更改,包括 34 次插入11 次删除
  1. 7 7
      Emby.Dlna/DlnaManager.cs
  2. 27 4
      tests/Jellyfin.Dlna.Tests/DlnaManagerTests.cs

+ 7 - 7
Emby.Dlna/DlnaManager.cs

@@ -150,13 +150,13 @@ namespace Emby.Dlna
         public bool IsMatch(DeviceIdentification deviceInfo, DeviceIdentification profileInfo)
         {
             return IsRegexOrSubstringMatch(deviceInfo.FriendlyName, profileInfo.FriendlyName)
-               && IsRegexOrSubstringMatch(deviceInfo.Manufacturer, profileInfo.Manufacturer)
-               && IsRegexOrSubstringMatch(deviceInfo.ManufacturerUrl, profileInfo.ManufacturerUrl)
-               && IsRegexOrSubstringMatch(deviceInfo.ModelDescription, profileInfo.ModelDescription)
-               && IsRegexOrSubstringMatch(deviceInfo.ModelName, profileInfo.ModelName)
-               && IsRegexOrSubstringMatch(deviceInfo.ModelNumber, profileInfo.ModelNumber)
-               && IsRegexOrSubstringMatch(deviceInfo.ModelUrl, profileInfo.ModelUrl)
-               && IsRegexOrSubstringMatch(deviceInfo.SerialNumber, profileInfo.SerialNumber);
+                && IsRegexOrSubstringMatch(deviceInfo.Manufacturer, profileInfo.Manufacturer)
+                && IsRegexOrSubstringMatch(deviceInfo.ManufacturerUrl, profileInfo.ManufacturerUrl)
+                && IsRegexOrSubstringMatch(deviceInfo.ModelDescription, profileInfo.ModelDescription)
+                && IsRegexOrSubstringMatch(deviceInfo.ModelName, profileInfo.ModelName)
+                && IsRegexOrSubstringMatch(deviceInfo.ModelNumber, profileInfo.ModelNumber)
+                && IsRegexOrSubstringMatch(deviceInfo.ModelUrl, profileInfo.ModelUrl)
+                && IsRegexOrSubstringMatch(deviceInfo.SerialNumber, profileInfo.SerialNumber);
         }
 
         private bool IsRegexOrSubstringMatch(string input, string pattern)

+ 27 - 4
tests/Jellyfin.Dlna.Tests/ProfileTester.cs → tests/Jellyfin.Dlna.Tests/DlnaManagerTests.cs

@@ -46,7 +46,7 @@ namespace Jellyfin.Dlna.Tests
                 ModelDescription = "LG WebOSTV DMRplus",
                 ModelName = "LG TV",
                 ModelNumber = "1.0",
-                Identification = new DeviceIdentification()
+                Identification = new ()
                 {
                     FriendlyName = "My Device",
                     Manufacturer = "LG Electronics",
@@ -69,7 +69,8 @@ namespace Jellyfin.Dlna.Tests
                 }
             };
 
-            Assert.True(GetManager().IsMatch(device.ToDeviceIdentification(), profile2.Identification));
+            var deviceMatch = GetManager().IsMatch(device.ToDeviceIdentification(), profile2.Identification);
+            Assert.True(deviceMatch);
         }
 
         [Fact]
@@ -90,7 +91,7 @@ namespace Jellyfin.Dlna.Tests
                 ModelDescription = "LG WebOSTV DMRplus",
                 ModelName = "LG TV",
                 ModelNumber = "1.0",
-                Identification = new DeviceIdentification()
+                Identification = new ()
                 {
                     FriendlyName = "My Device",
                     Manufacturer = "LG Electronics",
@@ -101,7 +102,29 @@ namespace Jellyfin.Dlna.Tests
                 }
             };
 
-            Assert.False(GetManager().IsMatch(device.ToDeviceIdentification(), profile.Identification));
+            var deviceMatch = GetManager().IsMatch(device.ToDeviceIdentification(), profile.Identification);
+
+            Assert.False(deviceMatch);
+        }
+
+        [Fact]
+        public void IsMatch_GivenNamesAndRegExMatch_ReturnsTrue()
+        {
+            var device = new DeviceInfo()
+            {
+                Name = "My Device"
+            };
+
+            var profile = new DeviceProfile()
+            {
+                Name = "Test Profile",
+                FriendlyName = "My .*",
+                Identification = new ()
+            };
+
+            var deviceMatch = GetManager().IsMatch(device.ToDeviceIdentification(), profile.Identification);
+
+            Assert.True(deviceMatch);
         }
     }
 }