/// <summary> /// Find and kill a diff tool process. /// </summary> public static void Kill(string tempFile, string targetFile) { if (Disabled) { return; } var extension = Extensions.GetExtension(tempFile); if (!DiffTools.TryFindByExtension(extension, out var diffTool)) { Logging.Write($"Extension not found. {extension}"); return; } var command = diffTool.BuildCommand(tempFile, targetFile); if (diffTool.IsMdi) { Logging.Write($"DiffTool is Mdi so not killing. diffTool: {diffTool.ExePath}"); return; } ProcessCleanup.Kill(command); }
public void TryFind() { Assert.True(DiffTools.TryFindByExtension("txt", out var resolved)); Assert.NotNull(resolved); Assert.False(DiffTools.TryFindByExtension("notFound", out resolved)); Assert.Null(resolved); }
public void AddToolBasedOn() { #region AddToolBasedOn var resolvedTool = DiffTools.AddToolBasedOn( DiffTool.VisualStudio, name: "MyCustomDiffTool", targetLeftArguments: (temp, target) => $"\"custom args \"{target}\" \"{temp}\"", targetRightArguments: (temp, target) => $"\"custom args \"{temp}\" \"{target}\"") !; #endregion Assert.Equal(resolvedTool, DiffTools.Resolved.First()); Assert.True(DiffTools.TryFindByExtension("txt", out var forExtension)); Assert.Equal(resolvedTool, forExtension); Assert.Equal("\"custom args \"bar\" \"foo\"", resolvedTool.TargetLeftArguments("foo", "bar")); Assert.Equal("\"custom args \"foo\" \"bar\"", resolvedTool.TargetRightArguments("foo", "bar")); }
public void OrderShouldNotMessWithAddTool() { var diffToolPath = FakeDiffTool.Exe; var resolvedTool = DiffTools.AddTool( name: "MyCustomDiffTool", autoRefresh: true, isMdi: false, supportsText: true, requiresTarget: true, targetLeftArguments: (tempFile, targetFile) => $"\"{targetFile}\" \"{tempFile}\"", targetRightArguments: (tempFile, targetFile) => $"\"{tempFile}\" \"{targetFile}\"", exePath: diffToolPath, binaryExtensions: Enumerable.Empty <string>()) !; DiffTools.UseOrder(DiffTool.VisualStudio, DiffTool.AraxisMerge); Assert.Equal(resolvedTool.Name, DiffTools.Resolved.First().Name); Assert.True(DiffTools.TryFindByExtension("txt", out var forExtension)); Assert.Equal(resolvedTool.Name, forExtension !.Name); }
public void AddTool() { var diffToolPath = FakeDiffTool.Exe; #region AddTool var resolvedTool = DiffTools.AddTool( name: "MyCustomDiffTool", autoRefresh: true, isMdi: false, supportsText: true, requiresTarget: true, targetLeftArguments: (tempFile, targetFile) => $"\"{targetFile}\" \"{tempFile}\"", targetRightArguments: (tempFile, targetFile) => $"\"{tempFile}\" \"{targetFile}\"", exePath: diffToolPath, binaryExtensions: new[] { "jpg" }) !; #endregion Assert.Equal(resolvedTool.Name, DiffTools.Resolved.First().Name); Assert.True(DiffTools.TryFindByExtension("jpg", out var forExtension)); Assert.Equal(resolvedTool.Name, forExtension !.Name); }