public void LocateInProgramFiles_SendValidProgramDeepSearch_SubFolderSpecified_ReturnsProgramPath() { var findFile = (Platform.IsMono ? "bash" : "msinfo32.exe"); // this will work on Mono because it ignores the subFoldersToSearch parameter Assert.IsNotNull(FileLocationUtilities.LocateInProgramFiles(findFile, true, "Common Files")); }
public void LocateInProgramFiles_DeepSearch_FindsFileInSubdir() { // This simulates finding RAMP which is installed as /opt/RAMP/ramp. We can't put // anything in /opt for testing, so we add our tmp directory to the path. // Setup var simulatedOptDir = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); var pathVariable = Environment.GetEnvironmentVariable("PATH"); try { Directory.CreateDirectory(simulatedOptDir); Directory.CreateDirectory(Path.Combine(simulatedOptDir, "RAMP")); var file = Path.Combine(simulatedOptDir, "RAMP", "ramp"); File.WriteAllText(file, "Simulated RAMP starter"); Environment.SetEnvironmentVariable("PATH", $"{simulatedOptDir}{Path.PathSeparator}{pathVariable}"); // Exercise/Verify Assert.That(FileLocationUtilities.LocateInProgramFiles("ramp", true), Is.EqualTo(file)); } finally { try { Environment.SetEnvironmentVariable("PATH", pathVariable); Directory.Delete(simulatedOptDir, true); } catch { // just ignore } } }
/// <summary>Get the path and file name of the Arbil executable file</summary> public static string GetArbilExeFileLocation() { var exeFile = ArchivingDlgViewModel.IsMono ? FindArbilJarFileMono() : FileLocationUtilities.LocateInProgramFiles("arbil-stable.exe", true, "arbil"); // make sure the file exists return(!File.Exists(exeFile) ? null : new FileInfo(exeFile).FullName); }
/// <summary>Get the path and file name of the RAMP executable file</summary> public static string GetRampExeFileLocation() { string exeFile; const string rampFileExtension = ".ramp"; if (ArchivingDlgViewModel.IsMono) { exeFile = FileLocationUtilities.LocateInProgramFiles("ramp", true); } else { exeFile = FileLocator.GetFromRegistryProgramThatOpensFileType(rampFileExtension) ?? FileLocationUtilities.LocateInProgramFiles("ramp.exe", true, "ramp"); } // make sure the file exists return(!File.Exists(exeFile) ? null : new FileInfo(exeFile).FullName); }
public void LocateInProgramFiles_SendInValidSubFolder_DoesNotThrow() { var findFile = (Platform.IsMono ? "bash" : "msinfo32.exe"); Assert.DoesNotThrow(() => FileLocationUtilities.LocateInProgramFiles(findFile, true, "!~@blah")); }
public void LocateInProgramFiles_SendValidProgramDeepSearch_ReturnsProgramPath() { var findFile = (Platform.IsMono ? "bash" : "msinfo32.exe"); Assert.IsNotNull(FileLocationUtilities.LocateInProgramFiles(findFile, true)); }
public void LocateInProgramFiles_SendValidProgramNoDeepSearch_ReturnsNull() { Assert.IsNull(FileLocationUtilities.LocateInProgramFiles("msinfo32.exe", false)); }