public void CanResolveFile() { //dealing with working directory on a non-C location var currentDirectory = Environment.CurrentDirectory; var driveLetter = currentDirectory.Substring(0, currentDirectory.IndexOf("\\"));//ignoring UNC paths //resharper doesn't support the TestCase attribute var values = new Dictionary<string, string> { {@"C:\testfile.js", @"C:\testfile.js"}, {@"C:\test\testfile.js", @"C:\test\testfile.js"}, {@"D:\testfile.js", @"D:\testfile.js"}, {@"\testfile.js", driveLetter + @"\testfile.js"}, {@"\test\testfile.js", driveLetter + @"\test\testfile.js"}, {@"\test\test3\testfile.js", driveLetter + @"\test\test3\testfile.js"}, {@"testfile.js", Environment.CurrentDirectory + @"\testfile.js"}, {@"..\testfile.js", Path.GetFullPath(Environment.CurrentDirectory + @"\..\testfile.js")}, {@"..\..\testfile.js", Path.GetFullPath(Environment.CurrentDirectory + @"\..\..\testfile.js")} }; var fileResolver = new FileSystemResolver(); foreach (string key in values.Keys) { var resolvedFile = fileResolver.Resolve(key); Assert.AreEqual(values[key], resolvedFile, key); } }
public void CanResolveFile_Unix() { var currentDirectory = Environment.CurrentDirectory; var values = new Dictionary<string, string> { {@"testfile.js", Path.Combine(currentDirectory, "testfile.js")}, {@"/testfile.js", @"/testfile.js"}, {@"../testfile.js", Path.Combine(currentDirectory.Substring(0, currentDirectory.LastIndexOf("/")), "testfile.js")} }; var fileResolver = new FileSystemResolver(); foreach (string key in values.Keys) { var resolvedFile = fileResolver.Resolve(key); Assert.AreEqual(values[key], resolvedFile, key); } }