Skip to content

Commit 9ea5fed

Browse files
authored
cleanup (#758)
1 parent 86da5cb commit 9ea5fed

16 files changed

Lines changed: 34 additions & 40 deletions

File tree

src/DiffEngine/Inline/RuntimeMoniker.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ static class RuntimeMoniker
2727
return null;
2828
}
2929

30+
// ReSharper disable once RedundantSuppressNullableWarningExpression
3031
var parts = frameworkName!.Split(',');
3132
var identifier = parts[0].Trim();
3233
string? versionText = null;
@@ -35,7 +36,7 @@ static class RuntimeMoniker
3536
var part = parts[index].Trim();
3637
if (part.StartsWith("Version=v", StringComparison.Ordinal))
3738
{
38-
versionText = part.Substring("Version=v".Length);
39+
versionText = part["Version=v".Length..];
3940
break;
4041
}
4142
}
@@ -52,6 +53,7 @@ static class RuntimeMoniker
5253
".NETCoreApp" when version.Major >= 5 => $"net{version.Major}.{minor}",
5354
".NETCoreApp" => $"netcoreapp{version.Major}.{minor}",
5455
// "4.6.2" reads as net462, matching how TFMs are written.
56+
// ReSharper disable once RedundantSuppressNullableWarningExpression
5557
".NETFramework" => "net" + versionText!.Replace(".", ""),
5658
".NETStandard" => $"netstandard{version.Major}.{minor}",
5759
_ => null

src/DiffEngine/Viewer/ImageExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ static class ImageExtensions
2626
".webp"
2727
];
2828

29-
static readonly HashSet<string> lookup = new(All, StringComparer.OrdinalIgnoreCase);
29+
static readonly HashSet<string> lookup = [with(All, StringComparer.OrdinalIgnoreCase)];
3030

3131
public static bool Is(string path) =>
3232
lookup.Contains(Path.GetExtension(path));

src/DiffEngineTray.Tests/TrackerTrackedFilesTest.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,13 @@ public async Task AcceptingATrackedMoveMovesTheFile()
6666
{
6767
await using var tracker = new RecordingTracker();
6868
ITrackedFiles tracked = tracker;
69-
File.WriteAllText(temp, "content");
69+
await File.WriteAllTextAsync(temp, "content");
7070
tracker.AddMove(temp, target, null, null, false, null);
7171

7272
var (ok, _) = tracked.Accept(TrackedKeys.ForMove(temp));
7373

7474
await Assert.That(ok).IsTrue();
75-
await Assert.That(File.ReadAllText(target)).IsEqualTo("content");
75+
await Assert.That(await File.ReadAllTextAsync(target)).IsEqualTo("content");
7676
await Assert.That(tracker.Moves).IsEmpty();
7777
}
7878

@@ -86,7 +86,7 @@ public async Task ALockedMoveIsRefusedWithoutPrompting()
8686
await using var tracker = new RecordingTracker(
8787
lockedFilesResolver: (_, _) => throw new("must not prompt"));
8888
ITrackedFiles tracked = tracker;
89-
File.WriteAllText(temp, "content");
89+
await File.WriteAllTextAsync(temp, "content");
9090
tracker.AddMove(temp, target, null, null, false, null);
9191
using (new FileStream(target, FileMode.Create, FileAccess.ReadWrite, FileShare.None))
9292
{
@@ -115,15 +115,15 @@ public async Task AcceptAllSweepsAndCountsWhatStayed()
115115
await using var tracker = new RecordingTracker();
116116
ITrackedFiles tracked = tracker;
117117
tracker.AddDelete(file);
118-
File.WriteAllText(temp, "content");
118+
await File.WriteAllTextAsync(temp, "content");
119119
tracker.AddMove(temp, target, null, null, false, null);
120120

121121
var (accepted, kept) = tracked.AcceptAll();
122122

123123
await Assert.That(accepted).IsEqualTo(2);
124124
await Assert.That(kept).IsEqualTo(0);
125125
await Assert.That(File.Exists(file)).IsFalse();
126-
await Assert.That(File.ReadAllText(target)).IsEqualTo("content");
126+
await Assert.That(await File.ReadAllTextAsync(target)).IsEqualTo("content");
127127
}
128128

129129
[Test]
@@ -132,7 +132,7 @@ public async Task DiscardAllUntracksDeletesAndDropsMoveTemps()
132132
await using var tracker = new RecordingTracker();
133133
ITrackedFiles tracked = tracker;
134134
tracker.AddDelete(file);
135-
File.WriteAllText(temp, "content");
135+
await File.WriteAllTextAsync(temp, "content");
136136
tracker.AddMove(temp, target, null, null, false, null);
137137

