Prechádzať zdrojové kódy

fix tests for absolute paths

dkanada 5 rokov pred
rodič
commit
a8cd963d46

+ 1 - 1
.ci/azure-pipelines.yml

@@ -112,7 +112,7 @@ jobs:
   - job: main_test
     displayName: Main Test
     pool:
-      vmImage: windows-latest
+      vmImage: ubuntu-latest
     steps:
     - checkout: self
       clean: true

+ 17 - 18
Emby.Server.Implementations/IO/ManagedFileSystem.cs

@@ -3,8 +3,8 @@
 
 using System;
 using System.Collections.Generic;
-using System.Globalization;
 using System.Diagnostics;
+using System.Globalization;
 using System.IO;
 using System.Linq;
 using System.Text;
@@ -17,7 +17,7 @@ using OperatingSystem = MediaBrowser.Common.System.OperatingSystem;
 namespace Emby.Server.Implementations.IO
 {
     /// <summary>
-    /// Class ManagedFileSystem
+    /// Class ManagedFileSystem.
     /// </summary>
     public class ManagedFileSystem : IFileSystem
     {
@@ -80,20 +80,20 @@ namespace Emby.Server.Implementations.IO
 
         public virtual string MakeAbsolutePath(string folderPath, string filePath)
         {
-            if (string.IsNullOrWhiteSpace(filePath)
-                // stream
-                || filePath.Contains("://"))
+            // path is actually a stream
+            if (string.IsNullOrWhiteSpace(filePath) || filePath.Contains("://", StringComparison.InvariantCulture))
             {
                 return filePath;
             }
 
             if (filePath.Length > 3 && filePath[1] == ':' && filePath[2] == '/')
             {
-                return filePath; // absolute local path
+                // absolute local path
+                return filePath;
             }
 
             // unc path
-            if (filePath.StartsWith("\\\\"))
+            if (filePath.StartsWith("\\\\", StringComparison.InvariantCulture))
             {
                 return filePath;
             }
@@ -101,13 +101,16 @@ namespace Emby.Server.Implementations.IO
             var firstChar = filePath[0];
             if (firstChar == '/')
             {
-                // For this we don't really know.
+                // for this we don't really know
                 return filePath;
             }
-            if (firstChar == '\\') //relative path
+
+            // relative path
+            if (firstChar == '\\')
             {
                 filePath = filePath.Substring(1);
             }
+
             try
             {
                 return Path.GetFullPath(Path.Combine(folderPath, filePath));
@@ -131,11 +134,7 @@ namespace Emby.Server.Implementations.IO
         /// </summary>
         /// <param name="shortcutPath">The shortcut path.</param>
         /// <param name="target">The target.</param>
-        /// <exception cref="ArgumentNullException">
-        /// shortcutPath
-        /// or
-        /// target
-        /// </exception>
+        /// <exception cref="ArgumentNullException">The shortcutPath or target is null.</exception>
         public virtual void CreateShortcut(string shortcutPath, string target)
         {
             if (string.IsNullOrEmpty(shortcutPath))
@@ -281,11 +280,11 @@ namespace Emby.Server.Implementations.IO
         }
 
         /// <summary>
-        /// Takes a filename and removes invalid characters
+        /// Takes a filename and removes invalid characters.
         /// </summary>
         /// <param name="filename">The filename.</param>
         /// <returns>System.String.</returns>
-        /// <exception cref="ArgumentNullException">filename</exception>
+        /// <exception cref="ArgumentNullException">The filename is null.</exception>
         public virtual string GetValidFilename(string filename)
         {
             var builder = new StringBuilder(filename);
@@ -473,7 +472,7 @@ namespace Emby.Server.Implementations.IO
 
         public virtual void SetReadOnly(string path, bool isReadOnly)
         {
-            if (OperatingSystem.Id != MediaBrowser.Model.System.OperatingSystemId.Windows)
+            if (OperatingSystem.Id != OperatingSystemId.Windows)
             {
                 return;
             }
@@ -497,7 +496,7 @@ namespace Emby.Server.Implementations.IO
 
         public virtual void SetAttributes(string path, bool isHidden, bool isReadOnly)
         {
-            if (OperatingSystem.Id != MediaBrowser.Model.System.OperatingSystemId.Windows)
+            if (OperatingSystem.Id != OperatingSystemId.Windows)
             {
                 return;
             }