Skip to content

Commit 4a90ff3

Browse files
committed
revert
1 parent c96dbf7 commit 4a90ff3

12 files changed

+137
-149
lines changed

docs/diff-tool.custom.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ var resolvedTool = DiffTools.AddToolBasedOn(
4242
Left: (temp, target) => $"\"custom args \"{target}\" \"{temp}\"",
4343
Right: (temp, target) => $"\"custom args \"{temp}\" \"{target}\""))!;
4444
```
45-
<sup><a href='/src/DiffEngine.Tests/DiffToolsTest.cs#L69-L78' title='Snippet source file'>snippet source</a> | <a href='#snippet-addtoolbasedon' title='Start of snippet'>anchor</a></sup>
45+
<sup><a href='/src/DiffEngine.Tests/DiffToolsTest.cs#L68-L77' title='Snippet source file'>snippet source</a> | <a href='#snippet-addtoolbasedon' title='Start of snippet'>anchor</a></sup>
4646
<!-- endSnippet -->
4747

4848

@@ -72,7 +72,7 @@ var resolvedTool = DiffTools.AddToolBasedOn(
7272

7373
await DiffRunner.LaunchAsync(resolvedTool!, "PathToTempFile", "PathToTargetFile");
7474
```
75-
<sup><a href='/src/DiffEngine.Tests/DiffToolsTest.cs#L91-L102' title='Snippet source file'>snippet source</a> | <a href='#snippet-addtoolandlaunch' title='Start of snippet'>anchor</a></sup>
75+
<sup><a href='/src/DiffEngine.Tests/DiffToolsTest.cs#L88-L99' title='Snippet source file'>snippet source</a> | <a href='#snippet-addtoolandlaunch' title='Start of snippet'>anchor</a></sup>
7676
<!-- endSnippet -->
7777

7878

docs/diff-tool.order.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,5 @@ For example `VisualStudio,Meld` will result in VisualStudio then Meld then all o
5353
```cs
5454
DiffTools.UseOrder(DiffTool.VisualStudio, DiffTool.AraxisMerge);
5555
```
56-
<sup><a href='/src/DiffEngine.Tests/DiffToolsTest.cs#L139-L143' title='Snippet source file'>snippet source</a> | <a href='#snippet-useorder' title='Start of snippet'>anchor</a></sup>
56+
<sup><a href='/src/DiffEngine.Tests/DiffToolsTest.cs#L134-L136' title='Snippet source file'>snippet source</a> | <a href='#snippet-useorder' title='Start of snippet'>anchor</a></sup>
5757
<!-- endSnippet -->

src/DiffEngine.Tests/DefinitionsTest.cs

+7-3
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,8 @@ static void AddTool(StreamWriter writer, Definition tool)
117117
""");
118118
}
119119

120-
var (windows, linux, osx) = tool.OsSupport;
120+
var osSupport = tool.OsSupport;
121+
var windows = osSupport.Windows;
121122
if (windows != null)
122123
{
123124
writer.WriteLine("""
@@ -126,9 +127,10 @@ static void AddTool(StreamWriter writer, Definition tool)
126127
127128
""");
128129
WriteArguments(writer, windows.LaunchArguments);
129-
WritePaths(windows.ExeName, writer, ExeFinder.ExpandProgramFiles(windows.SearchDirectories).ToList());
130+
WritePaths(windows.ExeName, writer, OsSettingsResolver.ExpandProgramFiles(windows.SearchDirectories).ToList());
130131
}
131132

133+
var osx = osSupport.Osx;
132134
if (osx != null)
133135
{
134136
writer.WriteLine("""
@@ -140,6 +142,7 @@ static void AddTool(StreamWriter writer, Definition tool)
140142
WritePaths(osx.ExeName, writer, osx.SearchDirectories);
141143
}
142144