138138
var count = tracked.DiscardAll();

src/DiffEngineTray.Tests/TrayViewerSyncTest.cs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
extern alias viewer;
22

3-
using System.Collections.Concurrent;
4-
53
// The viewer's own copies of the protocol types. DiffEngineViewer links DiffEngine's Inline and
64
// Protocol sources rather than referencing them, so the same names exist in both assemblies and
75
// only the alias tells them apart. That duplication is the point of these tests: the two halves
@@ -130,7 +128,7 @@ public async Task TrayAcceptOfATrackedMoveReachesTheAttachedViewer()
130128
pair.Tracker.Accept(pair.Tracker.Moves.Single());
131129

132130
await Assert.That(pair.Pump().Keys()).IsEquivalentTo([Key(sample, 1)]);
133-
await Assert.That(File.ReadAllText(move.Target)).IsEqualTo("received");
131+
await Assert.That(await File.ReadAllTextAsync(move.Target)).IsEqualTo("received");
134132
}
135133

136134
[Test]
@@ -186,7 +184,7 @@ public async Task ViewerAcceptAllEmptiesTheTray()
186184
await Assert.That(pair.Tracker.Snapshots).IsEmpty();
187185
await Assert.That(pair.Tracker.Moves).IsEmpty();
188186
await Assert.That(pair.Tracker.Deletes).IsEmpty();
189-
await Assert.That(File.ReadAllText(move.Target)).IsEqualTo("received");
187+
await Assert.That(await File.ReadAllTextAsync(move.Target)).IsEqualTo("received");
190188
await Assert.That(File.Exists(delete.File)).IsFalse();
191189
}
192190

@@ -250,7 +248,7 @@ public async Task ViewerAcceptOfATrackedMoveReachesTheTray()
250248

251249
await Assert.That(pair.Pump().Keys()).IsEquivalentTo([Key(sample, 1)]);
252250
await Assert.That(pair.Tracker.Moves).IsEmpty();
253-
await Assert.That(File.ReadAllText(move.Target)).IsEqualTo("received");
251+
await Assert.That(await File.ReadAllTextAsync(move.Target)).IsEqualTo("received");
254252
}
255253

256254
/// <summary>
@@ -493,7 +491,7 @@ public async Task ADeleteWithNoTrayReachesTheViewerAndTheFileGoes()
493491
using var noTray = new NoTray();
494492
var file = pair.StageStaleFile();
495493

496-
DiffRunner.AddDelete(file);
494+
await DiffRunner.AddDeleteAsync(file);
497495

498496
await Assert.That(pair.Viewer.Keys()).IsEquivalentTo([TrackedKeys.ForDelete(file)]);
499497

@@ -535,7 +533,7 @@ public async Task AMoveWithNoTrayReachesTheViewerAndTheFileMoves()
535533

536534
pair.Act(CommandKind.Accept, move.Key);
537535

538-
await Assert.That(File.ReadAllText(move.Target)).IsEqualTo("received");
536+
await Assert.That(await File.ReadAllTextAsync(move.Target)).IsEqualTo("received");
539537
await Assert.That(File.Exists(move.Temp)).IsFalse();
540538
}
541539

@@ -564,7 +562,7 @@ public async Task AResentMoveReplacesItsEntry()
564562
var move = pair.StageMove();
565563
PendingFiles.AddMove(move.Temp, move.Target, null, null, false, null);
566564

567-
File.WriteAllText(move.Temp, "second run");
565+
await File.WriteAllTextAsync(move.Temp, "second run");
568566
PendingFiles.AddMove(move.Temp, move.Target, null, null, false, null);
569567

570568
await Assert.That(pair.Viewer.Queue).HasSingleItem();
@@ -581,7 +579,7 @@ public async Task AFullListingCarriesTheViewersOwnPendingFiles()
581579
await using var pair = new ViewerOwned();
582580
using var noTray = new NoTray();
583581
var file = pair.StageStaleFile();
584-
DiffRunner.AddDelete(file);
582+
await DiffRunner.AddDeleteAsync(file);
585583

586584
var full = pair.Send(new(ViewerVerb.ListFull));
587585
var plain = pair.Send(new(ViewerVerb.List));
@@ -801,7 +799,7 @@ public ViewerOwned(Func<ViewerSidePatch, ViewerSideApplyResult>? applier = null)
801799
previousPort = Environment.GetEnvironmentVariable(ViewerClient.PortVariable);
802800
Environment.SetEnvironmentVariable(ViewerClient.PortVariable, server.Port.ToString());
803801
Window = new(SessionState.Start(ViewerMode.Inline));
804-
actions = new ViewerActions(
802+
actions = new(
805803
patch =>
806804
{
807805
Applied.Add(patch);

src/DiffEngineViewer.Tests/AttachedViewerTests.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -221,8 +221,8 @@ public async Task MoveAndDeleteLinesMaterialize()
221221
{
222222
var temp = Path.Combine(Path.GetTempPath(), $"deview_{Guid.NewGuid():N}.received.txt");
223223
var target = Path.Combine(Path.GetTempPath(), $"deview_{Guid.NewGuid():N}.verified.txt");
224-
File.WriteAllText(temp, "incoming");
225-
File.WriteAllText(target, "committed");
224+
await File.WriteAllTextAsync(temp, "incoming");
225+
await File.WriteAllTextAsync(target, "committed");
226226
try
227227
{
228228
var (server, cancel) = Listing(() => ViewerResponse.Listing(
@@ -260,7 +260,7 @@ public async Task MoveAndDeleteLinesMaterialize()
260260
public async Task AnUnreadableFileDegradesNotCrashes()
261261
{
262262
var file = Path.Combine(Path.GetTempPath(), $"deview_{Guid.NewGuid():N}.verified.txt");
263-
File.WriteAllText(file, "locked away");
263+
await File.WriteAllTextAsync(file, "locked away");
264264
try
265265
{
266266
using var holder = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.None);
@@ -294,7 +294,7 @@ public async Task AnUnreadableFileDegradesNotCrashes()
294294
public async Task UnchangedFilesAreNotReReadAndAChangeRefreshes()
295295
{
296296
var file = Path.Combine(Path.GetTempPath(), $"deview_{Guid.NewGuid():N}.verified.txt");
297-
File.WriteAllText(file, "first");
297+
await File.WriteAllTextAsync(file, "first");
298298
try
299299
{
300300
var (server, cancel) = Listing(() => ViewerResponse.Listing(
@@ -312,7 +312,7 @@ public async Task UnchangedFilesAreNotReReadAndAChangeRefreshes()
312312
await Assert.That(host.State.Queue.Single()).IsSameReferenceAs(first);
313313

314314
// A stamp needs a distinct write time; length changing makes it deterministic.
315-
File.WriteAllText(file, "second, longer");
315+
await File.WriteAllTextAsync(file, "second, longer");
316316
link.Pump();
317317
await Assert.That(host.State.Queue.Single().RightText).IsEqualTo("second, longer");
318318
await cancel.CancelAsync();
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
global using System.Text.RegularExpressions;
2+
global using System.Buffers.Binary;
3+
global using System.IO.Compression;

src/DiffEngineViewer.Tests/ImageHeaderTests.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
using System.Buffers.Binary;
2-
31
/// <summary>
42
/// What the sniffer makes of each format's leading bytes.
53
/// <para>

src/DiffEngineViewer.Tests/ImageScreenTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ public Task DeleteInQueue() =>
9999
public async Task PanesCarryThePicture()
100100
{
101101
var screen = ScreenBuilder.Build(State(Received(), Expected()));
102-
await Assert.That(screen.Left.Image).IsEqualTo(new ImagePane("temp/sample.received.png", 800, 600));
103-
await Assert.That(screen.Right.Image).IsEqualTo(new ImagePane("code/sample.verified.png", 800, 600));
102+
await Assert.That(screen.Left.Image).IsEqualTo(new("temp/sample.received.png", 800, 600));
103+
await Assert.That(screen.Right.Image).IsEqualTo(new("code/sample.verified.png", 800, 600));
104104
}
105105

106106
[Test]

src/DiffEngineViewer.Tests/SamplePng.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
using System.Buffers.Binary;
2-
using System.IO.Compression;
3-
using System.Text;
4-
51
/// <summary>
62
/// A real, decodable PNG built byte by byte.
73
/// <para>

src/DiffEngineViewer.Tests/ViewerLaunchTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ public async Task GroupedQueue()
326326
"Accepting the conflicted entry writes the variant on screen",
327327
"Accept all skips the conflict and says 1 conflict needs review");
328328

329-
foreach (var patch in new engine::DiffEngine.InlinePatch[]
329+
foreach (var patch in new[]
330330
{
331331
new(grouped, 6, "\"old value\"", "first new")
332332
{

0 commit comments

Comments
 (0)