145+
var linux = osSupport.Linux;
143146
if (linux != null)
144147
{
145148
writer.WriteLine("""
@@ -154,6 +157,7 @@ static void AddTool(StreamWriter writer, Definition tool)
154157

155158
static void WriteArguments(StreamWriter writer, LaunchArguments arguments)
156159
{
160+
157161
var leftText = arguments.Left("tempFile.txt", "targetFile.txt");
158162
var rightText = arguments.Right("tempFile.txt", "targetFile.txt");
159163
var leftBinary = arguments.Left("tempFile.png", "targetFile.png");
@@ -176,7 +180,7 @@ static void WriteArguments(StreamWriter writer, LaunchArguments arguments)
176180
}
177181
}
178182

179-
static void WritePaths(string exeName, TextWriter writer, IEnumerable<string> paths)
183+
static void WritePaths(string exeName, TextWriter writer, IReadOnlyCollection<string> paths)
180184
{
181185
writer.WriteLine("""
182186
* Scanned paths:

src/DiffEngine.Tests/DiffRunnerTests.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ static DiffRunnerTests() =>
191191
launchArguments: new(
192192
Left: (tempFile, targetFile) => $"\"{tempFile}\" \"{targetFile}\"",
193193
Right: (tempFile, targetFile) => $"\"{targetFile}\" \"{tempFile}\""),
194-
exePath: FakeDiffTool.ExePath,
194+
exePath: FakeDiffTool.Exe,
195195
binaryExtensions: new[]
196196
{
197197
"knownBin"

src/DiffEngine.Tests/DiffToolsTest.cs

+2-11
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public void MaxInstancesToLaunch()
1414
[Fact]
1515
public void AddTool()
1616
{
17-
var diffToolPath = FakeDiffTool.ExePath;
17+
var diffToolPath = FakeDiffTool.Exe;
1818

1919
#region AddTool
2020

@@ -43,7 +43,7 @@ public void AddTool()
4343
[Fact]
4444
public void OrderShouldNotMessWithAddTool()
4545
{
46-
var diffToolPath = FakeDiffTool.ExePath;
46+
var diffToolPath = FakeDiffTool.Exe;
4747
var resolvedTool = DiffTools.AddTool(
4848
name: "MyCustomDiffTool",
4949
autoRefresh: true,
@@ -62,7 +62,6 @@ public void OrderShouldNotMessWithAddTool()
6262
}
6363

6464
#if DEBUG
65-
6665
[Fact]
6766
public void AddToolBasedOn()
6867
{
@@ -83,9 +82,7 @@ public void AddToolBasedOn()
8382
Assert.Equal("\"custom args \"bar\" \"foo\"", resolvedTool.LaunchArguments.Left("foo", "bar"));
8483
Assert.Equal("\"custom args \"foo\" \"bar\"", resolvedTool.LaunchArguments.Right("foo", "bar"));
8584
}
86-
8785
#endif
88-
8986
async Task AddToolAndLaunch()
9087
{
9188
#region AddToolAndLaunch
@@ -130,18 +127,13 @@ public Task LaunchSpecificTextDiff() =>
130127
Path.Combine(SourceDirectory, "input.temp.txt"),
131128
Path.Combine(SourceDirectory, "input.target.txt"));
132129
**/
133-
134130
#if DEBUG
135-
136131
[Fact]
137132
public void ChangeOrder()
138133
{
139134
#region UseOrder
140-
141135
DiffTools.UseOrder(DiffTool.VisualStudio, DiffTool.AraxisMerge);
142-
143136
#endregion
144-
145137
Assert.Equal(DiffTool.VisualStudio, DiffTools.Resolved.First().Tool);
146138
}
147139

@@ -164,7 +156,6 @@ public void TryFindByName()
164156
Assert.True(DiffTools.TryFindByName(resolved.Name, out resolved));
165157
Assert.NotNull(resolved);
166158
}
167-
168159
#endif
169160

170161
public DiffToolsTest(ITestOutputHelper output) :

src/DiffEngine.Tests/FakeDiffTool.cs

+3-6
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
11
public class FakeDiffTool
22
{
3-
public static string ExePath;
4-
public static string ExeName;
3+
public static string Exe;
54

65
static FakeDiffTool()
76
{
87
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
98
{
10-
ExeName = "FakeDiffTool.exe";
11-
ExePath = Path.GetFullPath(Path.Combine(AssemblyLocation.CurrentDirectory, "../../../../FakeDiffTool/bin/win-x64/FakeDiffTool.exe"));
9+
Exe = Path.GetFullPath(Path.Combine(AssemblyLocation.CurrentDirectory, "../../../../FakeDiffTool/bin/win-x64/FakeDiffTool.exe"));
1210
return;
1311
}
1412

1513
if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
1614
{
17-
ExeName = "FakeDiffTool";
18-
ExePath = Path.GetFullPath(Path.Combine(AssemblyLocation.CurrentDirectory, "../../../../FakeDiffTool/bin/osx-x64/FakeDiffTool"));
15+
Exe = Path.GetFullPath(Path.Combine(AssemblyLocation.CurrentDirectory, "../../../../FakeDiffTool/bin/osx-x64/FakeDiffTool"));
1916
return;
2017
}
2118

src/DiffEngine.Tests/OsSettingsResolverTest.cs

+35
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,41 @@
11
public class OsSettingsResolverTest :
22
XunitContextBase
33
{
4+
[Fact]
5+
public void Simple()
6+
{
7+
var paths = OsSettingsResolver.ExpandProgramFiles(new[] {"Path"}).ToList();
8+
Assert.Equal("Path", paths.Single());
9+
}
10+
11+
[Fact]
12+
public void Expand()
13+
{
14+
var paths = OsSettingsResolver.ExpandProgramFiles(new[] {@"%ProgramFiles%\Path"}).ToList();
15+
Assert.Equal(@"%ProgramFiles%\Path", paths[0]);
16+
Assert.Equal(@"%ProgramW6432%\Path", paths[1]);
17+
Assert.Equal(@"%ProgramFiles(x86)%\Path", paths[2]);
18+
}
19+
20+
[Fact]
21+
public void EnvPath()
22+
{
23+
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
24+
{
25+
var found = OsSettingsResolver.TryFindInEnvPath("cmd.exe", out var filePath);
26+
Assert.Equal(true, found);
27+
Assert.Equal(@"C:\Windows\System32\cmd.exe", filePath, ignoreCase: true);
28+
}
29+
30+
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)
31+
|| RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
32+
{
33+
var found = OsSettingsResolver.TryFindInEnvPath("sh", out var filePath);
34+
Assert.Equal(true, found);
35+
Assert.NotNull(filePath);
36+
}
37+
}
38+
439
public OsSettingsResolverTest(ITestOutputHelper output) :
540
base(output)
641
{

src/DiffEngine.Tests/ExeFinderTests.cs renamed to src/DiffEngine.Tests/WildcardFileFinderTests.cs

+10-45
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
public class ExeFinderTests :
1+
public class WildcardFileFinderTests :
22
XunitContextBase
33
{
44
[Fact]
@@ -9,45 +9,10 @@ public void MultiMatchDir_order1()
99
Directory.SetLastWriteTime(dir2, DateTime.Now.AddDays(-1));
1010
Directory.SetLastWriteTime(dir1, DateTime.Now);
1111
var path = Path.Combine(SourceDirectory, "DirForSearch", "*", "TextFile1.txt");
12-
Assert.True(ExeFinder.TryFind(path, out var result));
12+
Assert.True(WildcardFileFinder.TryFind(path, out var result));
1313
Assert.True(File.Exists(result), result);
1414
}
1515

16-
[Fact]
17-
public void ExpandProgramFilesNoEnv()
18-
{
19-
var paths = ExeFinder.ExpandProgramFiles(new[] {"Path"}).ToList();
20-
Assert.Equal("Path", paths.Single());
21-
}
22-
23-
[Fact]
24-
public void ExpandProgramFiles()
25-
{
26-
var paths = ExeFinder.ExpandProgramFiles(new[] {@"%ProgramFiles%\Path"}).ToList();
27-
Assert.Equal(@"%ProgramFiles%\Path", paths[0]);
28-
Assert.Equal(@"%ProgramW6432%\Path", paths[1]);
29-
Assert.Equal(@"%ProgramFiles(x86)%\Path", paths[2]);
30-
}
31-
32-
[Fact]
33-
public void EnvPath()
34-
{
35-
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
36-
{
37-
var found = ExeFinder.TryFindInEnvPath("cmd.exe", out var filePath);
38-
Assert.Equal(true, found);
39-
Assert.Equal(@"C:\Windows\System32\cmd.exe", filePath, ignoreCase: true);
40-
}
41-
42-
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) ||
43-
RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
44-
{
45-
var found = ExeFinder.TryFindInEnvPath("sh", out var filePath);
46-
Assert.Equal(true, found);
47-
Assert.NotNull(filePath);
48-
}
49-
}
50-
5116
[Fact]
5217
public void MultiMatchDir_order2()
5318
{
@@ -56,21 +21,21 @@ public void MultiMatchDir_order2()
5621
Directory.SetLastWriteTime(dir1, DateTime.Now.AddDays(-1));
5722
Directory.SetLastWriteTime(dir2, DateTime.Now);
5823
var path = Path.Combine(SourceDirectory, "DirForSearch", "*", "TextFile1.txt");
59-
Assert.True(ExeFinder.TryFind(path, out var result));
24+
Assert.True(WildcardFileFinder.TryFind(path, out var result));
6025
Assert.True(File.Exists(result), result);
6126
}
6227

6328
[Fact]
6429
public void FullFilePath()
6530
{
66-
Assert.True(ExeFinder.TryFind(SourceFile, out var result));
31+
Assert.True(WildcardFileFinder.TryFind(SourceFile, out var result));
6732
Assert.True(File.Exists(result), result);
6833
}
6934

7035
[Fact]
7136
public void FullFilePath_missing()
7237
{
73-
Assert.False(ExeFinder.TryFind(SourceFile.Replace(".cs", ".foo"), out var result));
38+
Assert.False(WildcardFileFinder.TryFind(SourceFile.Replace(".cs", ".foo"), out var result));
7439
Assert.Null(result);
7540
}
7641

@@ -94,21 +59,21 @@ public void FullFilePath_missing()
9459
public void WildCardInDir()
9560
{
9661
var directory = SourceDirectory.Replace("Tests", "Test*");
97-
var path = Path.Combine(directory, "ExeFinderTests.cs");
98-
Assert.True(ExeFinder.TryFind(path, out var result));
62+
var path = Path.Combine(directory, "WildcardFileFinderTests.cs");
63+
Assert.True(WildcardFileFinder.TryFind(path, out var result));
9964
Assert.True(File.Exists(result), result);
10065
}
10166

10267
[Fact]
10368
public void WildCardInDir_missing()
10469
{
10570
var directory = SourceDirectory.Replace("Tests", "Test*.Foo");
106-
var path = Path.Combine(directory, "ExeFinderTests.cs");
107-
Assert.False(ExeFinder.TryFind(path, out var result));
71+
var path = Path.Combine(directory, "WildcardFileFinderTests.cs");
72+
Assert.False(WildcardFileFinder.TryFind(path, out var result));
10873
Assert.Null(result);
10974
}
11075

111-
public ExeFinderTests(ITestOutputHelper output) :
76+
public WildcardFileFinderTests(ITestOutputHelper output) :
11277
base(output)
11378
{
11479
}

src/DiffEngine/DiffTools_Add.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public static partial class DiffTools
3737
throw new ArgumentException($"Tool with name already exists. Name: {name}", nameof(name));
3838
}
3939

40-
if (!ExeFinder.TryFind(exePath, out var resolvedExePath))
40+
if (!WildcardFileFinder.TryFind(exePath, out var resolvedExePath))
4141
{
4242
return null;
4343
}

0 commit comments

Comments
 (0)