From 4382641c9e53b0a3a6a5486a3e8ffcd9063f0a0c Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Wed, 8 Jul 2026 21:32:34 +1000 Subject: [PATCH 01/14] Update Directory.Packages.props --- src/Directory.Packages.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index de55bb7d6b..2bd80fadc4 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -7,12 +7,12 @@ - + - + From 15e26102cff1b1480280b1f854dd48f13a4be396 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Jul 2026 07:03:09 +1000 Subject: [PATCH 02/14] Bump YoloDev.Expecto.TestSdk from 0.15.6 to 0.16.0 (#1780) --- updated-dependencies: - dependency-name: YoloDev.Expecto.TestSdk dependency-version: 0.16.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 2bd80fadc4..3038e1bfa9 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -36,7 +36,7 @@ - + \ No newline at end of file From 85799bb2788260362561436ddde7308b3220fa69 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Thu, 9 Jul 2026 07:22:47 +1000 Subject: [PATCH 03/14] Allow conversion splitters for text extensions (#1778) * Allow conversion splitters for text extensions Allow conversion splitters for text extensions Previously RegisterStreamConverter threw for text extensions, and the splitter pipeline only handled stream targets, so a converter could not run against a text extension (eg html). - Drop the text-extension guard in RegisterStreamConverter - DoExtensionConversion now takes the Target itself and resolves the converter input from either a stream or a text (utf8) target, instead of reconstructing an illegal stream Target for text extensions - Scrub text targets before they are fed to a converter, so derived targets (eg rendered images) reflect the scrubbed content - Move converted-target scrubbing into DoExtensionConversion and pass already-converted targets through GetTargets untouched, so each text target is scrubbed exactly once (no double scrub of the re-emitted source) Add ExtensionConverterTests.TextSplitter covering a converter registered against a text extension. * . --------- Co-authored-by: Claude Opus 4.8 --- docs/converter.md | 39 +++++++++++ docs/mdsource/converter.source.md | 13 ++++ ...rTests.TextSplitter.verified.texttoconvert | 1 + ...onConverterTests.TextSplitter.verified.txt | 1 + .../Converters/ExtensionConverterTests.cs | 31 ++++++++ ...rifyChecksTests.GetExtensions.verified.txt | 1 + src/Verify/Compare/Png/PngSsimComparer.cs | 3 +- src/Verify/Splitters/Settings_Extension.cs | 5 -- src/Verify/Verifier/InnerVerifier_Inner.cs | 70 +++++++++++-------- src/Verify/Verifier/InnerVerifier_Stream.cs | 39 +++++++++-- 10 files changed, 159 insertions(+), 44 deletions(-) create mode 100644 src/Verify.Tests/Converters/ExtensionConverterTests.TextSplitter.verified.texttoconvert create mode 100644 src/Verify.Tests/Converters/ExtensionConverterTests.TextSplitter.verified.txt diff --git a/docs/converter.md b/docs/converter.md index af35c3ee2a..2efb49a29f 100644 --- a/docs/converter.md +++ b/docs/converter.md @@ -146,6 +146,45 @@ await VerifyFile("sample.tif"); +### Text extensions + +A stream converter can also be registered against a text extension. This is useful when a text document needs derived targets, for example rendering html to an image for visual verification. + +The text target is scrubbed before being passed to the converter, so any derived targets (for example a rendered image) reflect the scrubbed content. + +For a custom text extension, register it as text via `FileExtensions.AddTextExtension`. Built-in text extensions (for example `html` or `csv`) do not require this. + + + +```cs +// "texttoconvert" is a custom text extension, so register it as text first. +// For built-in text extensions (eg html or csv) this step is not required. +FileExtensions.AddTextExtension("texttoconvert"); + +// The input text is scrubbed before being passed to the converter, so any +// derived targets (eg a rendered image) reflect the scrubbed content. +VerifierSettings.RegisterStreamConverter( + "texttoconvert", + async (_, stream, _) => + new( + null, + [ + new("texttoconvert", await stream.ReadStringBuilderWithFixedLines()), + new("txt", "derived from text") + ])); +``` +snippet source | anchor + + + + +```cs +Verify("the source text", "texttoconvert"); +``` +snippet source | anchor + + + ### Cleanup If cleanup needs to occur after verification a callback can be passes to `ConversionResult`: diff --git a/docs/mdsource/converter.source.md b/docs/mdsource/converter.source.md index ba559678d3..033d4917b5 100644 --- a/docs/mdsource/converter.source.md +++ b/docs/mdsource/converter.source.md @@ -50,6 +50,19 @@ snippet: RegisterStreamConverterExtension snippet: FileConverterExtensionVerify +### Text extensions + +A stream converter can also be registered against a text extension. This is useful when a text document needs derived targets, for example rendering html to an image for visual verification. + +The text target is scrubbed before being passed to the converter, so any derived targets (for example a rendered image) reflect the scrubbed content. + +For a custom text extension, register it as text via `FileExtensions.AddTextExtension`. Built-in text extensions (for example `html` or `csv`) do not require this. + +snippet: RegisterStreamConverterTextExtension + +snippet: TextExtensionConverterVerify + + ### Cleanup If cleanup needs to occur after verification a callback can be passes to `ConversionResult`: diff --git a/src/Verify.Tests/Converters/ExtensionConverterTests.TextSplitter.verified.texttoconvert b/src/Verify.Tests/Converters/ExtensionConverterTests.TextSplitter.verified.texttoconvert new file mode 100644 index 0000000000..925839fe6a --- /dev/null +++ b/src/Verify.Tests/Converters/ExtensionConverterTests.TextSplitter.verified.texttoconvert @@ -0,0 +1 @@ +the source text \ No newline at end of file diff --git a/src/Verify.Tests/Converters/ExtensionConverterTests.TextSplitter.verified.txt b/src/Verify.Tests/Converters/ExtensionConverterTests.TextSplitter.verified.txt new file mode 100644 index 0000000000..f925c4ac50 --- /dev/null +++ b/src/Verify.Tests/Converters/ExtensionConverterTests.TextSplitter.verified.txt @@ -0,0 +1 @@ +derived from text \ No newline at end of file diff --git a/src/Verify.Tests/Converters/ExtensionConverterTests.cs b/src/Verify.Tests/Converters/ExtensionConverterTests.cs index 47615ae249..f0c992b7b1 100644 --- a/src/Verify.Tests/Converters/ExtensionConverterTests.cs +++ b/src/Verify.Tests/Converters/ExtensionConverterTests.cs @@ -1,5 +1,36 @@ public class ExtensionConverterTests { + [ModuleInitializer] + public static void TextSplitterInit() + { + #region RegisterStreamConverterTextExtension + + // "texttoconvert" is a custom text extension, so register it as text first. + // For built-in text extensions (eg html or csv) this step is not required. + FileExtensions.AddTextExtension("texttoconvert"); + + // The input text is scrubbed before being passed to the converter, so any + // derived targets (eg a rendered image) reflect the scrubbed content. + VerifierSettings.RegisterStreamConverter( + "texttoconvert", + async (_, stream, _) => + new( + null, + [ + new("texttoconvert", await stream.ReadStringBuilderWithFixedLines()), + new("txt", "derived from text") + ])); + + #endregion + } + + // a conversion splitter registered against a text extension + [Fact] + public Task TextSplitter() => + #region TextExtensionConverterVerify + Verify("the source text", "texttoconvert"); + #endregion + [ModuleInitializer] public static void RecursiveInit() => VerifierSettings.RegisterStreamConverter( diff --git a/src/Verify.Tests/InnerVerifyChecksTests/VerifyChecksTests.GetExtensions.verified.txt b/src/Verify.Tests/InnerVerifyChecksTests/VerifyChecksTests.GetExtensions.verified.txt index fa9ccb15e2..3956841f05 100644 --- a/src/Verify.Tests/InnerVerifyChecksTests/VerifyChecksTests.GetExtensions.verified.txt +++ b/src/Verify.Tests/InnerVerifyChecksTests/VerifyChecksTests.GetExtensions.verified.txt @@ -6,6 +6,7 @@ nuspec, props, staticComparerExt, + texttoconvert, txt, xml ] \ No newline at end of file diff --git a/src/Verify/Compare/Png/PngSsimComparer.cs b/src/Verify/Compare/Png/PngSsimComparer.cs index 1086ba79bc..1630c67a07 100644 --- a/src/Verify/Compare/Png/PngSsimComparer.cs +++ b/src/Verify/Compare/Png/PngSsimComparer.cs @@ -13,7 +13,8 @@ internal static Task Compare(Stream received, Stream verified, do var receivedImage = PngDecoder.Decode(received); var verifiedImage = PngDecoder.Decode(verified); - if (receivedImage.Width != verifiedImage.Width || receivedImage.Height != verifiedImage.Height) + if (receivedImage.Width != verifiedImage.Width || + receivedImage.Height != verifiedImage.Height) { return Task.FromResult(CompareResult.NotEqual( $"PNG dimensions differ. Received: {receivedImage.Width}x{receivedImage.Height}, Verified: {verifiedImage.Width}x{verifiedImage.Height}")); diff --git a/src/Verify/Splitters/Settings_Extension.cs b/src/Verify/Splitters/Settings_Extension.cs index 1577b61747..c166f70a26 100644 --- a/src/Verify/Splitters/Settings_Extension.cs +++ b/src/Verify/Splitters/Settings_Extension.cs @@ -23,11 +23,6 @@ public static void RegisterStreamConverter( { InnerVerifier.ThrowIfVerifyHasBeenRun(); Guards.AgainstBadExtension(extension); - if (FileExtensions.IsTextExtension(extension)) - { - throw new("RegisterStreamConverter is only supported for non-text extensions"); - } - extensionConverters[extension] = conversion; } } \ No newline at end of file diff --git a/src/Verify/Verifier/InnerVerifier_Inner.cs b/src/Verify/Verifier/InnerVerifier_Inner.cs index 4259a81f2d..221143d305 100644 --- a/src/Verify/Verifier/InnerVerifier_Inner.cs +++ b/src/Verify/Verifier/InnerVerifier_Inner.cs @@ -52,46 +52,54 @@ async Task VerifyInner(object? root, Func? cleanup, IEnumera { List list = [..targets, ..VerifierSettings.GetFileAppenders(settings)]; var cleanup = () => Task.CompletedTask; - if (doExtensionConversion) - { - var result = new List(); - foreach (var target in list) - { - if (!target.PerformConversion || - !VerifierSettings.HasStreamConverter(target.Extension)) - { - result.Add(target); - continue; - } - - var (info, converted, itemCleanup) = await DoExtensionConversion(target.Extension, target.StreamData, null, target.Name); - cleanup = cleanup.Then(itemCleanup); - if (info != null) - { - result.Add( - new( - settings.TxtOrJson, - JsonFormatter.AsJson( - settings, - counter, - info))); - } - - result.AddRange(converted); - } - list = result; + // When doExtensionConversion is false the targets have already been run through + // conversion and scrubbing (the only caller is the post-conversion stream path), + // so pass them through untouched to avoid double scrubbing. + if (!doExtensionConversion) + { + return (list, cleanup); } + var result = new List(); foreach (var target in list) { - if (target.TryGetStringBuilder(out var builder)) + if (!target.PerformConversion || + !VerifierSettings.HasStreamConverter(target.Extension)) { - ApplyScrubbers.ApplyForExtension(target.Extension, builder, settings, counter); + Scrub(target); + result.Add(target); + continue; } + + var (info, converted, itemCleanup) = await DoExtensionConversion(target, null); + cleanup = cleanup.Then(itemCleanup); + if (info != null) + { + Target infoTarget = new( + settings.TxtOrJson, + JsonFormatter.AsJson( + settings, + counter, + info)); + Scrub(infoTarget); + result.Add(infoTarget); + } + + // converted targets are scrubbed within DoExtensionConversion + result.AddRange(converted); } - return (list, cleanup); + return (result, cleanup); + } + + // Scrubs a text target in place. Stream (binary) targets are left untouched. + void Scrub(in Target target) + { + if (target.TryGetStringBuilder(out var builder)) + { + ApplyScrubbers.ApplyForExtension(target.Extension, builder, settings, counter); + } } bool TryGetRootTarget(object? root,bool ignoreNullRoot, [NotNullWhen(true)] out Target? target) diff --git a/src/Verify/Verifier/InnerVerifier_Stream.cs b/src/Verify/Verifier/InnerVerifier_Stream.cs index 7c66fb9c52..91a3550e4f 100644 --- a/src/Verify/Verifier/InnerVerifier_Stream.cs +++ b/src/Verify/Verifier/InnerVerifier_Stream.cs @@ -90,7 +90,8 @@ public async Task VerifyStream(Stream? stream, string extension, o { if (VerifierSettings.HasStreamConverter(extension)) { - var (newInfo, converted, cleanup) = await DoExtensionConversion(extension, stream, info, null); + var initial = await GetTarget(stream, extension); + var (newInfo, converted, cleanup) = await DoExtensionConversion(initial, info); return await VerifyInner(newInfo, cleanup, converted, false, true); } @@ -122,10 +123,15 @@ static async Task GetTarget(Stream stream, string extension) return new(extension, stream); } - //TODO: possibly pass in the target here - async Task<(object? info, List targets, Func cleanup)> DoExtensionConversion(string extension, Stream stream, object? info, string? name) + async Task<(object? info, List targets, Func cleanup)> DoExtensionConversion(Target initial, object? info) { - var cleanup = stream.DisposeAsyncEx; + var cleanup = () => Task.CompletedTask; + // the source stream of a stream target is owned here, so dispose it once consumed + if (initial.IsStream) + { + cleanup = cleanup.Then(initial.StreamData.DisposeAsyncEx); + } + var infos = new List(); if (info != null) { @@ -135,7 +141,7 @@ static async Task GetTarget(Stream stream, string extension) var targets = new List(); var queue = new Queue(); - queue.Enqueue(new(extension, stream, name)); + queue.Enqueue(initial); while (queue.Count > 0) { @@ -143,11 +149,29 @@ static async Task GetTarget(Stream stream, string extension) if (!VerifierSettings.TryGetStreamConverter(target.Extension, out var conversion)) { + // terminal target: scrub text before it is finalized + Scrub(target); targets.Add(target); continue; } - var targetStream = target.StreamData; + // scrub text before conversion so derived targets (eg rendered images) reflect the scrubbed content + Scrub(target); + + Stream targetStream; + if (target.IsStream) + { + targetStream = target.StreamData; + } + else + { + // a text target is fed to the converter as a utf8 stream + target.TryGetStringBuilder(out var builder); + var memory = new MemoryStream(Encoding.UTF8.GetBytes(builder!.ToString())); + cleanup = cleanup.Then(memory.DisposeAsyncEx); + targetStream = memory; + } + var result = await conversion(target.Name, targetStream, settings.Context); if (result.Cleanup != null) { @@ -163,7 +187,8 @@ static async Task GetTarget(Stream stream, string extension) foreach (var resultTarget in resultTargets) { - // if the same extension is returned. no need to re process + // if the same extension is returned. no need to re process. + // its content derives from the already scrubbed input, so it is not scrubbed again if (resultTarget.Extension == target.Extension) { targets.Add(resultTarget); From c5532a8266dc42075973406cb06ae32cd797f579 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Thu, 9 Jul 2026 07:23:02 +1000 Subject: [PATCH 04/14] Fix chunk boundary scrubber bugs and test adapter defects (#1779) * Fix chunk-boundary scrubber bugs and test-adapter defects Scrubbers (Verify core): - UserMachineScrubber: fix IndexOutOfRangeException when a match ends exactly on a chunk boundary with a following chunk (read the trailing char via the builder indexer instead of chunkSpan[neededFromCurrent]) - UserMachineScrubber, GuidScrubber, DirectoryReplacements: roll the carryover forward across chunks so a token spanning three or more chunks (with a middle chunk shorter than the token) is no longer silently left unscrubbed - DateFormatLengthCalculator: 'K' contributes 0 to the minimum length (it can render as "", "Z" or "+11:00"), so round-trip/"o" formats now scrub the Z and offset-less forms instead of only the offset form - LinesScrubber.ReplaceLines: guard the trailing-newline trim on the rebuilt builder length, not the original string length, fixing an ArgumentOutOfRangeException when every line is replaced with null Test-framework adapters: - MSTest Verifier: only apply TestData parameters when their count matches the method parameter count (matches XunitV3; params-array DataRows no longer break parameterized snapshot naming) - MSTest Verifier_Archive: forward the dropped archiveExtension in the VerifyZip(Stream) overload - MSTest TestExecutionContext: resolve Method lazily so the method scan runs only when a verifier is built - MSTest source generator: require an attribute list in the syntax predicate so the uncached CreateSyntaxProvider transform no longer runs semantic work for every class on every keystroke - NUnit VerifyBase_Tuple: pass sourceFile so snapshots resolve to the test's path rather than the package build path - NUnit VerifyBase_Stream: use settings ?? this.settings in the Task and ValueTask stream overloads so instance settings are honored Add repro tests for the scrubber fixes. * Docs changes --------- Co-authored-by: GitHub Action --- docs/guids.md | 4 +- .../UsesVerifyGenerator.cs | 6 ++- src/Verify.MSTest/TestExecutionContext.cs | 7 +++- src/Verify.MSTest/Verifier.cs | 7 +++- src/Verify.MSTest/Verifier_Archive.cs | 2 +- src/Verify.NUnit/VerifyBase_Stream.cs | 4 +- src/Verify.NUnit/VerifyBase_Tuple.cs | 2 +- .../DateFormatLengthCalculatorTests.cs | 7 +++- src/Verify.Tests/GuidScrubberTests.cs | 17 +++++++++ src/Verify.Tests/LinesScrubberTests.cs | 23 +++++++++++ .../DirectoryReplacementTests.cs | 16 ++++++++ .../UserMachineScrubberChunkTests.cs | 38 +++++++++++++++++++ .../Scrubbers/DateFormatLengthCalculator.cs | 4 +- .../DirectoryReplacements_StringBuilder.cs | 19 ++++++++-- .../Serialization/Scrubbers/GuidScrubber.cs | 19 ++++++++-- .../Serialization/Scrubbers/LinesScrubber.cs | 2 +- ...UserMachineScrubber_PerformReplacements.cs | 26 ++++++++++--- 17 files changed, 179 insertions(+), 24 deletions(-) create mode 100644 src/Verify.Tests/UserMachineScrubberChunkTests.cs diff --git a/docs/guids.md b/docs/guids.md index 16a66b1e86..a99d32809c 100644 --- a/docs/guids.md +++ b/docs/guids.md @@ -182,7 +182,7 @@ public Task NamedGuidFluent() .AddNamedGuid(guid, "instanceNamed"); } ``` -snippet source | anchor +snippet source | anchor @@ -217,7 +217,7 @@ public Task InferredNamedGuidFluent() .AddNamedGuid(namedGuid); } ``` -snippet source | anchor +snippet source | anchor Result: diff --git a/src/Verify.MSTest.SourceGenerator/UsesVerifyGenerator.cs b/src/Verify.MSTest.SourceGenerator/UsesVerifyGenerator.cs index 49dbf36cff..6257bac837 100644 --- a/src/Verify.MSTest.SourceGenerator/UsesVerifyGenerator.cs +++ b/src/Verify.MSTest.SourceGenerator/UsesVerifyGenerator.cs @@ -118,8 +118,12 @@ public void Initialize(IncrementalGeneratorInitializationContext context) static bool HasTestClassAttribute(INamedTypeSymbol symbol, INamedTypeSymbol testClassType) => !symbol.HasAttributeOfType(testClassType, includeDerived: true); + // Require at least one attribute list: both paths only care about classes + // carrying [UsesVerify] or [TestClass]. Without this filter the uncached + // CreateSyntaxProvider transform runs semantic work for every class in the + // consuming project on every keystroke. static bool IsSyntaxEligibleForGeneration(SyntaxNode node, Cancel _) => - node is ClassDeclarationSyntax; + node is ClassDeclarationSyntax { AttributeLists.Count: > 0 }; static bool IsAssemblyEligibleForGeneration(IAssemblySymbol assembly, INamedTypeSymbol markerType) => assembly.HasAttributeOfType(markerType, includeDerived: false); diff --git a/src/Verify.MSTest/TestExecutionContext.cs b/src/Verify.MSTest/TestExecutionContext.cs index 849d4c67b5..6ef42c6de4 100644 --- a/src/Verify.MSTest/TestExecutionContext.cs +++ b/src/Verify.MSTest/TestExecutionContext.cs @@ -3,7 +3,12 @@ namespace VerifyMSTest; public record TestExecutionContext(TestContext TestContext, Type TestClass) { public Assembly Assembly { get; } = TestClass.Assembly; - public MethodInfo Method { get; } = FindMethod(TestClass, TestContext); + + MethodInfo? method; + + // Resolved lazily: the method scan is only needed when a Verify call actually + // builds a verifier, not for every test that constructs a context. + public MethodInfo Method => method ??= FindMethod(TestClass, TestContext); static MethodInfo FindMethod(Type type, TestContext context) { diff --git a/src/Verify.MSTest/Verifier.cs b/src/Verify.MSTest/Verifier.cs index f309cd1069..4cfc040e60 100644 --- a/src/Verify.MSTest/Verifier.cs +++ b/src/Verify.MSTest/Verifier.cs @@ -33,7 +33,12 @@ public static InnerVerifier BuildVerifier(VerifySettings settings, string source if (!settings.HasParameters) { var data = context.TestContext.TestData; - if (data != null) + // Only apply when the data length matches the method parameter count. + // A params-array DataRow exposes raw pre-binding data whose length does + // not match the parameter count, which would break parameterized + // snapshot file naming. XunitV3 applies the same guard. + if (data != null && + data.Length == method.ParameterNames()?.Count) { settings.SetParameters(data); } diff --git a/src/Verify.MSTest/Verifier_Archive.cs b/src/Verify.MSTest/Verifier_Archive.cs index 503b4d645c..909f5b9b04 100644 --- a/src/Verify.MSTest/Verifier_Archive.cs +++ b/src/Verify.MSTest/Verifier_Archive.cs @@ -47,7 +47,7 @@ public static SettingsTask VerifyZip( bool persistArchive = false, string? archiveExtension = null, [CallerFilePath] string sourceFile = "") => - Verify(settings, sourceFile, _ => _.VerifyZip(stream, include, info, fileScrubber, includeStructure, persistArchive), true); + Verify(settings, sourceFile, _ => _.VerifyZip(stream, include, info, fileScrubber, includeStructure, persistArchive, archiveExtension), true); /// /// Verifies the contents of a diff --git a/src/Verify.NUnit/VerifyBase_Stream.cs b/src/Verify.NUnit/VerifyBase_Stream.cs index 40cb05edf7..6a277a6bff 100644 --- a/src/Verify.NUnit/VerifyBase_Stream.cs +++ b/src/Verify.NUnit/VerifyBase_Stream.cs @@ -40,7 +40,7 @@ public SettingsTask Verify( VerifySettings? settings = null, object? info = null) where T : Stream => - Verifier.Verify(target, extension, settings, info, sourceFile); + Verifier.Verify(target, extension, settings ?? this.settings, info, sourceFile); [Pure] public SettingsTask Verify( @@ -49,7 +49,7 @@ public SettingsTask Verify( VerifySettings? settings = null, object? info = null) where T : Stream => - Verifier.Verify(target, extension, settings, info, sourceFile); + Verifier.Verify(target, extension, settings ?? this.settings, info, sourceFile); [Pure] public SettingsTask Verify( diff --git a/src/Verify.NUnit/VerifyBase_Tuple.cs b/src/Verify.NUnit/VerifyBase_Tuple.cs index e2b6778a69..c87d275f12 100644 --- a/src/Verify.NUnit/VerifyBase_Tuple.cs +++ b/src/Verify.NUnit/VerifyBase_Tuple.cs @@ -7,6 +7,6 @@ public partial class VerifyBase public SettingsTask VerifyTuple( Expression> target, VerifySettings? settings = null) => - Verifier.VerifyTuple(target, settings ?? this.settings); + Verifier.VerifyTuple(target, settings ?? this.settings, sourceFile); } #endif \ No newline at end of file diff --git a/src/Verify.Tests/DateFormatLengthCalculatorTests.cs b/src/Verify.Tests/DateFormatLengthCalculatorTests.cs index 1de9ef6c82..c5962203e3 100644 --- a/src/Verify.Tests/DateFormatLengthCalculatorTests.cs +++ b/src/Verify.Tests/DateFormatLengthCalculatorTests.cs @@ -43,8 +43,11 @@ [InlineData("zz", 3, 3)] [InlineData("zzz", 6, 6)] [InlineData("zzzz", 6, 6)] - [InlineData("K", 6, 6)] - [InlineData("KK", 12, 12)] + // K renders as "" (Unspecified), "Z" (Utc, 1 char) or "+11:00" (offset, 6 chars), + // so its minimum contribution is 0 (not 6) — otherwise round-trip/"o" formats + // scrub only the offset form and leak the Z / offset-less forms. + [InlineData("K", 6, 0)] + [InlineData("KK", 12, 0)] [InlineData(":", 1, 1)] [InlineData("':'", 1, 1)] [InlineData("/", 1, 1)] diff --git a/src/Verify.Tests/GuidScrubberTests.cs b/src/Verify.Tests/GuidScrubberTests.cs index ef0787a4b1..531b80d042 100644 --- a/src/Verify.Tests/GuidScrubberTests.cs +++ b/src/Verify.Tests/GuidScrubberTests.cs @@ -101,6 +101,23 @@ public void MultipleChunks() Assert.Equal("[Guid_1][Guid_2]", builder.ToString()); } + [Fact] + public void GuidSpanningThreeChunks() + { + // Capacity 4 forces small chunks [4][4][rest]; the 36-char guid spans all + // three, and the 4-char middle chunk is shorter than the 35-char carryover. + // The carryover must accumulate across chunks or the prefix is dropped and + // the guid is never found (silent leak). + var guid = "173535ae-995b-4cc6-a74e-8cd4be57039c"; + var builder = new StringBuilder(capacity: 4); + builder.Append(guid[..4]); // chunk0 + builder.Append(guid[4..8]); // chunk1 (short middle chunk) + builder.Append(guid[8..]); // chunk2 + using var counter = Counter.Start(); + GuidScrubber.ReplaceGuids(builder, counter); + Assert.Equal("Guid_1", builder.ToString()); + } + #region NamedGuidFluent [Fact] diff --git a/src/Verify.Tests/LinesScrubberTests.cs b/src/Verify.Tests/LinesScrubberTests.cs index b3c8773908..8bf274259e 100644 --- a/src/Verify.Tests/LinesScrubberTests.cs +++ b/src/Verify.Tests/LinesScrubberTests.cs @@ -78,6 +78,29 @@ public Task ScrubLinesContaining_case_sensitive() """); } + [Fact] + public void ReplaceLines_AllRemovedNoTrailingNewline() + { + // Single line, no trailing newline, and every line replaced with null. + // The trailing-newline trim must guard on the rebuilt builder length, not + // the original string length, otherwise Length -= 1 underflows. + var builder = new StringBuilder("single line"); + + builder.ReplaceLines(_ => null); + + Assert.Equal(string.Empty, builder.ToString()); + } + + [Fact] + public void ReplaceLines_ReplacesLines() + { + var builder = new StringBuilder("a\nb\nc"); + + builder.ReplaceLines(line => line == "b" ? "B" : line); + + Assert.Equal("a\nB\nc", builder.ToString()); + } + [Fact] public void FilterLines_RemovesSingleLine() { diff --git a/src/Verify.Tests/Serialization/DirectoryReplacementTests.cs b/src/Verify.Tests/Serialization/DirectoryReplacementTests.cs index 0f21ae77fa..2bf72fa5b1 100644 --- a/src/Verify.Tests/Serialization/DirectoryReplacementTests.cs +++ b/src/Verify.Tests/Serialization/DirectoryReplacementTests.cs @@ -45,6 +45,22 @@ public void MultipleChunks() Assert.Equal("{Child} {Parent} ", builder.ToString()); } + [Fact] + public void PathSpanningThreeChunks() + { + // Capacity 4 forces small chunks [4][4][rest]; the 16-char path spans all + // three, and the 4-char middle chunk is shorter than the carryover. The + // carryover must accumulate across chunks or the prefix is dropped and the + // path leaks unscrubbed. + List pairs = [new("C:/Parent/ChildX", "{replace}")]; + var builder = new StringBuilder(capacity: 4); + builder.Append("C:/P"); // chunk0 + builder.Append("aren"); // chunk1 (short middle chunk) + builder.Append("t/ChildX."); + DirectoryReplacements.Replace(builder, pairs); + Assert.Equal("{replace}.", builder.ToString()); + } + [Fact] public void ProcessLongerDirectoryFirst() { diff --git a/src/Verify.Tests/UserMachineScrubberChunkTests.cs b/src/Verify.Tests/UserMachineScrubberChunkTests.cs new file mode 100644 index 0000000000..05ae116999 --- /dev/null +++ b/src/Verify.Tests/UserMachineScrubberChunkTests.cs @@ -0,0 +1,38 @@ +public class UserMachineScrubberChunkTests +{ + [Fact] + public void CrossChunkMatchEndingExactlyAtChunkBoundary() + { + // "ABCD" fills the capacity-4 chunk; the next append lands in a fresh + // 16-char chunk holding the remaining 16 chars of the 20-char match, so + // the match ends exactly at that chunk's boundary with a chunk after it. + // The trailing-char check must not read chunkSpan[chunkSpan.Length]. + var builder = new StringBuilder(capacity: 4); + builder.Append("ABCD"); + builder.Append("EFGHIJKLMNOPQRST"); + builder.Append('.'); + + UserMachineScrubber.PerformReplacements(builder, "ABCDEFGHIJKLMNOPQRST", "TheUserName"); + + Assert.Equal("TheUserName.", builder.ToString()); + } + + [Fact] + public void TokenSpanningThreeChunks() + { + // Capacity 4 forces small chunks [4][4][…]. The 10-char match spans all + // three, and the 4-char middle chunk is shorter than the match. The + // carryover must accumulate across chunks; otherwise the first chunk's + // prefix is dropped when the short middle chunk overwrites it, and the + // match is never found (silent leak). + var find = "ABCDEFGHIJ"; // 10 chars + var builder = new StringBuilder(capacity: 4); + builder.Append("ABCD"); // chunk0 = find[0..4] + builder.Append("EFGH"); // chunk1 = find[4..8] (short middle chunk) + builder.Append("IJ."); // chunk2 = find[8..10] + wrapper + + UserMachineScrubber.PerformReplacements(builder, find, "TheUserName"); + + Assert.Equal("TheUserName.", builder.ToString()); + } +} diff --git a/src/Verify/Serialization/Scrubbers/DateFormatLengthCalculator.cs b/src/Verify/Serialization/Scrubbers/DateFormatLengthCalculator.cs index 00e9a6d5c7..83da6d81ee 100644 --- a/src/Verify/Serialization/Scrubbers/DateFormatLengthCalculator.cs +++ b/src/Verify/Serialization/Scrubbers/DateFormatLengthCalculator.cs @@ -179,8 +179,10 @@ public static (int max, int min) InnerGetLength(scoped CharSpan format, Culture break; case 'K': + // K renders as "" (Unspecified), "Z" (Utc, 1 char) or + // "+11:00" (offset, 6 chars), so it can contribute as few as + // 0 chars. Only the maximum is 6; the minimum stays 0. tokenLen = 1; - minLength += 6; maxLength += 6; break; case ':': diff --git a/src/Verify/Serialization/Scrubbers/DirectoryReplacements_StringBuilder.cs b/src/Verify/Serialization/Scrubbers/DirectoryReplacements_StringBuilder.cs index 3484f62dbf..653eca376d 100644 --- a/src/Verify/Serialization/Scrubbers/DirectoryReplacements_StringBuilder.cs +++ b/src/Verify/Serialization/Scrubbers/DirectoryReplacements_StringBuilder.cs @@ -169,9 +169,22 @@ static List FindMatches(StringBuilder builder, List pairs) } } - // Save last N chars for next iteration - carryoverLength = Math.Min(carryoverSize, chunk.Length); - chunkSpan.Slice(chunk.Length - carryoverLength, carryoverLength).CopyTo(carryoverBuffer); + // Roll the carryover forward: keep the last carryoverSize chars of + // everything seen so far. Rebuilding it from the current chunk alone + // drops the prefix when a chunk is shorter than carryoverSize, so a + // path spanning three or more chunks would never be found. + if (chunk.Length >= carryoverSize) + { + chunkSpan.Slice(chunk.Length - carryoverSize, carryoverSize).CopyTo(carryoverBuffer); + carryoverLength = carryoverSize; + } + else + { + var keep = Math.Min(carryoverLength, carryoverSize - chunk.Length); + carryoverBuffer.Slice(carryoverLength - keep, keep).CopyTo(carryoverBuffer); + chunkSpan.CopyTo(carryoverBuffer[keep..]); + carryoverLength = keep + chunk.Length; + } previousChunkAbsoluteEnd = absolutePosition + chunk.Length; absolutePosition += chunk.Length; diff --git a/src/Verify/Serialization/Scrubbers/GuidScrubber.cs b/src/Verify/Serialization/Scrubbers/GuidScrubber.cs index 15310f152a..84162387cb 100644 --- a/src/Verify/Serialization/Scrubbers/GuidScrubber.cs +++ b/src/Verify/Serialization/Scrubbers/GuidScrubber.cs @@ -117,9 +117,22 @@ static List FindMatches(StringBuilder builder, Counter counter) } } - // Save last 35 chars for next iteration - carryoverLength = Math.Min(35, chunk.Length); - chunkSpan.Slice(chunk.Length - carryoverLength, carryoverLength).CopyTo(carryoverBuffer); + // Roll the carryover forward: keep the last 35 chars of everything seen + // so far. Rebuilding it from the current chunk alone drops the prefix + // when a chunk is shorter than 35, so a guid spanning three or more + // chunks would never be found. + if (chunk.Length >= 35) + { + chunkSpan.Slice(chunk.Length - 35, 35).CopyTo(carryoverBuffer); + carryoverLength = 35; + } + else + { + var keep = Math.Min(carryoverLength, 35 - chunk.Length); + carryoverBuffer.Slice(carryoverLength - keep, keep).CopyTo(carryoverBuffer); + chunkSpan.CopyTo(carryoverBuffer[keep..]); + carryoverLength = keep + chunk.Length; + } previousChunkAbsoluteEnd = absolutePosition + chunk.Length; absolutePosition += chunk.Length; diff --git a/src/Verify/Serialization/Scrubbers/LinesScrubber.cs b/src/Verify/Serialization/Scrubbers/LinesScrubber.cs index 8fe186e16a..56d480410d 100644 --- a/src/Verify/Serialization/Scrubbers/LinesScrubber.cs +++ b/src/Verify/Serialization/Scrubbers/LinesScrubber.cs @@ -31,7 +31,7 @@ public static void ReplaceLines(this StringBuilder input, Func } } - if (theString.Length > 0 && + if (input.Length > 0 && !theString.EndsWith('\n')) { input.Length -= 1; diff --git a/src/Verify/Serialization/Scrubbers/UserMachineScrubber_PerformReplacements.cs b/src/Verify/Serialization/Scrubbers/UserMachineScrubber_PerformReplacements.cs index 499f4ce8e8..0ff8489054 100644 --- a/src/Verify/Serialization/Scrubbers/UserMachineScrubber_PerformReplacements.cs +++ b/src/Verify/Serialization/Scrubbers/UserMachineScrubber_PerformReplacements.cs @@ -72,10 +72,13 @@ static List FindMatches(StringBuilder builder, string find) continue; } - // Check trailing character + // Check trailing character. Use the builder indexer rather + // than chunkSpan[neededFromCurrent], which is out of range when + // the match ends exactly at this chunk's boundary, so the check + // still works when there is a following chunk. var endPosition = startPosition + find.Length; var validEnd = endPosition >= builder.Length || - IsValidWrapper(chunkSpan[neededFromCurrent]); + IsValidWrapper(builder[endPosition]); if (!validEnd) { @@ -115,9 +118,22 @@ static List FindMatches(StringBuilder builder, string find) } } - // Save last N chars for next iteration - carryoverLength = Math.Min(carryoverSize, chunk.Length); - chunkSpan.Slice(chunk.Length - carryoverLength, carryoverLength).CopyTo(carryoverBuffer); + // Roll the carryover forward: keep the last carryoverSize chars of + // everything seen so far. Rebuilding it from the current chunk alone + // drops the prefix when a chunk is shorter than the search string, so + // a token spanning three or more chunks would never be found. + if (chunk.Length >= carryoverSize) + { + chunkSpan.Slice(chunk.Length - carryoverSize, carryoverSize).CopyTo(carryoverBuffer); + carryoverLength = carryoverSize; + } + else + { + var keep = Math.Min(carryoverLength, carryoverSize - chunk.Length); + carryoverBuffer.Slice(carryoverLength - keep, keep).CopyTo(carryoverBuffer); + chunkSpan.CopyTo(carryoverBuffer[keep..]); + carryoverLength = keep + chunk.Length; + } previousChunkAbsoluteEnd = absolutePosition + chunk.Length; absolutePosition += chunk.Length; From 9ca08edd78d1613513ce8ac3f9b890a018b3aa2d Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Thu, 9 Jul 2026 07:25:35 +1000 Subject: [PATCH 05/14] Update Directory.Build.props --- src/Directory.Build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 4dfe3242db..c94a4f1f81 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -2,7 +2,7 @@ CA1822;CS1591;CS0649;xUnit1026;xUnit1013;CS1573;VerifyTestsProjectDir;VerifySetParameters;PolyFillTargetsForNuget;xUnit1051;NU1608;NU1109 - 31.21.0 + 31.22.0 enable preview 1.0.0 From 5a5f656a95249d9f69bf284968b9644633fdaaf7 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Thu, 9 Jul 2026 07:25:40 +1000 Subject: [PATCH 06/14] Update Directory.Packages.props --- src/Directory.Packages.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 3038e1bfa9..a1e4ca5f1a 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -19,8 +19,8 @@ - - + + From e845a4429271a9885e2af2782a687b3aaea08228 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Thu, 9 Jul 2026 07:35:51 +1000 Subject: [PATCH 07/14] Revert "Update Directory.Packages.props" This reverts commit 5a5f656a95249d9f69bf284968b9644633fdaaf7. --- src/Directory.Packages.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index a1e4ca5f1a..3038e1bfa9 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -19,8 +19,8 @@ - - + + From f16f9705bb7897846434d7dd2088c8c29f73b560 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Thu, 9 Jul 2026 14:54:37 +1000 Subject: [PATCH 08/14] Guard against duplicate xunit attachment names (#1783) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A test can add the same received file as an attachment more than once — e.g. several failing Verify calls that share a received name via DisableRequireUniquePrefix. xunit's AddAttachment throws on a duplicate name, surfacing as an ArgumentException instead of the expected VerifyException. Skip the add when the name is already attached. --- src/Verify.XunitV3.Tests/AttachmentTests.cs | 22 +++++++++++++++++++++ src/Verify.XunitV3/Verifier.cs | 18 +++++++++++++---- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/src/Verify.XunitV3.Tests/AttachmentTests.cs b/src/Verify.XunitV3.Tests/AttachmentTests.cs index 60e245760b..983357fec1 100644 --- a/src/Verify.XunitV3.Tests/AttachmentTests.cs +++ b/src/Verify.XunitV3.Tests/AttachmentTests.cs @@ -42,5 +42,27 @@ void Delete() Assert.EndsWith(".received.txt", key); Assert.DoesNotContain(':', key); } + + [Fact] + public async Task DuplicateAttachmentName() + { + DiffEngine.BuildServerDetector.Detected = true; + var verified = Path.GetFullPath(CurrentFile.Relative("AttachmentTests.DuplicateAttachmentName.verified.txt")); + File.Delete(verified); + await File.WriteAllTextAsync(verified, "expected"); + var settings = new VerifySettings(); + settings.DisableRequireUniquePrefix(); + + // Both failing verifies share one received file name, so it is added as an attachment + // twice. Without the dedup guard in AddFile the second add throws ArgumentException + // instead of the expected VerifyException. + await Assert.ThrowsAsync(() => Verify("one", settings)); + await Assert.ThrowsAsync(() => Verify("two", settings)); + + File.Delete(verified); + + var key = Assert.Single(TestContext.Current.Attachments!).Key; + Assert.EndsWith(".received.txt", key); + } #endif } \ No newline at end of file diff --git a/src/Verify.XunitV3/Verifier.cs b/src/Verify.XunitV3/Verifier.cs index 3e87dbaade..1965d714ec 100644 --- a/src/Verify.XunitV3/Verifier.cs +++ b/src/Verify.XunitV3/Verifier.cs @@ -3,10 +3,20 @@ namespace VerifyXunit; public static partial class Verifier { - static async Task AddFile(string path) => - TestContext.Current.AddAttachment( - GetAttachmentName(path), - await File.ReadAllBytesAsync(path)); + static async Task AddFile(string path) + { + var name = GetAttachmentName(path); + var context = TestContext.Current; + // A single test can produce the same received file name from multiple failing + // Verify calls (e.g. when DisableRequireUniquePrefix is used). xunit throws on a + // duplicate attachment name, so skip if it has already been added. + if (context.Attachments?.ContainsKey(name) == true) + { + return; + } + + context.AddAttachment(name, await File.ReadAllBytesAsync(path)); + } internal static string GetAttachmentName(string path) { From 4beedccef96a6824d6fe48aa0d39c635bd1e9ad0 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Thu, 9 Jul 2026 16:05:56 +1000 Subject: [PATCH 09/14] Migrate CI to Microsoft.Testing.Platform so all tests run (#1782) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Migrate CI to Microsoft.Testing.Platform so all tests run The .NET 10+ SDK's legacy `dotnet test` silently no-ops MTP test apps ("No test is available", exit 0), so CI was green while running none of the xUnit v3 projects (Verify.Tests, StrictJsonTests, Verify.XunitV3.Tests, ...) or the Expecto projects. - global.json: enable the MTP `dotnet test` runner. - NUnit/MSTest test projects: EnableNUnitRunner/EnableMSTestRunner, plus RootNamespace=Fake (as Verify.Tests already does) so the generated MTP entry point doesn't introduce a `Verify` namespace that shadows the Verify() method, and OutputType=Exe so the net48 targets are runnable. - Expecto: run via `dotnet run` (runnable exe, no MTP runner). - Fixie: run via the fixie.console tool (no MTP runner); its tool manifest is under src/.config so it must run from src. - Comment out Verify.Expecto.Tests/VerifyChecksTests.cs to match every other adapter — it was the only one left live and can't pass in-repo (VerifyChecks scans the whole solution and hits the intentional Invalid fixture); it was hidden by Expecto never running. - Regenerate readme.md and docs/wiz/* (snippet line anchors shifted). - Accept snapshots that drifted while the tests weren't running (DictionaryOrderOrdinal, DateTime[Offset]Combinations, MultilineStringInArray, ScrubNumericIdsUlong). * Fix Verify.Expecto.DerivePaths.Tests racing under parallel execution These tests mutate global Verify state (UseProjectRelativeDirectory, UseSourceFileRelativeDirectory), which throw once any Verify has run. Under Expecto's default parallel execution they raced and errored intermittently, exposed now that the project actually runs under the MTP migration. Mirror the other adapters' DerivePaths tests: - Call VerifierSettings.Reset() in each test to clear verifyHasBeenRun. - Run --sequenced so the global-state tests do not run in parallel. - Sign the assembly and add InternalsVisibleTo so the internal Reset() is accessible (every other DerivePaths test project already has this). * . * Create NewLineTests.TrailingNewlinesRaw.verified.txt * Update appveyor.yml --- docs/wiz/Linux_Other_Cli_Expecto_AppVeyor.md | 2 +- .../Linux_Other_Cli_Expecto_AzureDevOps.md | 2 +- .../Linux_Other_Cli_Expecto_GitHubActions.md | 2 +- docs/wiz/Linux_Other_Cli_Expecto_None.md | 2 +- docs/wiz/Linux_Other_Gui_Expecto_AppVeyor.md | 2 +- .../Linux_Other_Gui_Expecto_AzureDevOps.md | 2 +- .../Linux_Other_Gui_Expecto_GitHubActions.md | 2 +- docs/wiz/Linux_Other_Gui_Expecto_None.md | 2 +- docs/wiz/Linux_Rider_Cli_Expecto_AppVeyor.md | 2 +- .../Linux_Rider_Cli_Expecto_AzureDevOps.md | 2 +- .../Linux_Rider_Cli_Expecto_GitHubActions.md | 2 +- docs/wiz/Linux_Rider_Cli_Expecto_None.md | 2 +- docs/wiz/Linux_Rider_Gui_Expecto_AppVeyor.md | 2 +- .../Linux_Rider_Gui_Expecto_AzureDevOps.md | 2 +- .../Linux_Rider_Gui_Expecto_GitHubActions.md | 2 +- docs/wiz/Linux_Rider_Gui_Expecto_None.md | 2 +- docs/wiz/MacOS_Other_Cli_Expecto_AppVeyor.md | 2 +- .../MacOS_Other_Cli_Expecto_AzureDevOps.md | 2 +- .../MacOS_Other_Cli_Expecto_GitHubActions.md | 2 +- docs/wiz/MacOS_Other_Cli_Expecto_None.md | 2 +- docs/wiz/MacOS_Other_Gui_Expecto_AppVeyor.md | 2 +- .../MacOS_Other_Gui_Expecto_AzureDevOps.md | 2 +- .../MacOS_Other_Gui_Expecto_GitHubActions.md | 2 +- docs/wiz/MacOS_Other_Gui_Expecto_None.md | 2 +- docs/wiz/MacOS_Rider_Cli_Expecto_AppVeyor.md | 2 +- .../MacOS_Rider_Cli_Expecto_AzureDevOps.md | 2 +- .../MacOS_Rider_Cli_Expecto_GitHubActions.md | 2 +- docs/wiz/MacOS_Rider_Cli_Expecto_None.md | 2 +- docs/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.md | 2 +- .../MacOS_Rider_Gui_Expecto_AzureDevOps.md | 2 +- .../MacOS_Rider_Gui_Expecto_GitHubActions.md | 2 +- docs/wiz/MacOS_Rider_Gui_Expecto_None.md | 2 +- .../wiz/Windows_Other_Cli_Expecto_AppVeyor.md | 2 +- .../Windows_Other_Cli_Expecto_AzureDevOps.md | 2 +- ...Windows_Other_Cli_Expecto_GitHubActions.md | 2 +- docs/wiz/Windows_Other_Cli_Expecto_None.md | 2 +- .../wiz/Windows_Other_Gui_Expecto_AppVeyor.md | 2 +- .../Windows_Other_Gui_Expecto_AzureDevOps.md | 2 +- ...Windows_Other_Gui_Expecto_GitHubActions.md | 2 +- docs/wiz/Windows_Other_Gui_Expecto_None.md | 2 +- .../wiz/Windows_Rider_Cli_Expecto_AppVeyor.md | 2 +- .../Windows_Rider_Cli_Expecto_AzureDevOps.md | 2 +- ...Windows_Rider_Cli_Expecto_GitHubActions.md | 2 +- docs/wiz/Windows_Rider_Cli_Expecto_None.md | 2 +- .../wiz/Windows_Rider_Gui_Expecto_AppVeyor.md | 2 +- .../Windows_Rider_Gui_Expecto_AzureDevOps.md | 2 +- ...Windows_Rider_Gui_Expecto_GitHubActions.md | 2 +- docs/wiz/Windows_Rider_Gui_Expecto_None.md | 2 +- ...tudioWithReSharper_Cli_Expecto_AppVeyor.md | 2 +- ...ioWithReSharper_Cli_Expecto_AzureDevOps.md | 2 +- ...WithReSharper_Cli_Expecto_GitHubActions.md | 2 +- ...ualStudioWithReSharper_Cli_Expecto_None.md | 2 +- ...tudioWithReSharper_Gui_Expecto_AppVeyor.md | 2 +- ...ioWithReSharper_Gui_Expecto_AzureDevOps.md | 2 +- ...WithReSharper_Gui_Expecto_GitHubActions.md | 2 +- ...ualStudioWithReSharper_Gui_Expecto_None.md | 2 +- ...ndows_VisualStudio_Cli_Expecto_AppVeyor.md | 2 +- ...ws_VisualStudio_Cli_Expecto_AzureDevOps.md | 2 +- ..._VisualStudio_Cli_Expecto_GitHubActions.md | 2 +- .../Windows_VisualStudio_Cli_Expecto_None.md | 2 +- ...ndows_VisualStudio_Gui_Expecto_AppVeyor.md | 2 +- ...ws_VisualStudio_Gui_Expecto_AzureDevOps.md | 2 +- ..._VisualStudio_Gui_Expecto_GitHubActions.md | 2 +- .../Windows_VisualStudio_Gui_Expecto_None.md | 2 +- global.json | 5 +- readme.md | 2 +- ...Tests.DictionaryOrderOrdinal.verified.json | 4 +- ...Tests.DictionaryOrderOrdinal.verified.json | 4 +- ...Tests.MultilineStringInArray.verified.json | 4 ++ ...onTests.ScrubNumericIdsUlong.verified.json | 3 + .../Program.cs | 4 +- src/Verify.Expecto.DerivePaths.Tests/Tests.cs | 4 ++ .../Verify.Expecto.DerivePaths.Tests.csproj | 1 - src/Verify.Expecto.Tests/VerifyChecksTests.cs | 6 +- .../Verify.MSTest.DerivePaths.Tests.csproj | 2 + ...ify.MSTest.DisableAttachments.Tests.csproj | 3 + ...Verify.MSTest.SourceGenerator.Tests.csproj | 2 + .../Verify.MSTest.Tests.csproj | 3 + .../Verify.NUnit.DerivePaths.Tests.csproj | 2 + ...rify.NUnit.DisableAttachments.Tests.csproj | 3 + .../Verify.NUnit.Tests.csproj | 3 + ...terTests.DateTimeCombinations.verified.txt | 52 +++++++++--------- ...ts.DateTimeOffsetCombinations.verified.txt | 36 ++++++------ ...LineTests.TrailingNewlinesRaw.verified.txt | 1 + ...rTests.DictionaryOrderOrdinal.verified.txt | 4 +- ...nTests.DictionaryOrderOrdinal.verified.txt | 4 +- ...erSnippets.InstanceSsimForPng.verified.png | Bin 0 -> 4621 bytes ...pets.InstanceSsimForPngFluent.verified.png | Bin 0 -> 4621 bytes src/Verify/InternalsVisibleTo.cs | 1 + src/appveyor.yml | 10 +++- 90 files changed, 166 insertions(+), 125 deletions(-) create mode 100644 src/StrictJsonTests/SerializationTests.MultilineStringInArray.verified.json create mode 100644 src/StrictJsonTests/SerializationTests.ScrubNumericIdsUlong.verified.json create mode 100644 src/Verify.Tests/NewLineTests.TrailingNewlinesRaw.verified.txt create mode 100644 src/Verify.Tests/Snippets/ComparerSnippets.InstanceSsimForPng.verified.png create mode 100644 src/Verify.Tests/Snippets/ComparerSnippets.InstanceSsimForPngFluent.verified.png diff --git a/docs/wiz/Linux_Other_Cli_Expecto_AppVeyor.md b/docs/wiz/Linux_Other_Cli_Expecto_AppVeyor.md index c614d65b56..5db9f1a9f1 100644 --- a/docs/wiz/Linux_Other_Cli_Expecto_AppVeyor.md +++ b/docs/wiz/Linux_Other_Cli_Expecto_AppVeyor.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/Linux_Other_Cli_Expecto_AzureDevOps.md b/docs/wiz/Linux_Other_Cli_Expecto_AzureDevOps.md index 49a88dca0a..2a2cb024e0 100644 --- a/docs/wiz/Linux_Other_Cli_Expecto_AzureDevOps.md +++ b/docs/wiz/Linux_Other_Cli_Expecto_AzureDevOps.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/Linux_Other_Cli_Expecto_GitHubActions.md b/docs/wiz/Linux_Other_Cli_Expecto_GitHubActions.md index fd37341175..234a7aade4 100644 --- a/docs/wiz/Linux_Other_Cli_Expecto_GitHubActions.md +++ b/docs/wiz/Linux_Other_Cli_Expecto_GitHubActions.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/Linux_Other_Cli_Expecto_None.md b/docs/wiz/Linux_Other_Cli_Expecto_None.md index 46c39414ca..8f6a5b9ab4 100644 --- a/docs/wiz/Linux_Other_Cli_Expecto_None.md +++ b/docs/wiz/Linux_Other_Cli_Expecto_None.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/Linux_Other_Gui_Expecto_AppVeyor.md b/docs/wiz/Linux_Other_Gui_Expecto_AppVeyor.md index 92ff0f8cdc..e3ce29dc28 100644 --- a/docs/wiz/Linux_Other_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/Linux_Other_Gui_Expecto_AppVeyor.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/Linux_Other_Gui_Expecto_AzureDevOps.md b/docs/wiz/Linux_Other_Gui_Expecto_AzureDevOps.md index 30f591b869..327e3f53d4 100644 --- a/docs/wiz/Linux_Other_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/Linux_Other_Gui_Expecto_AzureDevOps.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/Linux_Other_Gui_Expecto_GitHubActions.md b/docs/wiz/Linux_Other_Gui_Expecto_GitHubActions.md index 860b471c01..b51921e2ea 100644 --- a/docs/wiz/Linux_Other_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/Linux_Other_Gui_Expecto_GitHubActions.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/Linux_Other_Gui_Expecto_None.md b/docs/wiz/Linux_Other_Gui_Expecto_None.md index 62e3e8b1fd..cf5ea848a9 100644 --- a/docs/wiz/Linux_Other_Gui_Expecto_None.md +++ b/docs/wiz/Linux_Other_Gui_Expecto_None.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/Linux_Rider_Cli_Expecto_AppVeyor.md b/docs/wiz/Linux_Rider_Cli_Expecto_AppVeyor.md index 66a86aeaa1..f7aa60f60f 100644 --- a/docs/wiz/Linux_Rider_Cli_Expecto_AppVeyor.md +++ b/docs/wiz/Linux_Rider_Cli_Expecto_AppVeyor.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Cli_Expecto_AzureDevOps.md b/docs/wiz/Linux_Rider_Cli_Expecto_AzureDevOps.md index cb7c9c3a2b..58f5d24727 100644 --- a/docs/wiz/Linux_Rider_Cli_Expecto_AzureDevOps.md +++ b/docs/wiz/Linux_Rider_Cli_Expecto_AzureDevOps.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Cli_Expecto_GitHubActions.md b/docs/wiz/Linux_Rider_Cli_Expecto_GitHubActions.md index d5fa14fd43..5bd7bfe37c 100644 --- a/docs/wiz/Linux_Rider_Cli_Expecto_GitHubActions.md +++ b/docs/wiz/Linux_Rider_Cli_Expecto_GitHubActions.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Cli_Expecto_None.md b/docs/wiz/Linux_Rider_Cli_Expecto_None.md index 6959ca0c5b..d51673c99c 100644 --- a/docs/wiz/Linux_Rider_Cli_Expecto_None.md +++ b/docs/wiz/Linux_Rider_Cli_Expecto_None.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_Expecto_AppVeyor.md b/docs/wiz/Linux_Rider_Gui_Expecto_AppVeyor.md index fe0ceee653..65e7bac984 100644 --- a/docs/wiz/Linux_Rider_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/Linux_Rider_Gui_Expecto_AppVeyor.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.md b/docs/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.md index 4c7d5abacf..29a9dd37c6 100644 --- a/docs/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_Expecto_GitHubActions.md b/docs/wiz/Linux_Rider_Gui_Expecto_GitHubActions.md index f33d49c404..033c50cbbf 100644 --- a/docs/wiz/Linux_Rider_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/Linux_Rider_Gui_Expecto_GitHubActions.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_Expecto_None.md b/docs/wiz/Linux_Rider_Gui_Expecto_None.md index 91c4e410c5..a08bd30af6 100644 --- a/docs/wiz/Linux_Rider_Gui_Expecto_None.md +++ b/docs/wiz/Linux_Rider_Gui_Expecto_None.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Cli_Expecto_AppVeyor.md b/docs/wiz/MacOS_Other_Cli_Expecto_AppVeyor.md index a2d51b2333..07c9b7972d 100644 --- a/docs/wiz/MacOS_Other_Cli_Expecto_AppVeyor.md +++ b/docs/wiz/MacOS_Other_Cli_Expecto_AppVeyor.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/MacOS_Other_Cli_Expecto_AzureDevOps.md b/docs/wiz/MacOS_Other_Cli_Expecto_AzureDevOps.md index c1f31da500..b9e6b12c94 100644 --- a/docs/wiz/MacOS_Other_Cli_Expecto_AzureDevOps.md +++ b/docs/wiz/MacOS_Other_Cli_Expecto_AzureDevOps.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/MacOS_Other_Cli_Expecto_GitHubActions.md b/docs/wiz/MacOS_Other_Cli_Expecto_GitHubActions.md index 8d8a5e65b1..8360a4a74f 100644 --- a/docs/wiz/MacOS_Other_Cli_Expecto_GitHubActions.md +++ b/docs/wiz/MacOS_Other_Cli_Expecto_GitHubActions.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/MacOS_Other_Cli_Expecto_None.md b/docs/wiz/MacOS_Other_Cli_Expecto_None.md index af691df013..8a9107e369 100644 --- a/docs/wiz/MacOS_Other_Cli_Expecto_None.md +++ b/docs/wiz/MacOS_Other_Cli_Expecto_None.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/MacOS_Other_Gui_Expecto_AppVeyor.md b/docs/wiz/MacOS_Other_Gui_Expecto_AppVeyor.md index 9c524c1278..25063f0292 100644 --- a/docs/wiz/MacOS_Other_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/MacOS_Other_Gui_Expecto_AppVeyor.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.md b/docs/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.md index 8e42b12d17..47c77a3fc2 100644 --- a/docs/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/MacOS_Other_Gui_Expecto_GitHubActions.md b/docs/wiz/MacOS_Other_Gui_Expecto_GitHubActions.md index 158e7b3f93..b1a211e15b 100644 --- a/docs/wiz/MacOS_Other_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/MacOS_Other_Gui_Expecto_GitHubActions.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/MacOS_Other_Gui_Expecto_None.md b/docs/wiz/MacOS_Other_Gui_Expecto_None.md index f66918664e..0076b9a18a 100644 --- a/docs/wiz/MacOS_Other_Gui_Expecto_None.md +++ b/docs/wiz/MacOS_Other_Gui_Expecto_None.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor ## DiffPlex diff --git a/docs/wiz/MacOS_Rider_Cli_Expecto_AppVeyor.md b/docs/wiz/MacOS_Rider_Cli_Expecto_AppVeyor.md index 105c0f497b..c4dcf99ccc 100644 --- a/docs/wiz/MacOS_Rider_Cli_Expecto_AppVeyor.md +++ b/docs/wiz/MacOS_Rider_Cli_Expecto_AppVeyor.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Cli_Expecto_AzureDevOps.md b/docs/wiz/MacOS_Rider_Cli_Expecto_AzureDevOps.md index 5766238c16..71e11f5709 100644 --- a/docs/wiz/MacOS_Rider_Cli_Expecto_AzureDevOps.md +++ b/docs/wiz/MacOS_Rider_Cli_Expecto_AzureDevOps.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Cli_Expecto_GitHubActions.md b/docs/wiz/MacOS_Rider_Cli_Expecto_GitHubActions.md index 2abcbacfa8..ee84a16bb3 100644 --- a/docs/wiz/MacOS_Rider_Cli_Expecto_GitHubActions.md +++ b/docs/wiz/MacOS_Rider_Cli_Expecto_GitHubActions.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Cli_Expecto_None.md b/docs/wiz/MacOS_Rider_Cli_Expecto_None.md index eb210eb7df..4faa7db1b1 100644 --- a/docs/wiz/MacOS_Rider_Cli_Expecto_None.md +++ b/docs/wiz/MacOS_Rider_Cli_Expecto_None.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.md b/docs/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.md index 6af3e6adfb..7a25cb735d 100644 --- a/docs/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.md b/docs/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.md index 5d23ffb545..fa5ba335a7 100644 --- a/docs/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.md b/docs/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.md index b45cff8968..e294ec27b5 100644 --- a/docs/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_Expecto_None.md b/docs/wiz/MacOS_Rider_Gui_Expecto_None.md index 39fb0e5448..ba1142beb7 100644 --- a/docs/wiz/MacOS_Rider_Gui_Expecto_None.md +++ b/docs/wiz/MacOS_Rider_Gui_Expecto_None.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Other_Cli_Expecto_AppVeyor.md b/docs/wiz/Windows_Other_Cli_Expecto_AppVeyor.md index 0972d455f9..43a125f227 100644 --- a/docs/wiz/Windows_Other_Cli_Expecto_AppVeyor.md +++ b/docs/wiz/Windows_Other_Cli_Expecto_AppVeyor.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Other_Cli_Expecto_AzureDevOps.md b/docs/wiz/Windows_Other_Cli_Expecto_AzureDevOps.md index 01f7431129..c70d1cfac5 100644 --- a/docs/wiz/Windows_Other_Cli_Expecto_AzureDevOps.md +++ b/docs/wiz/Windows_Other_Cli_Expecto_AzureDevOps.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Other_Cli_Expecto_GitHubActions.md b/docs/wiz/Windows_Other_Cli_Expecto_GitHubActions.md index c92b0044ca..e7e088e1ac 100644 --- a/docs/wiz/Windows_Other_Cli_Expecto_GitHubActions.md +++ b/docs/wiz/Windows_Other_Cli_Expecto_GitHubActions.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Other_Cli_Expecto_None.md b/docs/wiz/Windows_Other_Cli_Expecto_None.md index beb75b0a3c..058a1007d3 100644 --- a/docs/wiz/Windows_Other_Cli_Expecto_None.md +++ b/docs/wiz/Windows_Other_Cli_Expecto_None.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_Expecto_AppVeyor.md b/docs/wiz/Windows_Other_Gui_Expecto_AppVeyor.md index 0c40bc410b..65a0a6cc24 100644 --- a/docs/wiz/Windows_Other_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/Windows_Other_Gui_Expecto_AppVeyor.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_Expecto_AzureDevOps.md b/docs/wiz/Windows_Other_Gui_Expecto_AzureDevOps.md index b16a9a93b6..1079289c67 100644 --- a/docs/wiz/Windows_Other_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/Windows_Other_Gui_Expecto_AzureDevOps.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_Expecto_GitHubActions.md b/docs/wiz/Windows_Other_Gui_Expecto_GitHubActions.md index 994dad455a..7d77833050 100644 --- a/docs/wiz/Windows_Other_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/Windows_Other_Gui_Expecto_GitHubActions.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_Expecto_None.md b/docs/wiz/Windows_Other_Gui_Expecto_None.md index 9224364878..54dfe92a4d 100644 --- a/docs/wiz/Windows_Other_Gui_Expecto_None.md +++ b/docs/wiz/Windows_Other_Gui_Expecto_None.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Cli_Expecto_AppVeyor.md b/docs/wiz/Windows_Rider_Cli_Expecto_AppVeyor.md index 11c0879d53..2afea6e4d6 100644 --- a/docs/wiz/Windows_Rider_Cli_Expecto_AppVeyor.md +++ b/docs/wiz/Windows_Rider_Cli_Expecto_AppVeyor.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Cli_Expecto_AzureDevOps.md b/docs/wiz/Windows_Rider_Cli_Expecto_AzureDevOps.md index 334c906e59..727cb96226 100644 --- a/docs/wiz/Windows_Rider_Cli_Expecto_AzureDevOps.md +++ b/docs/wiz/Windows_Rider_Cli_Expecto_AzureDevOps.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Cli_Expecto_GitHubActions.md b/docs/wiz/Windows_Rider_Cli_Expecto_GitHubActions.md index 405b4f9e82..ae2838e21a 100644 --- a/docs/wiz/Windows_Rider_Cli_Expecto_GitHubActions.md +++ b/docs/wiz/Windows_Rider_Cli_Expecto_GitHubActions.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Cli_Expecto_None.md b/docs/wiz/Windows_Rider_Cli_Expecto_None.md index 66a31f95e3..f3791ad89e 100644 --- a/docs/wiz/Windows_Rider_Cli_Expecto_None.md +++ b/docs/wiz/Windows_Rider_Cli_Expecto_None.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_Expecto_AppVeyor.md b/docs/wiz/Windows_Rider_Gui_Expecto_AppVeyor.md index e2fbb7f357..a12b307d10 100644 --- a/docs/wiz/Windows_Rider_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/Windows_Rider_Gui_Expecto_AppVeyor.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.md b/docs/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.md index 2907283680..80be854d20 100644 --- a/docs/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_Expecto_GitHubActions.md b/docs/wiz/Windows_Rider_Gui_Expecto_GitHubActions.md index 9eb6e69bcd..6e30b12185 100644 --- a/docs/wiz/Windows_Rider_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/Windows_Rider_Gui_Expecto_GitHubActions.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_Expecto_None.md b/docs/wiz/Windows_Rider_Gui_Expecto_None.md index 5900428200..6bfb15c6a2 100644 --- a/docs/wiz/Windows_Rider_Gui_Expecto_None.md +++ b/docs/wiz/Windows_Rider_Gui_Expecto_None.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AppVeyor.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AppVeyor.md index 201561791d..e0e0424a9b 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AppVeyor.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AzureDevOps.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AzureDevOps.md index 9b8c68fc1c..23a66e4ff3 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_AzureDevOps.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_GitHubActions.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_GitHubActions.md index c92bfcb94b..a7c20a2307 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_GitHubActions.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_None.md b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_None.md index d7ca78046c..66ff93fcc6 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_None.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Cli_Expecto_None.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AppVeyor.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AppVeyor.md index 10894e72b0..d13c3abbfb 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AppVeyor.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AzureDevOps.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AzureDevOps.md index 9ac02fbb3b..2b0a61f555 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AzureDevOps.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_GitHubActions.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_GitHubActions.md index 771269efd6..8d14871782 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_GitHubActions.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_None.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_None.md index 639bbd8e7c..9c2a4573ae 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_None.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_None.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Cli_Expecto_AppVeyor.md b/docs/wiz/Windows_VisualStudio_Cli_Expecto_AppVeyor.md index 7d86f66079..576e314ff6 100644 --- a/docs/wiz/Windows_VisualStudio_Cli_Expecto_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudio_Cli_Expecto_AppVeyor.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Cli_Expecto_AzureDevOps.md b/docs/wiz/Windows_VisualStudio_Cli_Expecto_AzureDevOps.md index 362f9a2957..f9a18b4f29 100644 --- a/docs/wiz/Windows_VisualStudio_Cli_Expecto_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudio_Cli_Expecto_AzureDevOps.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Cli_Expecto_GitHubActions.md b/docs/wiz/Windows_VisualStudio_Cli_Expecto_GitHubActions.md index a3caed1e6e..574e1990df 100644 --- a/docs/wiz/Windows_VisualStudio_Cli_Expecto_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudio_Cli_Expecto_GitHubActions.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Cli_Expecto_None.md b/docs/wiz/Windows_VisualStudio_Cli_Expecto_None.md index 2f281f864c..45139ada0a 100644 --- a/docs/wiz/Windows_VisualStudio_Cli_Expecto_None.md +++ b/docs/wiz/Windows_VisualStudio_Cli_Expecto_None.md @@ -130,7 +130,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_Expecto_AppVeyor.md b/docs/wiz/Windows_VisualStudio_Gui_Expecto_AppVeyor.md index 36d8d195f7..dbd5c39ce4 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudio_Gui_Expecto_AppVeyor.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_Expecto_AzureDevOps.md b/docs/wiz/Windows_VisualStudio_Gui_Expecto_AzureDevOps.md index 8154c33a39..de7b3c42fb 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudio_Gui_Expecto_AzureDevOps.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_Expecto_GitHubActions.md b/docs/wiz/Windows_VisualStudio_Gui_Expecto_GitHubActions.md index 60b903a238..7d171c8ec2 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudio_Gui_Expecto_GitHubActions.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_Expecto_None.md b/docs/wiz/Windows_VisualStudio_Gui_Expecto_None.md index c8e060057b..99938aef07 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_Expecto_None.md +++ b/docs/wiz/Windows_VisualStudio_Gui_Expecto_None.md @@ -137,7 +137,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/global.json b/global.json index fad07e6657..e4b3404556 100644 --- a/global.json +++ b/global.json @@ -3,5 +3,8 @@ "version": "11.0.100-preview.5.26302.115", "allowPrerelease": true, "rollForward": "latestFeature" + }, + "test": { + "runner": "Microsoft.Testing.Platform" } -} \ No newline at end of file +} diff --git a/readme.md b/readme.md index ee148ad81b..544b74f0a4 100644 --- a/readme.md +++ b/readme.md @@ -693,7 +693,7 @@ public class VerifyChecksTests () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } ``` -snippet source | anchor +snippet source | anchor diff --git a/src/StrictJsonTests/OrderTests.DictionaryOrderOrdinal.verified.json b/src/StrictJsonTests/OrderTests.DictionaryOrderOrdinal.verified.json index b5d62d0dc9..014a342856 100644 --- a/src/StrictJsonTests/OrderTests.DictionaryOrderOrdinal.verified.json +++ b/src/StrictJsonTests/OrderTests.DictionaryOrderOrdinal.verified.json @@ -1,4 +1,4 @@ { - "-": "minus", - "+": "plus" + "+": "plus", + "-": "minus" } \ No newline at end of file diff --git a/src/StrictJsonTests/SerializationTests.DictionaryOrderOrdinal.verified.json b/src/StrictJsonTests/SerializationTests.DictionaryOrderOrdinal.verified.json index b5d62d0dc9..014a342856 100644 --- a/src/StrictJsonTests/SerializationTests.DictionaryOrderOrdinal.verified.json +++ b/src/StrictJsonTests/SerializationTests.DictionaryOrderOrdinal.verified.json @@ -1,4 +1,4 @@ { - "-": "minus", - "+": "plus" + "+": "plus", + "-": "minus" } \ No newline at end of file diff --git a/src/StrictJsonTests/SerializationTests.MultilineStringInArray.verified.json b/src/StrictJsonTests/SerializationTests.MultilineStringInArray.verified.json new file mode 100644 index 0000000000..f29e3b784b --- /dev/null +++ b/src/StrictJsonTests/SerializationTests.MultilineStringInArray.verified.json @@ -0,0 +1,4 @@ +[ + "single", + "multi\nline" +] \ No newline at end of file diff --git a/src/StrictJsonTests/SerializationTests.ScrubNumericIdsUlong.verified.json b/src/StrictJsonTests/SerializationTests.ScrubNumericIdsUlong.verified.json new file mode 100644 index 0000000000..608fb7e347 --- /dev/null +++ b/src/StrictJsonTests/SerializationTests.ScrubNumericIdsUlong.verified.json @@ -0,0 +1,3 @@ +{ + "Id": "Id_1" +} \ No newline at end of file diff --git a/src/Verify.Expecto.DerivePaths.Tests/Program.cs b/src/Verify.Expecto.DerivePaths.Tests/Program.cs index 2b04899744..6e8eb6d2c3 100644 --- a/src/Verify.Expecto.DerivePaths.Tests/Program.cs +++ b/src/Verify.Expecto.DerivePaths.Tests/Program.cs @@ -1 +1,3 @@ -return Runner.RunTestsInAssemblyWithCLIArgs([], args); \ No newline at end of file +// These tests mutate global Verify state (DerivePathInfo, UseProjectRelativeDirectory, +// UseSourceFileRelativeDirectory + VerifierSettings.Reset), so they must not run in parallel. +return Runner.RunTestsInAssemblyWithCLIArgs([], ["--sequenced", .. args]); \ No newline at end of file diff --git a/src/Verify.Expecto.DerivePaths.Tests/Tests.cs b/src/Verify.Expecto.DerivePaths.Tests/Tests.cs index f3db110635..cf8fe53a3e 100644 --- a/src/Verify.Expecto.DerivePaths.Tests/Tests.cs +++ b/src/Verify.Expecto.DerivePaths.Tests/Tests.cs @@ -5,6 +5,7 @@ nameof(Test), () => { + VerifierSettings.Reset(); DerivePathInfo( (sourceFile, projectDirectory, methodName, typeName) => { @@ -26,6 +27,7 @@ nameof(ReturnNulls), () => { + VerifierSettings.Reset(); DerivePathInfo((_, _, _, _) => new(null)); return Verify( name: nameof(ReturnNulls), @@ -37,6 +39,7 @@ nameof(ProjectRelativeDirectory), () => { + VerifierSettings.Reset(); UseProjectRelativeDirectory("Relative"); return Verify( name: nameof(ProjectRelativeDirectory), @@ -48,6 +51,7 @@ nameof(SourceFileRelativeDirectory), () => { + VerifierSettings.Reset(); UseSourceFileRelativeDirectory("Relative"); return Verify( name: nameof(SourceFileRelativeDirectory), diff --git a/src/Verify.Expecto.DerivePaths.Tests/Verify.Expecto.DerivePaths.Tests.csproj b/src/Verify.Expecto.DerivePaths.Tests/Verify.Expecto.DerivePaths.Tests.csproj index 8197371376..fdfdd2ddf0 100644 --- a/src/Verify.Expecto.DerivePaths.Tests/Verify.Expecto.DerivePaths.Tests.csproj +++ b/src/Verify.Expecto.DerivePaths.Tests/Verify.Expecto.DerivePaths.Tests.csproj @@ -2,7 +2,6 @@ Exe net11.0 - False diff --git a/src/Verify.Expecto.Tests/VerifyChecksTests.cs b/src/Verify.Expecto.Tests/VerifyChecksTests.cs index 2bf02d64d0..7e52852b38 100644 --- a/src/Verify.Expecto.Tests/VerifyChecksTests.cs +++ b/src/Verify.Expecto.Tests/VerifyChecksTests.cs @@ -1,4 +1,5 @@ -#region VerifyChecksExpecto +/** +#region VerifyChecksExpecto public class VerifyChecksTests { [Tests] @@ -6,4 +7,5 @@ public class VerifyChecksTests nameof(verifyChecksTest), () => VerifyChecks.Run(typeof(VerifyChecksTests).Assembly)); } -#endregion \ No newline at end of file +#endregion +**/ \ No newline at end of file diff --git a/src/Verify.MSTest.DerivePaths.Tests/Verify.MSTest.DerivePaths.Tests.csproj b/src/Verify.MSTest.DerivePaths.Tests/Verify.MSTest.DerivePaths.Tests.csproj index 6d0bd2db62..be08c15f35 100644 --- a/src/Verify.MSTest.DerivePaths.Tests/Verify.MSTest.DerivePaths.Tests.csproj +++ b/src/Verify.MSTest.DerivePaths.Tests/Verify.MSTest.DerivePaths.Tests.csproj @@ -1,6 +1,8 @@ net11.0 + true + Fake diff --git a/src/Verify.MSTest.DisableAttachments.Tests/Verify.MSTest.DisableAttachments.Tests.csproj b/src/Verify.MSTest.DisableAttachments.Tests/Verify.MSTest.DisableAttachments.Tests.csproj index e4385514a6..6ad3059a60 100644 --- a/src/Verify.MSTest.DisableAttachments.Tests/Verify.MSTest.DisableAttachments.Tests.csproj +++ b/src/Verify.MSTest.DisableAttachments.Tests/Verify.MSTest.DisableAttachments.Tests.csproj @@ -5,6 +5,9 @@ $(TargetFrameworks);net11.0 true x64 + true + Fake + Exe diff --git a/src/Verify.MSTest.SourceGenerator.Tests/Verify.MSTest.SourceGenerator.Tests.csproj b/src/Verify.MSTest.SourceGenerator.Tests/Verify.MSTest.SourceGenerator.Tests.csproj index f28f438760..99010de102 100644 --- a/src/Verify.MSTest.SourceGenerator.Tests/Verify.MSTest.SourceGenerator.Tests.csproj +++ b/src/Verify.MSTest.SourceGenerator.Tests/Verify.MSTest.SourceGenerator.Tests.csproj @@ -4,6 +4,8 @@ net11.0 false true + true + Fake diff --git a/src/Verify.MSTest.Tests/Verify.MSTest.Tests.csproj b/src/Verify.MSTest.Tests/Verify.MSTest.Tests.csproj index 0940316ae1..5c10cd9afc 100644 --- a/src/Verify.MSTest.Tests/Verify.MSTest.Tests.csproj +++ b/src/Verify.MSTest.Tests/Verify.MSTest.Tests.csproj @@ -5,6 +5,9 @@ $(TargetFrameworks);net11.0 true x64 + true + Fake + Exe diff --git a/src/Verify.NUnit.DerivePaths.Tests/Verify.NUnit.DerivePaths.Tests.csproj b/src/Verify.NUnit.DerivePaths.Tests/Verify.NUnit.DerivePaths.Tests.csproj index 936123b647..5db6e7e44b 100644 --- a/src/Verify.NUnit.DerivePaths.Tests/Verify.NUnit.DerivePaths.Tests.csproj +++ b/src/Verify.NUnit.DerivePaths.Tests/Verify.NUnit.DerivePaths.Tests.csproj @@ -1,6 +1,8 @@ net11.0 + true + Fake diff --git a/src/Verify.NUnit.DisableAttachments.Tests/Verify.NUnit.DisableAttachments.Tests.csproj b/src/Verify.NUnit.DisableAttachments.Tests/Verify.NUnit.DisableAttachments.Tests.csproj index 0dca6133f0..6b80042039 100644 --- a/src/Verify.NUnit.DisableAttachments.Tests/Verify.NUnit.DisableAttachments.Tests.csproj +++ b/src/Verify.NUnit.DisableAttachments.Tests/Verify.NUnit.DisableAttachments.Tests.csproj @@ -5,6 +5,9 @@ $(TargetFrameworks);net11.0 true x64 + true + Fake + Exe diff --git a/src/Verify.NUnit.Tests/Verify.NUnit.Tests.csproj b/src/Verify.NUnit.Tests/Verify.NUnit.Tests.csproj index 8e143d28b0..e3510e79af 100644 --- a/src/Verify.NUnit.Tests/Verify.NUnit.Tests.csproj +++ b/src/Verify.NUnit.Tests/Verify.NUnit.Tests.csproj @@ -5,6 +5,9 @@ $(TargetFrameworks);net11.0 true x64 + true + Fake + Exe diff --git a/src/Verify.Tests/DateFormatterTests.DateTimeCombinations.verified.txt b/src/Verify.Tests/DateFormatterTests.DateTimeCombinations.verified.txt index d1b31e7137..f6bcfc5749 100644 --- a/src/Verify.Tests/DateFormatterTests.DateTimeCombinations.verified.txt +++ b/src/Verify.Tests/DateFormatterTests.DateTimeCombinations.verified.txt @@ -4,99 +4,99 @@ Local_hour: 2020-01-01 02:00 Local, Local_hour_minute: 2020-01-01 02:03 Local, Local_hour_minute_second: 2020-01-01 02:03:04 Local, - Local_hour_minute_second_secondFraction: 2020-01-01 02:03:04.5 Local, Local_hour_minute_secondFraction: 2020-01-01 02:03:00.5 Local, + Local_hour_minute_second_secondFraction: 2020-01-01 02:03:04.5 Local, Local_hour_second: 2020-01-01 02:00:04 Local, - Local_hour_second_secondFraction: 2020-01-01 02:00:04.5 Local, Local_hour_secondFraction: 2020-01-01 02:00:00.5 Local, + Local_hour_second_secondFraction: 2020-01-01 02:00:04.5 Local, Local_minute: 2020-01-01 00:03 Local, Local_minute_second: 2020-01-01 00:03:04 Local, - Local_minute_second_secondFraction: 2020-01-01 00:03:04.5 Local, Local_minute_secondFraction: 2020-01-01 00:03:00.5 Local, + Local_minute_second_secondFraction: 2020-01-01 00:03:04.5 Local, Local_second: 2020-01-01 00:00:04 Local, - Local_second_secondFraction: 2020-01-01 00:00:04.5 Local, Local_secondFraction: 2020-01-01 00:00:00.5 Local, + Local_second_secondFraction: 2020-01-01 00:00:04.5 Local, Unspecified: DateTime_1, Unspecified_hour: 2020-01-01 02:00, Unspecified_hour_minute: 2020-01-01 02:03, Unspecified_hour_minute_second: 2020-01-01 02:03:04, - Unspecified_hour_minute_second_secondFraction: 2020-01-01 02:03:04.5, Unspecified_hour_minute_secondFraction: 2020-01-01 02:03:00.5, + Unspecified_hour_minute_second_secondFraction: 2020-01-01 02:03:04.5, Unspecified_hour_second: 2020-01-01 02:00:04, - Unspecified_hour_second_secondFraction: 2020-01-01 02:00:04.5, Unspecified_hour_secondFraction: 2020-01-01 02:00:00.5, + Unspecified_hour_second_secondFraction: 2020-01-01 02:00:04.5, Unspecified_minute: 2020-01-01 00:03, Unspecified_minute_second: 2020-01-01 00:03:04, - Unspecified_minute_second_secondFraction: 2020-01-01 00:03:04.5, Unspecified_minute_secondFraction: 2020-01-01 00:03:00.5, + Unspecified_minute_second_secondFraction: 2020-01-01 00:03:04.5, Unspecified_second: 2020-01-01 00:00:04, - Unspecified_second_secondFraction: 2020-01-01 00:00:04.5, Unspecified_secondFraction: 2020-01-01 00:00:00.5, + Unspecified_second_secondFraction: 2020-01-01 00:00:04.5, Utc: 2020-01-01 Utc, Utc_hour: 2020-01-01 02:00 Utc, Utc_hour_minute: 2020-01-01 02:03 Utc, Utc_hour_minute_second: 2020-01-01 02:03:04 Utc, - Utc_hour_minute_second_secondFraction: 2020-01-01 02:03:04.5 Utc, Utc_hour_minute_secondFraction: 2020-01-01 02:03:00.5 Utc, + Utc_hour_minute_second_secondFraction: 2020-01-01 02:03:04.5 Utc, Utc_hour_second: 2020-01-01 02:00:04 Utc, - Utc_hour_second_secondFraction: 2020-01-01 02:00:04.5 Utc, Utc_hour_secondFraction: 2020-01-01 02:00:00.5 Utc, + Utc_hour_second_secondFraction: 2020-01-01 02:00:04.5 Utc, Utc_minute: 2020-01-01 00:03 Utc, Utc_minute_second: 2020-01-01 00:03:04 Utc, - Utc_minute_second_secondFraction: 2020-01-01 00:03:04.5 Utc, Utc_minute_secondFraction: 2020-01-01 00:03:00.5 Utc, + Utc_minute_second_secondFraction: 2020-01-01 00:03:04.5 Utc, Utc_second: 2020-01-01 00:00:04 Utc, - Utc_second_secondFraction: 2020-01-01 00:00:04.5 Utc, - Utc_secondFraction: 2020-01-01 00:00:00.5 Utc + Utc_secondFraction: 2020-01-01 00:00:00.5 Utc, + Utc_second_secondFraction: 2020-01-01 00:00:04.5 Utc }, parameterValues: { Local: 2020-01-01Local, Local_hour: 2020-01-01T02-00Local, Local_hour_minute: 2020-01-01T02-03Local, Local_hour_minute_second: 2020-01-01T02-03-04Local, - Local_hour_minute_second_secondFraction: 2020-01-01T02-03-04.5Local, Local_hour_minute_secondFraction: 2020-01-01T02-03-00.5Local, + Local_hour_minute_second_secondFraction: 2020-01-01T02-03-04.5Local, Local_hour_second: 2020-01-01T02-00-04Local, - Local_hour_second_secondFraction: 2020-01-01T02-00-04.5Local, Local_hour_secondFraction: 2020-01-01T02-00-00.5Local, + Local_hour_second_secondFraction: 2020-01-01T02-00-04.5Local, Local_minute: 2020-01-01T00-03Local, Local_minute_second: 2020-01-01T00-03-04Local, - Local_minute_second_secondFraction: 2020-01-01T00-03-04.5Local, Local_minute_secondFraction: 2020-01-01T00-03-00.5Local, + Local_minute_second_secondFraction: 2020-01-01T00-03-04.5Local, Local_second: 2020-01-01T00-00-04Local, - Local_second_secondFraction: 2020-01-01T00-00-04.5Local, Local_secondFraction: 2020-01-01T00-00-00.5Local, + Local_second_secondFraction: 2020-01-01T00-00-04.5Local, Unspecified: DateTime_1, Unspecified_hour: 2020-01-01T02-00, Unspecified_hour_minute: 2020-01-01T02-03, Unspecified_hour_minute_second: 2020-01-01T02-03-04, - Unspecified_hour_minute_second_secondFraction: 2020-01-01T02-03-04.5, Unspecified_hour_minute_secondFraction: 2020-01-01T02-03-00.5, + Unspecified_hour_minute_second_secondFraction: 2020-01-01T02-03-04.5, Unspecified_hour_second: 2020-01-01T02-00-04, - Unspecified_hour_second_secondFraction: 2020-01-01T02-00-04.5, Unspecified_hour_secondFraction: 2020-01-01T02-00-00.5, + Unspecified_hour_second_secondFraction: 2020-01-01T02-00-04.5, Unspecified_minute: 2020-01-01T00-03, Unspecified_minute_second: 2020-01-01T00-03-04, - Unspecified_minute_second_secondFraction: 2020-01-01T00-03-04.5, Unspecified_minute_secondFraction: 2020-01-01T00-03-00.5, + Unspecified_minute_second_secondFraction: 2020-01-01T00-03-04.5, Unspecified_second: 2020-01-01T00-00-04, - Unspecified_second_secondFraction: 2020-01-01T00-00-04.5, Unspecified_secondFraction: 2020-01-01T00-00-00.5, + Unspecified_second_secondFraction: 2020-01-01T00-00-04.5, Utc: 2020-01-01Utc, Utc_hour: 2020-01-01T02-00Utc, Utc_hour_minute: 2020-01-01T02-03Utc, Utc_hour_minute_second: 2020-01-01T02-03-04Utc, - Utc_hour_minute_second_secondFraction: 2020-01-01T02-03-04.5Utc, Utc_hour_minute_secondFraction: 2020-01-01T02-03-00.5Utc, + Utc_hour_minute_second_secondFraction: 2020-01-01T02-03-04.5Utc, Utc_hour_second: 2020-01-01T02-00-04Utc, - Utc_hour_second_secondFraction: 2020-01-01T02-00-04.5Utc, Utc_hour_secondFraction: 2020-01-01T02-00-00.5Utc, + Utc_hour_second_secondFraction: 2020-01-01T02-00-04.5Utc, Utc_minute: 2020-01-01T00-03Utc, Utc_minute_second: 2020-01-01T00-03-04Utc, - Utc_minute_second_secondFraction: 2020-01-01T00-03-04.5Utc, Utc_minute_secondFraction: 2020-01-01T00-03-00.5Utc, + Utc_minute_second_secondFraction: 2020-01-01T00-03-04.5Utc, Utc_second: 2020-01-01T00-00-04Utc, - Utc_second_secondFraction: 2020-01-01T00-00-04.5Utc, - Utc_secondFraction: 2020-01-01T00-00-00.5Utc + Utc_secondFraction: 2020-01-01T00-00-00.5Utc, + Utc_second_secondFraction: 2020-01-01T00-00-04.5Utc } } \ No newline at end of file diff --git a/src/Verify.Tests/DateFormatterTests.DateTimeOffsetCombinations.verified.txt b/src/Verify.Tests/DateFormatterTests.DateTimeOffsetCombinations.verified.txt index 7634013d8b..35b9a1590c 100644 --- a/src/Verify.Tests/DateFormatterTests.DateTimeOffsetCombinations.verified.txt +++ b/src/Verify.Tests/DateFormatterTests.DateTimeOffsetCombinations.verified.txt @@ -4,67 +4,67 @@ _hour: 2020-01-01 02:00 +0, _hour_minute: 2020-01-01 02:03 +0, _hour_minute_second: 2020-01-01 02:03:04 +0, - _hour_minute_second_secondFraction: 2020-01-01 02:03:04.5 +0, _hour_minute_secondFraction: 2020-01-01 02:03:00.5 +0, + _hour_minute_second_secondFraction: 2020-01-01 02:03:04.5 +0, _hour_second: 2020-01-01 02:00:04 +0, - _hour_second_secondFraction: 2020-01-01 02:00:04.5 +0, _hour_secondFraction: 2020-01-01 02:00:00.5 +0, + _hour_second_secondFraction: 2020-01-01 02:00:04.5 +0, _minute: 2020-01-01 00:03 +0, _minute_second: 2020-01-01 00:03:04 +0, - _minute_second_secondFraction: 2020-01-01 00:03:04.5 +0, _minute_secondFraction: 2020-01-01 00:03:00.5 +0, + _minute_second_secondFraction: 2020-01-01 00:03:04.5 +0, _offset: 2020-01-01 +7-08, _offset_hour: 2020-01-01 02:00 +7-08, _offset_hour_minute: 2020-01-01 02:03 +7-08, _offset_hour_minute_second: 2020-01-01 02:03:04 +7-08, - _offset_hour_minute_second_secondFraction: 2020-01-01 02:03:04.5 +7-08, _offset_hour_minute_secondFraction: 2020-01-01 02:03:00.5 +7-08, + _offset_hour_minute_second_secondFraction: 2020-01-01 02:03:04.5 +7-08, _offset_hour_second: 2020-01-01 02:00:04 +7-08, - _offset_hour_second_secondFraction: 2020-01-01 02:00:04.5 +7-08, _offset_hour_secondFraction: 2020-01-01 02:00:00.5 +7-08, + _offset_hour_second_secondFraction: 2020-01-01 02:00:04.5 +7-08, _offset_minute: 2020-01-01 00:03 +7-08, _offset_minute_second: 2020-01-01 00:03:04 +7-08, - _offset_minute_second_secondFraction: 2020-01-01 00:03:04.5 +7-08, _offset_minute_secondFraction: 2020-01-01 00:03:00.5 +7-08, + _offset_minute_second_secondFraction: 2020-01-01 00:03:04.5 +7-08, _offset_second: 2020-01-01 00:00:04 +7-08, - _offset_second_secondFraction: 2020-01-01 00:00:04.5 +7-08, _offset_secondFraction: 2020-01-01 00:00:00.5 +7-08, + _offset_second_secondFraction: 2020-01-01 00:00:04.5 +7-08, _second: 2020-01-01 00:00:04 +0, - _second_secondFraction: 2020-01-01 00:00:04.5 +0, - _secondFraction: 2020-01-01 00:00:00.5 +0 + _secondFraction: 2020-01-01 00:00:00.5 +0, + _second_secondFraction: 2020-01-01 00:00:04.5 +0 }, parameterValues: { : 2020-01-01+0, _hour: 2020-01-01T02-00+0, _hour_minute: 2020-01-01T02-03+0, _hour_minute_second: 2020-01-01T02-03-04+0, - _hour_minute_second_secondFraction: 2020-01-01T02-03-04.5+0, _hour_minute_secondFraction: 2020-01-01T02-03-00.5+0, + _hour_minute_second_secondFraction: 2020-01-01T02-03-04.5+0, _hour_second: 2020-01-01T02-00-04+0, - _hour_second_secondFraction: 2020-01-01T02-00-04.5+0, _hour_secondFraction: 2020-01-01T02-00-00.5+0, + _hour_second_secondFraction: 2020-01-01T02-00-04.5+0, _minute: 2020-01-01T00-03+0, _minute_second: 2020-01-01T00-03-04+0, - _minute_second_secondFraction: 2020-01-01T00-03-04.5+0, _minute_secondFraction: 2020-01-01T00-03-00.5+0, + _minute_second_secondFraction: 2020-01-01T00-03-04.5+0, _offset: 2020-01-01+7-08, _offset_hour: 2020-01-01T02-00+7-08, _offset_hour_minute: 2020-01-01T02-03+7-08, _offset_hour_minute_second: 2020-01-01T02-03-04+7-08, - _offset_hour_minute_second_secondFraction: 2020-01-01T02-03-04.5+7-08, _offset_hour_minute_secondFraction: 2020-01-01T02-03-00.5+7-08, + _offset_hour_minute_second_secondFraction: 2020-01-01T02-03-04.5+7-08, _offset_hour_second: 2020-01-01T02-00-04+7-08, - _offset_hour_second_secondFraction: 2020-01-01T02-00-04.5+7-08, _offset_hour_secondFraction: 2020-01-01T02-00-00.5+7-08, + _offset_hour_second_secondFraction: 2020-01-01T02-00-04.5+7-08, _offset_minute: 2020-01-01T00-03+7-08, _offset_minute_second: 2020-01-01T00-03-04+7-08, - _offset_minute_second_secondFraction: 2020-01-01T00-03-04.5+7-08, _offset_minute_secondFraction: 2020-01-01T00-03-00.5+7-08, + _offset_minute_second_secondFraction: 2020-01-01T00-03-04.5+7-08, _offset_second: 2020-01-01T00-00-04+7-08, - _offset_second_secondFraction: 2020-01-01T00-00-04.5+7-08, _offset_secondFraction: 2020-01-01T00-00-00.5+7-08, + _offset_second_secondFraction: 2020-01-01T00-00-04.5+7-08, _second: 2020-01-01T00-00-04+0, - _second_secondFraction: 2020-01-01T00-00-04.5+0, - _secondFraction: 2020-01-01T00-00-00.5+0 + _secondFraction: 2020-01-01T00-00-00.5+0, + _second_secondFraction: 2020-01-01T00-00-04.5+0 } } \ No newline at end of file diff --git a/src/Verify.Tests/NewLineTests.TrailingNewlinesRaw.verified.txt b/src/Verify.Tests/NewLineTests.TrailingNewlinesRaw.verified.txt new file mode 100644 index 0000000000..7a2a9ee4f5 --- /dev/null +++ b/src/Verify.Tests/NewLineTests.TrailingNewlinesRaw.verified.txt @@ -0,0 +1 @@ +a diff --git a/src/Verify.Tests/Serialization/OrderTests.DictionaryOrderOrdinal.verified.txt b/src/Verify.Tests/Serialization/OrderTests.DictionaryOrderOrdinal.verified.txt index 78a8a1a688..0f1edcef9b 100644 --- a/src/Verify.Tests/Serialization/OrderTests.DictionaryOrderOrdinal.verified.txt +++ b/src/Verify.Tests/Serialization/OrderTests.DictionaryOrderOrdinal.verified.txt @@ -1,4 +1,4 @@ { - -: minus, - +: plus + +: plus, + -: minus } \ No newline at end of file diff --git a/src/Verify.Tests/Serialization/SerializationTests.DictionaryOrderOrdinal.verified.txt b/src/Verify.Tests/Serialization/SerializationTests.DictionaryOrderOrdinal.verified.txt index 78a8a1a688..0f1edcef9b 100644 --- a/src/Verify.Tests/Serialization/SerializationTests.DictionaryOrderOrdinal.verified.txt +++ b/src/Verify.Tests/Serialization/SerializationTests.DictionaryOrderOrdinal.verified.txt @@ -1,4 +1,4 @@ { - -: minus, - +: plus + +: plus, + -: minus } \ No newline at end of file diff --git a/src/Verify.Tests/Snippets/ComparerSnippets.InstanceSsimForPng.verified.png b/src/Verify.Tests/Snippets/ComparerSnippets.InstanceSsimForPng.verified.png new file mode 100644 index 0000000000000000000000000000000000000000..b54820aa60a6fca03967c68c61231b07f8978da8 GIT binary patch literal 4621 zcmV+o67ubdP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!TvHcsGv}Ur-+OuI3yX8loS8j)@3q!<{h4{Z z4<2~nfd?LV;DHAocmaIH)92fYj}G~+A>TUW>qEX~$iEEvw;}MMA&$@RxgpN|harD9 zA@1d#4>YjuUl{U_LuMOT@*hL~ddQzV zeSY>y{%gqW{4?@TLwf0Y7NMkH8}gAMD;Vc{huGM^7}6EQBmDMb zLw;+>O!3b7`5|9D1C>HdP#YXCUByVn{B;cft1Fu%Vr5+-tRIj{nt=I`_|q%;;#R z6pDO_wY&(>fPh$&XTd)@j)Hz-NDsJY;a+)vacTw0L(!ej8Fj(W4XN=c+`Q|%FcZ zc$=*3=P%>f6`>?W<5g{o@JSXUlpV>L5p;7vt`yc-kbdd+{9vAr?ygqmCz8>5E6$EyVcTC{U2dj@GJE9w&XE5M`KRU*IxYAkDmt`sTt8wG3abfe(9cUFaRGFX#cYFn^jH9wxZ zibuaOq{daqu8=iM#SQn!tdfDgG4%XjR&$S{Zw8*08%HDzM>N69>U`8WgZNbEpr#cV zMx7`7Do|n_=WVyL!m}XTs7c^^y{gv$%S0`8ZAF{w(8BWsC&cdq>LCuMzMwb4qh`n~YWFYa7|5+VzR%BG}b;gU5K5fA2xdp1K^JeXi9A`&2GRQh_R-rS#`km}L0M7#VEUNN} zb_y(-<@6Ldg@>rPO|XPg>xG5cHI#~qjxx8*_Es^15_ad<-1>dhY=l$@5AB#WBwvKO zGU(-kP|U1f#adaphTj`wYMl_HYfX0zn3t&yTXEN za6!?6ZL&a^)Z}l+o@)_20;gxtCN^@V+^ouHy(@t|$LYvgMD4P|kwVO`8x*-~CMvJ4 zf$PD)zEa*09qqD{TfnOGu`5|s=sdB`Sy|-n_oIz2WTCmL>a(3vVjXvZ#aC=#u`Dgy z(J10d>U$L|P9G{g(fwyisaWLP{=4sW{VXBLly%oWNkd%4whZhUAMer;PRmh^rZU8d z*J?ZC`0Qudm`-2m$-9(vMp?P8U13-oY%VLL(lW^J%7oL%LMXE+3)r^%24ko~6K`Q<$|?y7KvBQGmt8-*8@ckkLVr@#VdsjNv~ZJ-%T24bUZ2rK2pFXIGqfjapb`o?OH-5} z<6%ubW7>&(aQoHU>6uYUx$7K8QpbDqFL}M!P}zLkZCKVjyB8elt(H=VM5wN#{F{+h zRWd7vI=HqQXPf0#!PVxGijn2zt2}A(bu2R}^Qly{HmP7ebxl2Znjz~LMzDf;7ONEf z@%p-U^$6e;`tye!Z-U7vs%A82W5pxZBH;2ei!5Prs(sc!>wB@{%;iy4{gxY9$5J6_ zq5XMB2J=p32^3Z5?VeaBt7OBo_M~@-FCnXQ7S_9)37gt$1{}{Kdd71Gt`QtF-6b}( zyd~!+Xs?29b`mn?CPNFwcVi($r#~pDd{V~GIXecSYNWHQ{DnIKK^Qq&E_a@{fuYy=UM?V8$EZ;`XXhGJM8%+601zC_eHz~A&sqr(bvT-X4;zeZyJ;k0Oy`XoLQ?a*D z`2T5F&nnF9>6q*-?Gu)29GhyBdb}W#0r3D;$cQW^EB3r5H!qEa5-FKwrZSAPq7RD8 z~mI|3QKM%2cpp#F{$d%{EJjnIjKgT#Ls3tjmCSpS>O7=vddCX?7 z>M5R)%8;?G0)8RAW7fXUUKwM#jHH6pHcQB0c(%~7AWBZ|PO({(W?#;~j0&DvU}aTn&@%y?2c^aFE}OEViw?YR zkv505rgvTu6x68~C<2{Swnof%wXq#(pr~|4ZIqgOKrW*$EQQ$oq>nRCzPmzRJH>8>79d}u~G2Mh%Tcpq=>X!8utnqMFwZ%?i!L{9XY3x%cvk{0ZCW8 zn#1O1(RP#)J3muW3zWHKvcMaAA!uXk`%YYUv|(q!E6ghs3S%D`n{`wM=Gru>%cz0y zZqn6`V>4~6*t3G{CY526`vSW%xIW81%CsmgzcVVdawa|`c!ail&Y{LTlbmFnq0nsQ zTt+IP7P!lwGm|jkUH~Pi%aJ_UmJ$MD_dd*3;Xw9WqpO=vjWJ+XCE9B-KHP7+)Hx|9t+z11P?}vuf5`-^IY970N^(Ns&iF3DzQJ?!3JNE#`eN4e-7?#&|Bn zz%@Y0>e1y{?=WW80;>*jT6Io73r$v+&#HMZD# zI|GVKs-u{q;-uPJI^$nNx2Rdh!usm>BkxEWs`{oQt)B8S5a)dAc+phFH(rrSmr~~# zF9meAQU+u|@A2|9k^;y~vn;B9-=)NA88qNLpQ}k_Z>Wz~n{Tm&+=O~$N~sx7WNnQeG(U{0bV6}NgGkQ47uDg9R0v-(0NAL+q7Hv_A2 zbr9|ep4YnvHr%}vY1q3L>`oyqum^RV-6>;*0Ja$>{*r| zdsNUJL4|J)*&!wxqCF+{z0zGqu`}9J$W7|+G-cMa%N#P!bjwfdye$>d4I`D^Q)t0? z*4&ebNK(#j5G6?>KBTaG=Tz+KkacC7XZQN)C9Ev>tU{9KSC%Bm*EzHH zek!DAXuKdZuvO~qJo8MCxFt{^P8MSUxr@wV!J zp^zE!IYqAncA#u@Vhx_XxIY6E{BNmYT$gD#IWmyTNdB!C#!?}x%*A5soSoaAQAlq1 ztgmGAlCuTwD{YT^fbmvVRdTv_^_5SbXYfl;pYW4UpZ*(&!pa)+zlEs(UgB2x?73{L7I%n5fNzPr3#VhI@ z*1tlh4Ck(DpL@W(GESz*9AB(;lfm5t+^D|mzOJwf#)XVit3DTGp}LD(T`2;$H%*Q* zqpRQ*y+BOqHPcxa)$LB8Z%c#ah3yw z(lgGv*S!tk|AAH34OvFE-dD6xHG&E5P+1g@S`}M1BNL3Hcc`4tN_%zfJ8zSYo@qQ% zASFnDXN4j~NQrZ9ySGv9ivDjxjwX;#2zTjUw&!=x4AM&|`Am8%=Apu_m=eZiGkKk= z-MQw?!&a3#;r+S*kcFV@7{jZ8wWKAKI5wL^#vYrwf~=^{n^o(HqziwaT|C7oJj)wz z5enidJf`lO?IE%2?sdlz(9CM1-i@$ru5QCekvgjHX)NZFA-m}@C0 z$1Ab9C|8#lGo%s<)|{TVGrAXr$#n{_us&hmt3AQRcN>?q)m!i#{ri5b_W;5#Zk{WfXWtW?#Lzmo<#vc8kb=R7$yL_?%Z{T|~qzV;xc75oT#K zCU|23{497yDn;>?O3Bv8?twpLWoqiWGgjyv3dlf9Y$RGiZ)d&6dE$f&D-}UxWOt{< zm-^3%c?xaUMKi_hWzP}8C>t&8s~S0{K%L7JcRp*KdVaKe^zWh ze>>#g9eBc54Ke?c8C?5)LtOjLz+y75$M5Cd;zwHAYT@9wj16exN?dR~Pn^{lw+OH8 zvGJV&-tC+&{dGKF3q4Yb*prlDQ_en0Eub=VB>*3_Lsru1_nm}pXZCoA&6PH0tf7?E zQ%68Oxrw}H_Tt_Z2=p3@JeMdmeV3hek8#irPKs>hI4I9=J=P&w}Oa z4D>mAys&%j@=n8|wZbzd%)}1zrjp0ps$PBy&SAXZz=Pv8=Rtf9n0re(} z04?yJ4ZN;%{U?WbE5zpm8`xNJglF86qIMCNWJKQ=>H7l@Jn+B+4?OU|1MeX|_~3s56SgY=620RA00000NkvXXu0mjf DTes+R literal 0 HcmV?d00001 diff --git a/src/Verify.Tests/Snippets/ComparerSnippets.InstanceSsimForPngFluent.verified.png b/src/Verify.Tests/Snippets/ComparerSnippets.InstanceSsimForPngFluent.verified.png new file mode 100644 index 0000000000000000000000000000000000000000..b54820aa60a6fca03967c68c61231b07f8978da8 GIT binary patch literal 4621 zcmV+o67ubdP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!TvHcsGv}Ur-+OuI3yX8loS8j)@3q!<{h4{Z z4<2~nfd?LV;DHAocmaIH)92fYj}G~+A>TUW>qEX~$iEEvw;}MMA&$@RxgpN|harD9 zA@1d#4>YjuUl{U_LuMOT@*hL~ddQzV zeSY>y{%gqW{4?@TLwf0Y7NMkH8}gAMD;Vc{huGM^7}6EQBmDMb zLw;+>O!3b7`5|9D1C>HdP#YXCUByVn{B;cft1Fu%Vr5+-tRIj{nt=I`_|q%;;#R z6pDO_wY&(>fPh$&XTd)@j)Hz-NDsJY;a+)vacTw0L(!ej8Fj(W4XN=c+`Q|%FcZ zc$=*3=P%>f6`>?W<5g{o@JSXUlpV>L5p;7vt`yc-kbdd+{9vAr?ygqmCz8>5E6$EyVcTC{U2dj@GJE9w&XE5M`KRU*IxYAkDmt`sTt8wG3abfe(9cUFaRGFX#cYFn^jH9wxZ zibuaOq{daqu8=iM#SQn!tdfDgG4%XjR&$S{Zw8*08%HDzM>N69>U`8WgZNbEpr#cV zMx7`7Do|n_=WVyL!m}XTs7c^^y{gv$%S0`8ZAF{w(8BWsC&cdq>LCuMzMwb4qh`n~YWFYa7|5+VzR%BG}b;gU5K5fA2xdp1K^JeXi9A`&2GRQh_R-rS#`km}L0M7#VEUNN} zb_y(-<@6Ldg@>rPO|XPg>xG5cHI#~qjxx8*_Es^15_ad<-1>dhY=l$@5AB#WBwvKO zGU(-kP|U1f#adaphTj`wYMl_HYfX0zn3t&yTXEN za6!?6ZL&a^)Z}l+o@)_20;gxtCN^@V+^ouHy(@t|$LYvgMD4P|kwVO`8x*-~CMvJ4 zf$PD)zEa*09qqD{TfnOGu`5|s=sdB`Sy|-n_oIz2WTCmL>a(3vVjXvZ#aC=#u`Dgy z(J10d>U$L|P9G{g(fwyisaWLP{=4sW{VXBLly%oWNkd%4whZhUAMer;PRmh^rZU8d z*J?ZC`0Qudm`-2m$-9(vMp?P8U13-oY%VLL(lW^J%7oL%LMXE+3)r^%24ko~6K`Q<$|?y7KvBQGmt8-*8@ckkLVr@#VdsjNv~ZJ-%T24bUZ2rK2pFXIGqfjapb`o?OH-5} z<6%ubW7>&(aQoHU>6uYUx$7K8QpbDqFL}M!P}zLkZCKVjyB8elt(H=VM5wN#{F{+h zRWd7vI=HqQXPf0#!PVxGijn2zt2}A(bu2R}^Qly{HmP7ebxl2Znjz~LMzDf;7ONEf z@%p-U^$6e;`tye!Z-U7vs%A82W5pxZBH;2ei!5Prs(sc!>wB@{%;iy4{gxY9$5J6_ zq5XMB2J=p32^3Z5?VeaBt7OBo_M~@-FCnXQ7S_9)37gt$1{}{Kdd71Gt`QtF-6b}( zyd~!+Xs?29b`mn?CPNFwcVi($r#~pDd{V~GIXecSYNWHQ{DnIKK^Qq&E_a@{fuYy=UM?V8$EZ;`XXhGJM8%+601zC_eHz~A&sqr(bvT-X4;zeZyJ;k0Oy`XoLQ?a*D z`2T5F&nnF9>6q*-?Gu)29GhyBdb}W#0r3D;$cQW^EB3r5H!qEa5-FKwrZSAPq7RD8 z~mI|3QKM%2cpp#F{$d%{EJjnIjKgT#Ls3tjmCSpS>O7=vddCX?7 z>M5R)%8;?G0)8RAW7fXUUKwM#jHH6pHcQB0c(%~7AWBZ|PO({(W?#;~j0&DvU}aTn&@%y?2c^aFE}OEViw?YR zkv505rgvTu6x68~C<2{Swnof%wXq#(pr~|4ZIqgOKrW*$EQQ$oq>nRCzPmzRJH>8>79d}u~G2Mh%Tcpq=>X!8utnqMFwZ%?i!L{9XY3x%cvk{0ZCW8 zn#1O1(RP#)J3muW3zWHKvcMaAA!uXk`%YYUv|(q!E6ghs3S%D`n{`wM=Gru>%cz0y zZqn6`V>4~6*t3G{CY526`vSW%xIW81%CsmgzcVVdawa|`c!ail&Y{LTlbmFnq0nsQ zTt+IP7P!lwGm|jkUH~Pi%aJ_UmJ$MD_dd*3;Xw9WqpO=vjWJ+XCE9B-KHP7+)Hx|9t+z11P?}vuf5`-^IY970N^(Ns&iF3DzQJ?!3JNE#`eN4e-7?#&|Bn zz%@Y0>e1y{?=WW80;>*jT6Io73r$v+&#HMZD# zI|GVKs-u{q;-uPJI^$nNx2Rdh!usm>BkxEWs`{oQt)B8S5a)dAc+phFH(rrSmr~~# zF9meAQU+u|@A2|9k^;y~vn;B9-=)NA88qNLpQ}k_Z>Wz~n{Tm&+=O~$N~sx7WNnQeG(U{0bV6}NgGkQ47uDg9R0v-(0NAL+q7Hv_A2 zbr9|ep4YnvHr%}vY1q3L>`oyqum^RV-6>;*0Ja$>{*r| zdsNUJL4|J)*&!wxqCF+{z0zGqu`}9J$W7|+G-cMa%N#P!bjwfdye$>d4I`D^Q)t0? z*4&ebNK(#j5G6?>KBTaG=Tz+KkacC7XZQN)C9Ev>tU{9KSC%Bm*EzHH zek!DAXuKdZuvO~qJo8MCxFt{^P8MSUxr@wV!J zp^zE!IYqAncA#u@Vhx_XxIY6E{BNmYT$gD#IWmyTNdB!C#!?}x%*A5soSoaAQAlq1 ztgmGAlCuTwD{YT^fbmvVRdTv_^_5SbXYfl;pYW4UpZ*(&!pa)+zlEs(UgB2x?73{L7I%n5fNzPr3#VhI@ z*1tlh4Ck(DpL@W(GESz*9AB(;lfm5t+^D|mzOJwf#)XVit3DTGp}LD(T`2;$H%*Q* zqpRQ*y+BOqHPcxa)$LB8Z%c#ah3yw z(lgGv*S!tk|AAH34OvFE-dD6xHG&E5P+1g@S`}M1BNL3Hcc`4tN_%zfJ8zSYo@qQ% zASFnDXN4j~NQrZ9ySGv9ivDjxjwX;#2zTjUw&!=x4AM&|`Am8%=Apu_m=eZiGkKk= z-MQw?!&a3#;r+S*kcFV@7{jZ8wWKAKI5wL^#vYrwf~=^{n^o(HqziwaT|C7oJj)wz z5enidJf`lO?IE%2?sdlz(9CM1-i@$ru5QCekvgjHX)NZFA-m}@C0 z$1Ab9C|8#lGo%s<)|{TVGrAXr$#n{_us&hmt3AQRcN>?q)m!i#{ri5b_W;5#Zk{WfXWtW?#Lzmo<#vc8kb=R7$yL_?%Z{T|~qzV;xc75oT#K zCU|23{497yDn;>?O3Bv8?twpLWoqiWGgjyv3dlf9Y$RGiZ)d&6dE$f&D-}UxWOt{< zm-^3%c?xaUMKi_hWzP}8C>t&8s~S0{K%L7JcRp*KdVaKe^zWh ze>>#g9eBc54Ke?c8C?5)LtOjLz+y75$M5Cd;zwHAYT@9wj16exN?dR~Pn^{lw+OH8 zvGJV&-tC+&{dGKF3q4Yb*prlDQ_en0Eub=VB>*3_Lsru1_nm}pXZCoA&6PH0tf7?E zQ%68Oxrw}H_Tt_Z2=p3@JeMdmeV3hek8#irPKs>hI4I9=J=P&w}Oa z4D>mAys&%j@=n8|wZbzd%)}1zrjp0ps$PBy&SAXZz=Pv8=Rtf9n0re(} z04?yJ4ZN;%{U?WbE5zpm8`xNJglF86qIMCNWJKQ=>H7l@Jn+B+4?OU|1MeX|_~3s56SgY=620RA00000NkvXXu0mjf DTes+R literal 0 HcmV?d00001 diff --git a/src/Verify/InternalsVisibleTo.cs b/src/Verify/InternalsVisibleTo.cs index ce1697b3a3..ef067531d5 100644 --- a/src/Verify/InternalsVisibleTo.cs +++ b/src/Verify/InternalsVisibleTo.cs @@ -17,6 +17,7 @@ [assembly: InternalsVisibleTo("StrictJsonTests, PublicKey=00240000048000009400000006020000002400005253413100040000010001000f0a8e4bf1639dce01be6592384e7dfc621915b7759fb5cee42ec5d351bcc43460432da1659ee618ca6cab6b8b8e56a5deb5d4ee1a49783d5c2690752502d31ccbfee9b2c697e20359b55ad100cc9370c8e983fd9496f01d761a060d0435bac7243b1832ba95757aa5adbb67df38c213d717b6751e1217cea9fa5c61e9b799dd")] [assembly: InternalsVisibleTo("Verify.Expecto, PublicKey=00240000048000009400000006020000002400005253413100040000010001000f0a8e4bf1639dce01be6592384e7dfc621915b7759fb5cee42ec5d351bcc43460432da1659ee618ca6cab6b8b8e56a5deb5d4ee1a49783d5c2690752502d31ccbfee9b2c697e20359b55ad100cc9370c8e983fd9496f01d761a060d0435bac7243b1832ba95757aa5adbb67df38c213d717b6751e1217cea9fa5c61e9b799dd")] [assembly: InternalsVisibleTo("Verify.Expecto.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001000f0a8e4bf1639dce01be6592384e7dfc621915b7759fb5cee42ec5d351bcc43460432da1659ee618ca6cab6b8b8e56a5deb5d4ee1a49783d5c2690752502d31ccbfee9b2c697e20359b55ad100cc9370c8e983fd9496f01d761a060d0435bac7243b1832ba95757aa5adbb67df38c213d717b6751e1217cea9fa5c61e9b799dd")] +[assembly: InternalsVisibleTo("Verify.Expecto.DerivePaths.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001000f0a8e4bf1639dce01be6592384e7dfc621915b7759fb5cee42ec5d351bcc43460432da1659ee618ca6cab6b8b8e56a5deb5d4ee1a49783d5c2690752502d31ccbfee9b2c697e20359b55ad100cc9370c8e983fd9496f01d761a060d0435bac7243b1832ba95757aa5adbb67df38c213d717b6751e1217cea9fa5c61e9b799dd")] [assembly: InternalsVisibleTo("Verify.ExceptionParsing.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001000f0a8e4bf1639dce01be6592384e7dfc621915b7759fb5cee42ec5d351bcc43460432da1659ee618ca6cab6b8b8e56a5deb5d4ee1a49783d5c2690752502d31ccbfee9b2c697e20359b55ad100cc9370c8e983fd9496f01d761a060d0435bac7243b1832ba95757aa5adbb67df38c213d717b6751e1217cea9fa5c61e9b799dd")] [assembly: InternalsVisibleTo("ApplyScrubbersTests, PublicKey=00240000048000009400000006020000002400005253413100040000010001000f0a8e4bf1639dce01be6592384e7dfc621915b7759fb5cee42ec5d351bcc43460432da1659ee618ca6cab6b8b8e56a5deb5d4ee1a49783d5c2690752502d31ccbfee9b2c697e20359b55ad100cc9370c8e983fd9496f01d761a060d0435bac7243b1832ba95757aa5adbb67df38c213d717b6751e1217cea9fa5c61e9b799dd")] [assembly: InternalsVisibleTo("SingleTfmTests, PublicKey=00240000048000009400000006020000002400005253413100040000010001000f0a8e4bf1639dce01be6592384e7dfc621915b7759fb5cee42ec5d351bcc43460432da1659ee618ca6cab6b8b8e56a5deb5d4ee1a49783d5c2690752502d31ccbfee9b2c697e20359b55ad100cc9370c8e983fd9496f01d761a060d0435bac7243b1832ba95757aa5adbb67df38c213d717b6751e1217cea9fa5c61e9b799dd")] diff --git a/src/appveyor.yml b/src/appveyor.yml index 43a98d1ca6..b8ae3c54c3 100644 --- a/src/appveyor.yml +++ b/src/appveyor.yml @@ -34,9 +34,9 @@ build_script: - dotnet test src/StrictJsonTests --configuration Release --no-build --no-restore --verbosity minimal - dotnet test src/Verify.ClipboardAccept.Tests --configuration Release --no-build --no-restore --verbosity minimal - dotnet test src/Verify.ExceptionParsing.Tests --configuration Release --no-build --no-restore --verbosity minimal -- dotnet test src/Verify.Expecto.DerivePaths.Tests --configuration Release --no-build --no-restore --verbosity minimal -- dotnet test src/Verify.Expecto.FSharpTests --configuration Release --no-build --no-restore --verbosity minimal -- dotnet test src/Verify.Expecto.Tests --configuration Release --no-build --no-restore --verbosity minimal +- dotnet run --project src/Verify.Expecto.DerivePaths.Tests --configuration Release --no-build --no-restore --verbosity minimal +- dotnet run --project src/Verify.Expecto.FSharpTests --configuration Release --no-build --no-restore --verbosity minimal +- dotnet run --project src/Verify.Expecto.Tests --configuration Release --no-build --no-restore --verbosity minimal - dotnet test src/Verify.MSTest.DerivePaths.Tests --configuration Release --no-build --no-restore --verbosity minimal - dotnet test src/Verify.MSTest.Tests --configuration Release --no-build --no-restore --verbosity minimal - dotnet test src/Verify.MSTest.SourceGenerator.Tests --configuration Release --no-build --no-restore --verbosity minimal @@ -50,6 +50,10 @@ build_script: - dotnet run --project src/Verify.TUnit.DerivePaths.Tests/Verify.TUnit.DerivePaths.Tests.csproj --configuration Release --no-build --no-restore --verbosity minimal - dotnet run --project src/Verify.TUnit.Tests/Verify.TUnit.Tests.csproj --configuration Release --no-build --no-restore --verbosity minimal - dotnet run --project src/Verify.TUnit.DisableAttachments.Tests/Verify.TUnit.DisableAttachments.Tests.csproj --configuration Release --no-build --no-restore --verbosity minimal +# Fixie has no Microsoft.Testing.Platform runner, so it cannot run via `dotnet test` in MTP mode. +# Run it via the fixie.console tool (restored from src/.config/dotnet-tools.json, which is only discoverable from src). +# Use pushd/popd so the `cd` into src does not persist into subsequent AppVeyor script lines. +- cmd: pushd src && dotnet fixie Verify.Fixie.Tests --configuration Release --no-build && popd - dotnet build src/VerifyDangling.slnx --configuration Release --verbosity minimal #- dotnet test src/DanglingSnapshotsMSTestUsage --configuration Release --no-build --no-restore #- dotnet test src/DanglingSnapshotsNUnitUsage --configuration Release --no-build --no-restore From d99c57fdf2990ebdba0fcfc0b77bf1723253b05d Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Thu, 9 Jul 2026 16:07:41 +1000 Subject: [PATCH 10/14] Update milestone-release.yml --- .github/workflows/milestone-release.yml | 165 ++++++++++-------------- 1 file changed, 71 insertions(+), 94 deletions(-) diff --git a/.github/workflows/milestone-release.yml b/.github/workflows/milestone-release.yml index f6764058ab..55c1b9340e 100644 --- a/.github/workflows/milestone-release.yml +++ b/.github/workflows/milestone-release.yml @@ -1,15 +1,15 @@ name: milestone-release on: + push: + tags: + - '*' milestone: - types: [created, edited, deleted, closed, opened] + types: [created, edited, closed, opened] issues: types: [opened, edited, closed, reopened, deleted, milestoned, demilestoned] pull_request: types: [opened, edited, closed, reopened, milestoned, demilestoned] - push: - tags: - - '*' workflow_dispatch: inputs: milestone: @@ -30,21 +30,32 @@ jobs: script: | const { owner, repo } = context.repo; - async function syncMilestone(milestone) { - const milestoneTitle = milestone.title; - const milestoneNumber = milestone.number; - - // Find existing release by tag_name (includes drafts) - let release = null; + // Helper: Find release by tag name + async function findRelease(tagName) { for await (const response of github.paginate.iterator( github.rest.repos.listReleases, { owner, repo, per_page: 100 } )) { - release = response.data.find(r => r.tag_name === milestoneTitle); - if (release) break; + const release = response.data.find(r => r.tag_name === tagName); + if (release) return release; } + return null; + } - // Fetch all issues and PRs in milestone + // Helper: Find milestone by title + async function findMilestone(title) { + for await (const response of github.paginate.iterator( + github.rest.issues.listMilestones, + { owner, repo, state: 'all', per_page: 100 } + )) { + const milestone = response.data.find(m => m.title === title); + if (milestone) return milestone; + } + return null; + } + + // Helper: Generate release body from milestone + async function generateBody(milestoneNumber) { const items = []; for await (const response of github.paginate.iterator( github.rest.issues.listForRepo, @@ -52,74 +63,63 @@ jobs: )) { items.push(...response.data); } - - // Sort by number and generate body items.sort((a, b) => a.number - b.number); - const body = items.map(item => { + return items.map(item => { const checkbox = item.state === 'closed' ? '[x]' : '[ ]'; return `- ${checkbox} [#${item.number}](${item.html_url}) ${item.title}`; - }).join('\n'); - - // Determine if release should be draft or published - const isDraft = milestone.state === 'open'; - - if (release) { - await github.rest.repos.updateRelease({ - owner, repo, - release_id: release.id, - name: milestoneTitle, - body: body || 'No issues in this milestone yet.', - draft: isDraft - }); - console.log(`Updated release: ${milestoneTitle}`); - } else { - // Check if tag exists before creating release - let tagExists = false; - try { - await github.rest.git.getRef({ - owner, repo, - ref: `tags/${milestoneTitle}` - }); - tagExists = true; - } catch (error) { - if (error.status !== 404) throw error; - } + }).join('\n') || 'No issues in this milestone yet.'; + } - if (tagExists) { - await github.rest.repos.createRelease({ - owner, repo, - tag_name: milestoneTitle, - name: milestoneTitle, - body: body || 'No issues in this milestone yet.', - draft: isDraft - }); - console.log(`Created release: ${milestoneTitle}`); - } else { - console.log(`Skipping release creation: tag '${milestoneTitle}' does not exist`); - } + // Helper: Update existing release only + async function updateReleaseIfExists(milestone) { + const release = await findRelease(milestone.title); + if (!release) { + console.log(`No release found for ${milestone.title}, skipping`); + return; } + const body = await generateBody(milestone.number); + await github.rest.repos.updateRelease({ + owner, repo, + release_id: release.id, + body: body + }); + console.log(`Updated release: ${milestone.title}`); } - // Handle tag push - find matching milestone and sync + // Handle tag push events if (context.eventName === 'push' && context.ref.startsWith('refs/tags/')) { const tagName = context.ref.replace('refs/tags/', ''); - const milestones = []; - for await (const response of github.paginate.iterator( - github.rest.issues.listMilestones, - { owner, repo, state: 'all', per_page: 100 } - )) { - milestones.push(...response.data); - } - const milestone = milestones.find(ms => ms.title === tagName); - if (milestone) { - await syncMilestone(milestone); - } else { - console.log(`No milestone found matching tag '${tagName}'`); + + // Tag deleted + if (context.payload.deleted) { + const release = await findRelease(tagName); + if (release) { + await github.rest.repos.deleteRelease({ + owner, repo, release_id: release.id + }); + console.log(`Deleted release for tag: ${tagName}`); + } + return; } + + // Tag created - create release + const milestone = await findMilestone(tagName); + const body = milestone + ? await generateBody(milestone.number) + : ''; + + await github.rest.repos.createRelease({ + owner, repo, + tag_name: tagName, + name: tagName, + body: body, + draft: false + }); + console.log(`Created release for tag: ${tagName}`); return; } - // Handle manual trigger - rebuild all or specific milestone + // Handle workflow_dispatch - update only if (context.eventName === 'workflow_dispatch') { const inputMilestone = context.payload.inputs?.milestone; const milestones = []; @@ -129,16 +129,15 @@ jobs: )) { milestones.push(...response.data); } - for (const ms of milestones) { if (!inputMilestone || ms.title === inputMilestone) { - await syncMilestone(ms); + await updateReleaseIfExists(ms); } } return; } - // Get milestone from event + // Handle milestone/issue/PR events - update only let milestone = context.payload.milestone; if (!milestone && context.payload.issue?.milestone) { milestone = context.payload.issue.milestone; @@ -151,26 +150,4 @@ jobs: return; } - const eventAction = context.payload.action; - - // Handle milestone deleted - if (context.eventName === 'milestone' && eventAction === 'deleted') { - const milestoneTitle = milestone.title; - let release = null; - for await (const response of github.paginate.iterator( - github.rest.repos.listReleases, - { owner, repo, per_page: 100 } - )) { - release = response.data.find(r => r.tag_name === milestoneTitle); - if (release) break; - } - if (release) { - await github.rest.repos.deleteRelease({ - owner, repo, release_id: release.id - }); - console.log(`Deleted release for milestone: ${milestoneTitle}`); - } - return; - } - - await syncMilestone(milestone); + await updateReleaseIfExists(milestone); From dc2df549953406e4f5e221b3f6d1478a78d4d4a3 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Thu, 9 Jul 2026 16:17:13 +1000 Subject: [PATCH 11/14] docs --- docs/wiz/Linux_Other_Gui_Expecto_AppVeyor.md | 4 ++-- docs/wiz/Linux_Other_Gui_Expecto_AzureDevOps.md | 4 ++-- docs/wiz/Linux_Other_Gui_Expecto_GitHubActions.md | 4 ++-- docs/wiz/Linux_Other_Gui_Expecto_None.md | 4 ++-- docs/wiz/Linux_Other_Gui_Fixie_AppVeyor.md | 2 +- docs/wiz/Linux_Other_Gui_Fixie_AzureDevOps.md | 2 +- docs/wiz/Linux_Other_Gui_Fixie_GitHubActions.md | 2 +- docs/wiz/Linux_Other_Gui_Fixie_None.md | 2 +- docs/wiz/Linux_Other_Gui_MSTest_AppVeyor.md | 4 ++-- docs/wiz/Linux_Other_Gui_MSTest_AzureDevOps.md | 4 ++-- docs/wiz/Linux_Other_Gui_MSTest_GitHubActions.md | 4 ++-- docs/wiz/Linux_Other_Gui_MSTest_None.md | 4 ++-- docs/wiz/Linux_Other_Gui_NUnit_AppVeyor.md | 4 ++-- docs/wiz/Linux_Other_Gui_NUnit_AzureDevOps.md | 4 ++-- docs/wiz/Linux_Other_Gui_NUnit_GitHubActions.md | 4 ++-- docs/wiz/Linux_Other_Gui_NUnit_None.md | 4 ++-- docs/wiz/Linux_Other_Gui_TUnit_AppVeyor.md | 4 ++-- docs/wiz/Linux_Other_Gui_TUnit_AzureDevOps.md | 4 ++-- docs/wiz/Linux_Other_Gui_TUnit_GitHubActions.md | 4 ++-- docs/wiz/Linux_Other_Gui_TUnit_None.md | 4 ++-- docs/wiz/Linux_Other_Gui_XunitV3_AppVeyor.md | 4 ++-- docs/wiz/Linux_Other_Gui_XunitV3_AzureDevOps.md | 4 ++-- docs/wiz/Linux_Other_Gui_XunitV3_GitHubActions.md | 4 ++-- docs/wiz/Linux_Other_Gui_XunitV3_None.md | 4 ++-- docs/wiz/Linux_Rider_Gui_Expecto_AppVeyor.md | 4 ++-- docs/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.md | 4 ++-- docs/wiz/Linux_Rider_Gui_Expecto_GitHubActions.md | 4 ++-- docs/wiz/Linux_Rider_Gui_Expecto_None.md | 4 ++-- docs/wiz/Linux_Rider_Gui_Fixie_AppVeyor.md | 2 +- docs/wiz/Linux_Rider_Gui_Fixie_AzureDevOps.md | 2 +- docs/wiz/Linux_Rider_Gui_Fixie_GitHubActions.md | 2 +- docs/wiz/Linux_Rider_Gui_Fixie_None.md | 2 +- docs/wiz/Linux_Rider_Gui_MSTest_AppVeyor.md | 4 ++-- docs/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.md | 4 ++-- docs/wiz/Linux_Rider_Gui_MSTest_GitHubActions.md | 4 ++-- docs/wiz/Linux_Rider_Gui_MSTest_None.md | 4 ++-- docs/wiz/Linux_Rider_Gui_NUnit_AppVeyor.md | 4 ++-- docs/wiz/Linux_Rider_Gui_NUnit_AzureDevOps.md | 4 ++-- docs/wiz/Linux_Rider_Gui_NUnit_GitHubActions.md | 4 ++-- docs/wiz/Linux_Rider_Gui_NUnit_None.md | 4 ++-- docs/wiz/Linux_Rider_Gui_TUnit_AppVeyor.md | 4 ++-- docs/wiz/Linux_Rider_Gui_TUnit_AzureDevOps.md | 4 ++-- docs/wiz/Linux_Rider_Gui_TUnit_GitHubActions.md | 4 ++-- docs/wiz/Linux_Rider_Gui_TUnit_None.md | 4 ++-- docs/wiz/Linux_Rider_Gui_XunitV3_AppVeyor.md | 4 ++-- docs/wiz/Linux_Rider_Gui_XunitV3_AzureDevOps.md | 4 ++-- docs/wiz/Linux_Rider_Gui_XunitV3_GitHubActions.md | 4 ++-- docs/wiz/Linux_Rider_Gui_XunitV3_None.md | 4 ++-- docs/wiz/MacOS_Other_Gui_Expecto_AppVeyor.md | 4 ++-- docs/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.md | 4 ++-- docs/wiz/MacOS_Other_Gui_Expecto_GitHubActions.md | 4 ++-- docs/wiz/MacOS_Other_Gui_Expecto_None.md | 4 ++-- docs/wiz/MacOS_Other_Gui_Fixie_AppVeyor.md | 2 +- docs/wiz/MacOS_Other_Gui_Fixie_AzureDevOps.md | 2 +- docs/wiz/MacOS_Other_Gui_Fixie_GitHubActions.md | 2 +- docs/wiz/MacOS_Other_Gui_Fixie_None.md | 2 +- docs/wiz/MacOS_Other_Gui_MSTest_AppVeyor.md | 4 ++-- docs/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.md | 4 ++-- docs/wiz/MacOS_Other_Gui_MSTest_GitHubActions.md | 4 ++-- docs/wiz/MacOS_Other_Gui_MSTest_None.md | 4 ++-- docs/wiz/MacOS_Other_Gui_NUnit_AppVeyor.md | 4 ++-- docs/wiz/MacOS_Other_Gui_NUnit_AzureDevOps.md | 4 ++-- docs/wiz/MacOS_Other_Gui_NUnit_GitHubActions.md | 4 ++-- docs/wiz/MacOS_Other_Gui_NUnit_None.md | 4 ++-- docs/wiz/MacOS_Other_Gui_TUnit_AppVeyor.md | 4 ++-- docs/wiz/MacOS_Other_Gui_TUnit_AzureDevOps.md | 4 ++-- docs/wiz/MacOS_Other_Gui_TUnit_GitHubActions.md | 4 ++-- docs/wiz/MacOS_Other_Gui_TUnit_None.md | 4 ++-- docs/wiz/MacOS_Other_Gui_XunitV3_AppVeyor.md | 4 ++-- docs/wiz/MacOS_Other_Gui_XunitV3_AzureDevOps.md | 4 ++-- docs/wiz/MacOS_Other_Gui_XunitV3_GitHubActions.md | 4 ++-- docs/wiz/MacOS_Other_Gui_XunitV3_None.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_Expecto_None.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_Fixie_AppVeyor.md | 2 +- docs/wiz/MacOS_Rider_Gui_Fixie_AzureDevOps.md | 2 +- docs/wiz/MacOS_Rider_Gui_Fixie_GitHubActions.md | 2 +- docs/wiz/MacOS_Rider_Gui_Fixie_None.md | 2 +- docs/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_MSTest_None.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_NUnit_AppVeyor.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_NUnit_AzureDevOps.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_NUnit_GitHubActions.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_NUnit_None.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_TUnit_AppVeyor.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_TUnit_AzureDevOps.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_TUnit_GitHubActions.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_TUnit_None.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_XunitV3_AppVeyor.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_XunitV3_AzureDevOps.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_XunitV3_GitHubActions.md | 4 ++-- docs/wiz/MacOS_Rider_Gui_XunitV3_None.md | 4 ++-- docs/wiz/Windows_Other_Gui_Expecto_AppVeyor.md | 4 ++-- docs/wiz/Windows_Other_Gui_Expecto_AzureDevOps.md | 4 ++-- docs/wiz/Windows_Other_Gui_Expecto_GitHubActions.md | 4 ++-- docs/wiz/Windows_Other_Gui_Expecto_None.md | 4 ++-- docs/wiz/Windows_Other_Gui_Fixie_AppVeyor.md | 2 +- docs/wiz/Windows_Other_Gui_Fixie_AzureDevOps.md | 2 +- docs/wiz/Windows_Other_Gui_Fixie_GitHubActions.md | 2 +- docs/wiz/Windows_Other_Gui_Fixie_None.md | 2 +- docs/wiz/Windows_Other_Gui_MSTest_AppVeyor.md | 4 ++-- docs/wiz/Windows_Other_Gui_MSTest_AzureDevOps.md | 4 ++-- docs/wiz/Windows_Other_Gui_MSTest_GitHubActions.md | 4 ++-- docs/wiz/Windows_Other_Gui_MSTest_None.md | 4 ++-- docs/wiz/Windows_Other_Gui_NUnit_AppVeyor.md | 4 ++-- docs/wiz/Windows_Other_Gui_NUnit_AzureDevOps.md | 4 ++-- docs/wiz/Windows_Other_Gui_NUnit_GitHubActions.md | 4 ++-- docs/wiz/Windows_Other_Gui_NUnit_None.md | 4 ++-- docs/wiz/Windows_Other_Gui_TUnit_AppVeyor.md | 4 ++-- docs/wiz/Windows_Other_Gui_TUnit_AzureDevOps.md | 4 ++-- docs/wiz/Windows_Other_Gui_TUnit_GitHubActions.md | 4 ++-- docs/wiz/Windows_Other_Gui_TUnit_None.md | 4 ++-- docs/wiz/Windows_Other_Gui_XunitV3_AppVeyor.md | 4 ++-- docs/wiz/Windows_Other_Gui_XunitV3_AzureDevOps.md | 4 ++-- docs/wiz/Windows_Other_Gui_XunitV3_GitHubActions.md | 4 ++-- docs/wiz/Windows_Other_Gui_XunitV3_None.md | 4 ++-- docs/wiz/Windows_Rider_Gui_Expecto_AppVeyor.md | 4 ++-- docs/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.md | 4 ++-- docs/wiz/Windows_Rider_Gui_Expecto_GitHubActions.md | 4 ++-- docs/wiz/Windows_Rider_Gui_Expecto_None.md | 4 ++-- docs/wiz/Windows_Rider_Gui_Fixie_AppVeyor.md | 2 +- docs/wiz/Windows_Rider_Gui_Fixie_AzureDevOps.md | 2 +- docs/wiz/Windows_Rider_Gui_Fixie_GitHubActions.md | 2 +- docs/wiz/Windows_Rider_Gui_Fixie_None.md | 2 +- docs/wiz/Windows_Rider_Gui_MSTest_AppVeyor.md | 4 ++-- docs/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.md | 4 ++-- docs/wiz/Windows_Rider_Gui_MSTest_GitHubActions.md | 4 ++-- docs/wiz/Windows_Rider_Gui_MSTest_None.md | 4 ++-- docs/wiz/Windows_Rider_Gui_NUnit_AppVeyor.md | 4 ++-- docs/wiz/Windows_Rider_Gui_NUnit_AzureDevOps.md | 4 ++-- docs/wiz/Windows_Rider_Gui_NUnit_GitHubActions.md | 4 ++-- docs/wiz/Windows_Rider_Gui_NUnit_None.md | 4 ++-- docs/wiz/Windows_Rider_Gui_TUnit_AppVeyor.md | 4 ++-- docs/wiz/Windows_Rider_Gui_TUnit_AzureDevOps.md | 4 ++-- docs/wiz/Windows_Rider_Gui_TUnit_GitHubActions.md | 4 ++-- docs/wiz/Windows_Rider_Gui_TUnit_None.md | 4 ++-- docs/wiz/Windows_Rider_Gui_XunitV3_AppVeyor.md | 4 ++-- docs/wiz/Windows_Rider_Gui_XunitV3_AzureDevOps.md | 4 ++-- docs/wiz/Windows_Rider_Gui_XunitV3_GitHubActions.md | 4 ++-- docs/wiz/Windows_Rider_Gui_XunitV3_None.md | 4 ++-- ...ndows_VisualStudioWithReSharper_Gui_Expecto_AppVeyor.md | 4 ++-- ...ws_VisualStudioWithReSharper_Gui_Expecto_AzureDevOps.md | 4 ++-- ..._VisualStudioWithReSharper_Gui_Expecto_GitHubActions.md | 4 ++-- .../Windows_VisualStudioWithReSharper_Gui_Expecto_None.md | 4 ++-- ...Windows_VisualStudioWithReSharper_Gui_Fixie_AppVeyor.md | 2 +- ...dows_VisualStudioWithReSharper_Gui_Fixie_AzureDevOps.md | 2 +- ...ws_VisualStudioWithReSharper_Gui_Fixie_GitHubActions.md | 2 +- .../Windows_VisualStudioWithReSharper_Gui_Fixie_None.md | 2 +- ...indows_VisualStudioWithReSharper_Gui_MSTest_AppVeyor.md | 4 ++-- ...ows_VisualStudioWithReSharper_Gui_MSTest_AzureDevOps.md | 4 ++-- ...s_VisualStudioWithReSharper_Gui_MSTest_GitHubActions.md | 4 ++-- .../Windows_VisualStudioWithReSharper_Gui_MSTest_None.md | 4 ++-- ...Windows_VisualStudioWithReSharper_Gui_NUnit_AppVeyor.md | 4 ++-- ...dows_VisualStudioWithReSharper_Gui_NUnit_AzureDevOps.md | 4 ++-- ...ws_VisualStudioWithReSharper_Gui_NUnit_GitHubActions.md | 4 ++-- .../Windows_VisualStudioWithReSharper_Gui_NUnit_None.md | 4 ++-- ...Windows_VisualStudioWithReSharper_Gui_TUnit_AppVeyor.md | 4 ++-- ...dows_VisualStudioWithReSharper_Gui_TUnit_AzureDevOps.md | 4 ++-- ...ws_VisualStudioWithReSharper_Gui_TUnit_GitHubActions.md | 4 ++-- .../Windows_VisualStudioWithReSharper_Gui_TUnit_None.md | 4 ++-- ...ndows_VisualStudioWithReSharper_Gui_XunitV3_AppVeyor.md | 4 ++-- ...ws_VisualStudioWithReSharper_Gui_XunitV3_AzureDevOps.md | 4 ++-- ..._VisualStudioWithReSharper_Gui_XunitV3_GitHubActions.md | 4 ++-- .../Windows_VisualStudioWithReSharper_Gui_XunitV3_None.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_Expecto_AppVeyor.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_Expecto_AzureDevOps.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_Expecto_GitHubActions.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_Expecto_None.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_Fixie_AppVeyor.md | 2 +- docs/wiz/Windows_VisualStudio_Gui_Fixie_AzureDevOps.md | 2 +- docs/wiz/Windows_VisualStudio_Gui_Fixie_GitHubActions.md | 2 +- docs/wiz/Windows_VisualStudio_Gui_Fixie_None.md | 2 +- docs/wiz/Windows_VisualStudio_Gui_MSTest_AppVeyor.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_MSTest_AzureDevOps.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_MSTest_GitHubActions.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_MSTest_None.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_NUnit_AppVeyor.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_NUnit_AzureDevOps.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_NUnit_GitHubActions.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_NUnit_None.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_TUnit_AppVeyor.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_TUnit_AzureDevOps.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_TUnit_GitHubActions.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_TUnit_None.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_XunitV3_AppVeyor.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_XunitV3_AzureDevOps.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_XunitV3_GitHubActions.md | 4 ++-- docs/wiz/Windows_VisualStudio_Gui_XunitV3_None.md | 4 ++-- src/Verify.ClipboardAccept/ClipboardEnabled.cs | 3 ++- src/Verify.Tests/Snippets/BypassComparerSnippets.cs | 1 + src/Verify/Counter_NumericId.cs | 7 ++++--- usages/ExpectoNugetUsage/ExpectoNugetUsage.fsproj | 4 ++-- usages/FixieNugetUsage/FixieNugetUsage.csproj | 2 +- usages/MSTestNugetUsage/MSTestNugetUsage.csproj | 4 ++-- usages/NUnitNugetUsage/NUnitNugetUsage.csproj | 4 ++-- usages/TUnitNugetUsage/TUnitNugetUsage.csproj | 4 ++-- usages/XunitV3NugetUsage/XunitV3NugetUsage.csproj | 4 ++-- 201 files changed, 370 insertions(+), 367 deletions(-) diff --git a/docs/wiz/Linux_Other_Gui_Expecto_AppVeyor.md b/docs/wiz/Linux_Other_Gui_Expecto_AppVeyor.md index e3ce29dc28..4d46bbdbf0 100644 --- a/docs/wiz/Linux_Other_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/Linux_Other_Gui_Expecto_AppVeyor.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_Expecto_AzureDevOps.md b/docs/wiz/Linux_Other_Gui_Expecto_AzureDevOps.md index 327e3f53d4..406812a241 100644 --- a/docs/wiz/Linux_Other_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/Linux_Other_Gui_Expecto_AzureDevOps.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_Expecto_GitHubActions.md b/docs/wiz/Linux_Other_Gui_Expecto_GitHubActions.md index b51921e2ea..88f30b5607 100644 --- a/docs/wiz/Linux_Other_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/Linux_Other_Gui_Expecto_GitHubActions.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_Expecto_None.md b/docs/wiz/Linux_Other_Gui_Expecto_None.md index cf5ea848a9..4418c9fbc6 100644 --- a/docs/wiz/Linux_Other_Gui_Expecto_None.md +++ b/docs/wiz/Linux_Other_Gui_Expecto_None.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_Fixie_AppVeyor.md b/docs/wiz/Linux_Other_Gui_Fixie_AppVeyor.md index 362cfdc161..3baa1614fd 100644 --- a/docs/wiz/Linux_Other_Gui_Fixie_AppVeyor.md +++ b/docs/wiz/Linux_Other_Gui_Fixie_AppVeyor.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_Fixie_AzureDevOps.md b/docs/wiz/Linux_Other_Gui_Fixie_AzureDevOps.md index 5c0f295c3e..46f68eb676 100644 --- a/docs/wiz/Linux_Other_Gui_Fixie_AzureDevOps.md +++ b/docs/wiz/Linux_Other_Gui_Fixie_AzureDevOps.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_Fixie_GitHubActions.md b/docs/wiz/Linux_Other_Gui_Fixie_GitHubActions.md index caa8ff6d6f..28046b8724 100644 --- a/docs/wiz/Linux_Other_Gui_Fixie_GitHubActions.md +++ b/docs/wiz/Linux_Other_Gui_Fixie_GitHubActions.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_Fixie_None.md b/docs/wiz/Linux_Other_Gui_Fixie_None.md index e2bb3631bc..22f492063d 100644 --- a/docs/wiz/Linux_Other_Gui_Fixie_None.md +++ b/docs/wiz/Linux_Other_Gui_Fixie_None.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_MSTest_AppVeyor.md b/docs/wiz/Linux_Other_Gui_MSTest_AppVeyor.md index c6d1a83d2d..c94d2e0de2 100644 --- a/docs/wiz/Linux_Other_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/Linux_Other_Gui_MSTest_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_MSTest_AzureDevOps.md b/docs/wiz/Linux_Other_Gui_MSTest_AzureDevOps.md index ff14a44c45..7317707c13 100644 --- a/docs/wiz/Linux_Other_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/Linux_Other_Gui_MSTest_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_MSTest_GitHubActions.md b/docs/wiz/Linux_Other_Gui_MSTest_GitHubActions.md index 614626ec72..68e8201ca9 100644 --- a/docs/wiz/Linux_Other_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/Linux_Other_Gui_MSTest_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_MSTest_None.md b/docs/wiz/Linux_Other_Gui_MSTest_None.md index 07740442ac..0c5190b45e 100644 --- a/docs/wiz/Linux_Other_Gui_MSTest_None.md +++ b/docs/wiz/Linux_Other_Gui_MSTest_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_NUnit_AppVeyor.md b/docs/wiz/Linux_Other_Gui_NUnit_AppVeyor.md index 2236c5557d..f2bfb2c3e8 100644 --- a/docs/wiz/Linux_Other_Gui_NUnit_AppVeyor.md +++ b/docs/wiz/Linux_Other_Gui_NUnit_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_NUnit_AzureDevOps.md b/docs/wiz/Linux_Other_Gui_NUnit_AzureDevOps.md index 21d1e95ace..c8d3404e73 100644 --- a/docs/wiz/Linux_Other_Gui_NUnit_AzureDevOps.md +++ b/docs/wiz/Linux_Other_Gui_NUnit_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_NUnit_GitHubActions.md b/docs/wiz/Linux_Other_Gui_NUnit_GitHubActions.md index 57097728c1..27788c028b 100644 --- a/docs/wiz/Linux_Other_Gui_NUnit_GitHubActions.md +++ b/docs/wiz/Linux_Other_Gui_NUnit_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_NUnit_None.md b/docs/wiz/Linux_Other_Gui_NUnit_None.md index 1f86a4983b..a75c9357bb 100644 --- a/docs/wiz/Linux_Other_Gui_NUnit_None.md +++ b/docs/wiz/Linux_Other_Gui_NUnit_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_TUnit_AppVeyor.md b/docs/wiz/Linux_Other_Gui_TUnit_AppVeyor.md index 1dabccb8d8..8ad0101c3a 100644 --- a/docs/wiz/Linux_Other_Gui_TUnit_AppVeyor.md +++ b/docs/wiz/Linux_Other_Gui_TUnit_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_TUnit_AzureDevOps.md b/docs/wiz/Linux_Other_Gui_TUnit_AzureDevOps.md index 81b9cb7940..5aeb95f07e 100644 --- a/docs/wiz/Linux_Other_Gui_TUnit_AzureDevOps.md +++ b/docs/wiz/Linux_Other_Gui_TUnit_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_TUnit_GitHubActions.md b/docs/wiz/Linux_Other_Gui_TUnit_GitHubActions.md index 63a4112c8b..ce3fb0dbf0 100644 --- a/docs/wiz/Linux_Other_Gui_TUnit_GitHubActions.md +++ b/docs/wiz/Linux_Other_Gui_TUnit_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_TUnit_None.md b/docs/wiz/Linux_Other_Gui_TUnit_None.md index 587c15f703..36459380c7 100644 --- a/docs/wiz/Linux_Other_Gui_TUnit_None.md +++ b/docs/wiz/Linux_Other_Gui_TUnit_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_XunitV3_AppVeyor.md b/docs/wiz/Linux_Other_Gui_XunitV3_AppVeyor.md index 9a77a66959..9aebc24eb4 100644 --- a/docs/wiz/Linux_Other_Gui_XunitV3_AppVeyor.md +++ b/docs/wiz/Linux_Other_Gui_XunitV3_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_XunitV3_AzureDevOps.md b/docs/wiz/Linux_Other_Gui_XunitV3_AzureDevOps.md index 2d6e0289c0..eec6c272dd 100644 --- a/docs/wiz/Linux_Other_Gui_XunitV3_AzureDevOps.md +++ b/docs/wiz/Linux_Other_Gui_XunitV3_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_XunitV3_GitHubActions.md b/docs/wiz/Linux_Other_Gui_XunitV3_GitHubActions.md index 457fc329f8..1c7e15e66a 100644 --- a/docs/wiz/Linux_Other_Gui_XunitV3_GitHubActions.md +++ b/docs/wiz/Linux_Other_Gui_XunitV3_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_XunitV3_None.md b/docs/wiz/Linux_Other_Gui_XunitV3_None.md index fe6b919520..cc6e266a6c 100644 --- a/docs/wiz/Linux_Other_Gui_XunitV3_None.md +++ b/docs/wiz/Linux_Other_Gui_XunitV3_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_Expecto_AppVeyor.md b/docs/wiz/Linux_Rider_Gui_Expecto_AppVeyor.md index 65e7bac984..0c4681ba20 100644 --- a/docs/wiz/Linux_Rider_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/Linux_Rider_Gui_Expecto_AppVeyor.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.md b/docs/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.md index 29a9dd37c6..aabc3eaff7 100644 --- a/docs/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/Linux_Rider_Gui_Expecto_AzureDevOps.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_Expecto_GitHubActions.md b/docs/wiz/Linux_Rider_Gui_Expecto_GitHubActions.md index 033c50cbbf..a90b920cfb 100644 --- a/docs/wiz/Linux_Rider_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/Linux_Rider_Gui_Expecto_GitHubActions.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_Expecto_None.md b/docs/wiz/Linux_Rider_Gui_Expecto_None.md index a08bd30af6..24bf4c4acd 100644 --- a/docs/wiz/Linux_Rider_Gui_Expecto_None.md +++ b/docs/wiz/Linux_Rider_Gui_Expecto_None.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_Fixie_AppVeyor.md b/docs/wiz/Linux_Rider_Gui_Fixie_AppVeyor.md index 259c344250..9e2191f28c 100644 --- a/docs/wiz/Linux_Rider_Gui_Fixie_AppVeyor.md +++ b/docs/wiz/Linux_Rider_Gui_Fixie_AppVeyor.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_Fixie_AzureDevOps.md b/docs/wiz/Linux_Rider_Gui_Fixie_AzureDevOps.md index c4152054f5..5e1aecb4a8 100644 --- a/docs/wiz/Linux_Rider_Gui_Fixie_AzureDevOps.md +++ b/docs/wiz/Linux_Rider_Gui_Fixie_AzureDevOps.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_Fixie_GitHubActions.md b/docs/wiz/Linux_Rider_Gui_Fixie_GitHubActions.md index 9ed2345aae..92847702d4 100644 --- a/docs/wiz/Linux_Rider_Gui_Fixie_GitHubActions.md +++ b/docs/wiz/Linux_Rider_Gui_Fixie_GitHubActions.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_Fixie_None.md b/docs/wiz/Linux_Rider_Gui_Fixie_None.md index 77d8b5ad91..6849fec7de 100644 --- a/docs/wiz/Linux_Rider_Gui_Fixie_None.md +++ b/docs/wiz/Linux_Rider_Gui_Fixie_None.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_MSTest_AppVeyor.md b/docs/wiz/Linux_Rider_Gui_MSTest_AppVeyor.md index 4c02f11ff5..2dc8b86ef6 100644 --- a/docs/wiz/Linux_Rider_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/Linux_Rider_Gui_MSTest_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.md b/docs/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.md index d603877074..f8b81b4c2a 100644 --- a/docs/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_MSTest_GitHubActions.md b/docs/wiz/Linux_Rider_Gui_MSTest_GitHubActions.md index 101505d900..b3d745510c 100644 --- a/docs/wiz/Linux_Rider_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/Linux_Rider_Gui_MSTest_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_MSTest_None.md b/docs/wiz/Linux_Rider_Gui_MSTest_None.md index a7c8171914..a8407085f8 100644 --- a/docs/wiz/Linux_Rider_Gui_MSTest_None.md +++ b/docs/wiz/Linux_Rider_Gui_MSTest_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_NUnit_AppVeyor.md b/docs/wiz/Linux_Rider_Gui_NUnit_AppVeyor.md index a755641472..d9076437a9 100644 --- a/docs/wiz/Linux_Rider_Gui_NUnit_AppVeyor.md +++ b/docs/wiz/Linux_Rider_Gui_NUnit_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_NUnit_AzureDevOps.md b/docs/wiz/Linux_Rider_Gui_NUnit_AzureDevOps.md index 9556f27adf..0aa6d7466a 100644 --- a/docs/wiz/Linux_Rider_Gui_NUnit_AzureDevOps.md +++ b/docs/wiz/Linux_Rider_Gui_NUnit_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_NUnit_GitHubActions.md b/docs/wiz/Linux_Rider_Gui_NUnit_GitHubActions.md index 8a62a57c9f..1efd6a3086 100644 --- a/docs/wiz/Linux_Rider_Gui_NUnit_GitHubActions.md +++ b/docs/wiz/Linux_Rider_Gui_NUnit_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_NUnit_None.md b/docs/wiz/Linux_Rider_Gui_NUnit_None.md index 5f4b52a587..af408634e6 100644 --- a/docs/wiz/Linux_Rider_Gui_NUnit_None.md +++ b/docs/wiz/Linux_Rider_Gui_NUnit_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_TUnit_AppVeyor.md b/docs/wiz/Linux_Rider_Gui_TUnit_AppVeyor.md index 50be30a700..2cdaef3741 100644 --- a/docs/wiz/Linux_Rider_Gui_TUnit_AppVeyor.md +++ b/docs/wiz/Linux_Rider_Gui_TUnit_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_TUnit_AzureDevOps.md b/docs/wiz/Linux_Rider_Gui_TUnit_AzureDevOps.md index 81f75f1d68..0a3f2f3074 100644 --- a/docs/wiz/Linux_Rider_Gui_TUnit_AzureDevOps.md +++ b/docs/wiz/Linux_Rider_Gui_TUnit_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_TUnit_GitHubActions.md b/docs/wiz/Linux_Rider_Gui_TUnit_GitHubActions.md index 99c20ec976..05a57679b9 100644 --- a/docs/wiz/Linux_Rider_Gui_TUnit_GitHubActions.md +++ b/docs/wiz/Linux_Rider_Gui_TUnit_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_TUnit_None.md b/docs/wiz/Linux_Rider_Gui_TUnit_None.md index 5be067aa7f..6ad43b887c 100644 --- a/docs/wiz/Linux_Rider_Gui_TUnit_None.md +++ b/docs/wiz/Linux_Rider_Gui_TUnit_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_XunitV3_AppVeyor.md b/docs/wiz/Linux_Rider_Gui_XunitV3_AppVeyor.md index 8b2f20d89c..c74059e3e0 100644 --- a/docs/wiz/Linux_Rider_Gui_XunitV3_AppVeyor.md +++ b/docs/wiz/Linux_Rider_Gui_XunitV3_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_XunitV3_AzureDevOps.md b/docs/wiz/Linux_Rider_Gui_XunitV3_AzureDevOps.md index e1b3c22c34..4e65249838 100644 --- a/docs/wiz/Linux_Rider_Gui_XunitV3_AzureDevOps.md +++ b/docs/wiz/Linux_Rider_Gui_XunitV3_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_XunitV3_GitHubActions.md b/docs/wiz/Linux_Rider_Gui_XunitV3_GitHubActions.md index 7ce4887263..3b9d026605 100644 --- a/docs/wiz/Linux_Rider_Gui_XunitV3_GitHubActions.md +++ b/docs/wiz/Linux_Rider_Gui_XunitV3_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_XunitV3_None.md b/docs/wiz/Linux_Rider_Gui_XunitV3_None.md index 113256a8b7..07146599c0 100644 --- a/docs/wiz/Linux_Rider_Gui_XunitV3_None.md +++ b/docs/wiz/Linux_Rider_Gui_XunitV3_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_Expecto_AppVeyor.md b/docs/wiz/MacOS_Other_Gui_Expecto_AppVeyor.md index 25063f0292..2cf281b812 100644 --- a/docs/wiz/MacOS_Other_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/MacOS_Other_Gui_Expecto_AppVeyor.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.md b/docs/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.md index 47c77a3fc2..7dedc7e103 100644 --- a/docs/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/MacOS_Other_Gui_Expecto_AzureDevOps.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_Expecto_GitHubActions.md b/docs/wiz/MacOS_Other_Gui_Expecto_GitHubActions.md index b1a211e15b..2a037d0030 100644 --- a/docs/wiz/MacOS_Other_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/MacOS_Other_Gui_Expecto_GitHubActions.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_Expecto_None.md b/docs/wiz/MacOS_Other_Gui_Expecto_None.md index 0076b9a18a..31c16dc07e 100644 --- a/docs/wiz/MacOS_Other_Gui_Expecto_None.md +++ b/docs/wiz/MacOS_Other_Gui_Expecto_None.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_Fixie_AppVeyor.md b/docs/wiz/MacOS_Other_Gui_Fixie_AppVeyor.md index 0dfe5f16ed..cd1a7fa004 100644 --- a/docs/wiz/MacOS_Other_Gui_Fixie_AppVeyor.md +++ b/docs/wiz/MacOS_Other_Gui_Fixie_AppVeyor.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_Fixie_AzureDevOps.md b/docs/wiz/MacOS_Other_Gui_Fixie_AzureDevOps.md index 077bda85c7..89cefdd785 100644 --- a/docs/wiz/MacOS_Other_Gui_Fixie_AzureDevOps.md +++ b/docs/wiz/MacOS_Other_Gui_Fixie_AzureDevOps.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_Fixie_GitHubActions.md b/docs/wiz/MacOS_Other_Gui_Fixie_GitHubActions.md index 14f0bca4f8..139ff299af 100644 --- a/docs/wiz/MacOS_Other_Gui_Fixie_GitHubActions.md +++ b/docs/wiz/MacOS_Other_Gui_Fixie_GitHubActions.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_Fixie_None.md b/docs/wiz/MacOS_Other_Gui_Fixie_None.md index 3695fb1d60..8f72a5b68d 100644 --- a/docs/wiz/MacOS_Other_Gui_Fixie_None.md +++ b/docs/wiz/MacOS_Other_Gui_Fixie_None.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_MSTest_AppVeyor.md b/docs/wiz/MacOS_Other_Gui_MSTest_AppVeyor.md index 84b4fee54f..48e232e20f 100644 --- a/docs/wiz/MacOS_Other_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/MacOS_Other_Gui_MSTest_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.md b/docs/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.md index f7aa881eb3..4b3bd29971 100644 --- a/docs/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_MSTest_GitHubActions.md b/docs/wiz/MacOS_Other_Gui_MSTest_GitHubActions.md index b2127274e4..159b4c2188 100644 --- a/docs/wiz/MacOS_Other_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/MacOS_Other_Gui_MSTest_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_MSTest_None.md b/docs/wiz/MacOS_Other_Gui_MSTest_None.md index 3185574ebb..5fbc0f7882 100644 --- a/docs/wiz/MacOS_Other_Gui_MSTest_None.md +++ b/docs/wiz/MacOS_Other_Gui_MSTest_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_NUnit_AppVeyor.md b/docs/wiz/MacOS_Other_Gui_NUnit_AppVeyor.md index ecef2a7b1a..2cdc891b12 100644 --- a/docs/wiz/MacOS_Other_Gui_NUnit_AppVeyor.md +++ b/docs/wiz/MacOS_Other_Gui_NUnit_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_NUnit_AzureDevOps.md b/docs/wiz/MacOS_Other_Gui_NUnit_AzureDevOps.md index 150a203b1a..74b6dd3815 100644 --- a/docs/wiz/MacOS_Other_Gui_NUnit_AzureDevOps.md +++ b/docs/wiz/MacOS_Other_Gui_NUnit_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_NUnit_GitHubActions.md b/docs/wiz/MacOS_Other_Gui_NUnit_GitHubActions.md index 1f700f1738..7d708e8df1 100644 --- a/docs/wiz/MacOS_Other_Gui_NUnit_GitHubActions.md +++ b/docs/wiz/MacOS_Other_Gui_NUnit_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_NUnit_None.md b/docs/wiz/MacOS_Other_Gui_NUnit_None.md index db4c62c7c9..9f0bba5446 100644 --- a/docs/wiz/MacOS_Other_Gui_NUnit_None.md +++ b/docs/wiz/MacOS_Other_Gui_NUnit_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_TUnit_AppVeyor.md b/docs/wiz/MacOS_Other_Gui_TUnit_AppVeyor.md index faf0a397af..e1ac999745 100644 --- a/docs/wiz/MacOS_Other_Gui_TUnit_AppVeyor.md +++ b/docs/wiz/MacOS_Other_Gui_TUnit_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_TUnit_AzureDevOps.md b/docs/wiz/MacOS_Other_Gui_TUnit_AzureDevOps.md index c87a93cb99..f4d2a6e64e 100644 --- a/docs/wiz/MacOS_Other_Gui_TUnit_AzureDevOps.md +++ b/docs/wiz/MacOS_Other_Gui_TUnit_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_TUnit_GitHubActions.md b/docs/wiz/MacOS_Other_Gui_TUnit_GitHubActions.md index 647bb996ad..35f743c68b 100644 --- a/docs/wiz/MacOS_Other_Gui_TUnit_GitHubActions.md +++ b/docs/wiz/MacOS_Other_Gui_TUnit_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_TUnit_None.md b/docs/wiz/MacOS_Other_Gui_TUnit_None.md index b23ac72d08..258be2e2ce 100644 --- a/docs/wiz/MacOS_Other_Gui_TUnit_None.md +++ b/docs/wiz/MacOS_Other_Gui_TUnit_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_XunitV3_AppVeyor.md b/docs/wiz/MacOS_Other_Gui_XunitV3_AppVeyor.md index 5ad47c18cc..56ff88232b 100644 --- a/docs/wiz/MacOS_Other_Gui_XunitV3_AppVeyor.md +++ b/docs/wiz/MacOS_Other_Gui_XunitV3_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_XunitV3_AzureDevOps.md b/docs/wiz/MacOS_Other_Gui_XunitV3_AzureDevOps.md index a0693d27bb..7cb1ad6214 100644 --- a/docs/wiz/MacOS_Other_Gui_XunitV3_AzureDevOps.md +++ b/docs/wiz/MacOS_Other_Gui_XunitV3_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_XunitV3_GitHubActions.md b/docs/wiz/MacOS_Other_Gui_XunitV3_GitHubActions.md index 84fb2616e2..2353a06fbf 100644 --- a/docs/wiz/MacOS_Other_Gui_XunitV3_GitHubActions.md +++ b/docs/wiz/MacOS_Other_Gui_XunitV3_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_XunitV3_None.md b/docs/wiz/MacOS_Other_Gui_XunitV3_None.md index 331f5554a2..b28229b4d0 100644 --- a/docs/wiz/MacOS_Other_Gui_XunitV3_None.md +++ b/docs/wiz/MacOS_Other_Gui_XunitV3_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.md b/docs/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.md index 7a25cb735d..ba0217a1f9 100644 --- a/docs/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/MacOS_Rider_Gui_Expecto_AppVeyor.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.md b/docs/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.md index fa5ba335a7..fb03ddf204 100644 --- a/docs/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/MacOS_Rider_Gui_Expecto_AzureDevOps.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.md b/docs/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.md index e294ec27b5..7c42f268e5 100644 --- a/docs/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/MacOS_Rider_Gui_Expecto_GitHubActions.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_Expecto_None.md b/docs/wiz/MacOS_Rider_Gui_Expecto_None.md index ba1142beb7..66f3997910 100644 --- a/docs/wiz/MacOS_Rider_Gui_Expecto_None.md +++ b/docs/wiz/MacOS_Rider_Gui_Expecto_None.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_Fixie_AppVeyor.md b/docs/wiz/MacOS_Rider_Gui_Fixie_AppVeyor.md index bb9e129dde..0b153cbfda 100644 --- a/docs/wiz/MacOS_Rider_Gui_Fixie_AppVeyor.md +++ b/docs/wiz/MacOS_Rider_Gui_Fixie_AppVeyor.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_Fixie_AzureDevOps.md b/docs/wiz/MacOS_Rider_Gui_Fixie_AzureDevOps.md index 0ec4a70d22..979d7a3635 100644 --- a/docs/wiz/MacOS_Rider_Gui_Fixie_AzureDevOps.md +++ b/docs/wiz/MacOS_Rider_Gui_Fixie_AzureDevOps.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_Fixie_GitHubActions.md b/docs/wiz/MacOS_Rider_Gui_Fixie_GitHubActions.md index 9ce935af40..b2f9955799 100644 --- a/docs/wiz/MacOS_Rider_Gui_Fixie_GitHubActions.md +++ b/docs/wiz/MacOS_Rider_Gui_Fixie_GitHubActions.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_Fixie_None.md b/docs/wiz/MacOS_Rider_Gui_Fixie_None.md index fa05932c7d..21e1466851 100644 --- a/docs/wiz/MacOS_Rider_Gui_Fixie_None.md +++ b/docs/wiz/MacOS_Rider_Gui_Fixie_None.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.md b/docs/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.md index 9fad21717e..3c1d2faa89 100644 --- a/docs/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.md b/docs/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.md index 7de8a61458..e2144bfd3f 100644 --- a/docs/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.md b/docs/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.md index be2241d1cc..3e43ec8907 100644 --- a/docs/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_MSTest_None.md b/docs/wiz/MacOS_Rider_Gui_MSTest_None.md index f8f64c5b1e..5ec3257e53 100644 --- a/docs/wiz/MacOS_Rider_Gui_MSTest_None.md +++ b/docs/wiz/MacOS_Rider_Gui_MSTest_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_NUnit_AppVeyor.md b/docs/wiz/MacOS_Rider_Gui_NUnit_AppVeyor.md index d5b3963e0c..313951ebeb 100644 --- a/docs/wiz/MacOS_Rider_Gui_NUnit_AppVeyor.md +++ b/docs/wiz/MacOS_Rider_Gui_NUnit_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_NUnit_AzureDevOps.md b/docs/wiz/MacOS_Rider_Gui_NUnit_AzureDevOps.md index 50304f051f..c1e7eb9fb1 100644 --- a/docs/wiz/MacOS_Rider_Gui_NUnit_AzureDevOps.md +++ b/docs/wiz/MacOS_Rider_Gui_NUnit_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_NUnit_GitHubActions.md b/docs/wiz/MacOS_Rider_Gui_NUnit_GitHubActions.md index c35046493e..0b2e941b80 100644 --- a/docs/wiz/MacOS_Rider_Gui_NUnit_GitHubActions.md +++ b/docs/wiz/MacOS_Rider_Gui_NUnit_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_NUnit_None.md b/docs/wiz/MacOS_Rider_Gui_NUnit_None.md index c834b84321..0c026eb021 100644 --- a/docs/wiz/MacOS_Rider_Gui_NUnit_None.md +++ b/docs/wiz/MacOS_Rider_Gui_NUnit_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_TUnit_AppVeyor.md b/docs/wiz/MacOS_Rider_Gui_TUnit_AppVeyor.md index 8ad38b3591..0116585b09 100644 --- a/docs/wiz/MacOS_Rider_Gui_TUnit_AppVeyor.md +++ b/docs/wiz/MacOS_Rider_Gui_TUnit_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_TUnit_AzureDevOps.md b/docs/wiz/MacOS_Rider_Gui_TUnit_AzureDevOps.md index 69830a3ba1..102e75c319 100644 --- a/docs/wiz/MacOS_Rider_Gui_TUnit_AzureDevOps.md +++ b/docs/wiz/MacOS_Rider_Gui_TUnit_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_TUnit_GitHubActions.md b/docs/wiz/MacOS_Rider_Gui_TUnit_GitHubActions.md index d1a654bc66..9679620735 100644 --- a/docs/wiz/MacOS_Rider_Gui_TUnit_GitHubActions.md +++ b/docs/wiz/MacOS_Rider_Gui_TUnit_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_TUnit_None.md b/docs/wiz/MacOS_Rider_Gui_TUnit_None.md index 2d75dcaf1e..ffab82e470 100644 --- a/docs/wiz/MacOS_Rider_Gui_TUnit_None.md +++ b/docs/wiz/MacOS_Rider_Gui_TUnit_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_XunitV3_AppVeyor.md b/docs/wiz/MacOS_Rider_Gui_XunitV3_AppVeyor.md index d79009a0a9..05b43fcffc 100644 --- a/docs/wiz/MacOS_Rider_Gui_XunitV3_AppVeyor.md +++ b/docs/wiz/MacOS_Rider_Gui_XunitV3_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_XunitV3_AzureDevOps.md b/docs/wiz/MacOS_Rider_Gui_XunitV3_AzureDevOps.md index 7923961415..d35ce0e037 100644 --- a/docs/wiz/MacOS_Rider_Gui_XunitV3_AzureDevOps.md +++ b/docs/wiz/MacOS_Rider_Gui_XunitV3_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_XunitV3_GitHubActions.md b/docs/wiz/MacOS_Rider_Gui_XunitV3_GitHubActions.md index eb69c1e37b..31b3817593 100644 --- a/docs/wiz/MacOS_Rider_Gui_XunitV3_GitHubActions.md +++ b/docs/wiz/MacOS_Rider_Gui_XunitV3_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_XunitV3_None.md b/docs/wiz/MacOS_Rider_Gui_XunitV3_None.md index f9ec475d54..62369dffe6 100644 --- a/docs/wiz/MacOS_Rider_Gui_XunitV3_None.md +++ b/docs/wiz/MacOS_Rider_Gui_XunitV3_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_Expecto_AppVeyor.md b/docs/wiz/Windows_Other_Gui_Expecto_AppVeyor.md index 65a0a6cc24..3885728981 100644 --- a/docs/wiz/Windows_Other_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/Windows_Other_Gui_Expecto_AppVeyor.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_Expecto_AzureDevOps.md b/docs/wiz/Windows_Other_Gui_Expecto_AzureDevOps.md index 1079289c67..9dcda8b6a8 100644 --- a/docs/wiz/Windows_Other_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/Windows_Other_Gui_Expecto_AzureDevOps.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_Expecto_GitHubActions.md b/docs/wiz/Windows_Other_Gui_Expecto_GitHubActions.md index 7d77833050..978af26ecc 100644 --- a/docs/wiz/Windows_Other_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/Windows_Other_Gui_Expecto_GitHubActions.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_Expecto_None.md b/docs/wiz/Windows_Other_Gui_Expecto_None.md index 54dfe92a4d..8d272956de 100644 --- a/docs/wiz/Windows_Other_Gui_Expecto_None.md +++ b/docs/wiz/Windows_Other_Gui_Expecto_None.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_Fixie_AppVeyor.md b/docs/wiz/Windows_Other_Gui_Fixie_AppVeyor.md index 7b5100b749..7473a2ccb4 100644 --- a/docs/wiz/Windows_Other_Gui_Fixie_AppVeyor.md +++ b/docs/wiz/Windows_Other_Gui_Fixie_AppVeyor.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_Fixie_AzureDevOps.md b/docs/wiz/Windows_Other_Gui_Fixie_AzureDevOps.md index b5cfbc9dd8..a69fe9589e 100644 --- a/docs/wiz/Windows_Other_Gui_Fixie_AzureDevOps.md +++ b/docs/wiz/Windows_Other_Gui_Fixie_AzureDevOps.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_Fixie_GitHubActions.md b/docs/wiz/Windows_Other_Gui_Fixie_GitHubActions.md index 739b55d4d5..25a44bbf83 100644 --- a/docs/wiz/Windows_Other_Gui_Fixie_GitHubActions.md +++ b/docs/wiz/Windows_Other_Gui_Fixie_GitHubActions.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_Fixie_None.md b/docs/wiz/Windows_Other_Gui_Fixie_None.md index 047690a274..61713dccd3 100644 --- a/docs/wiz/Windows_Other_Gui_Fixie_None.md +++ b/docs/wiz/Windows_Other_Gui_Fixie_None.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_MSTest_AppVeyor.md b/docs/wiz/Windows_Other_Gui_MSTest_AppVeyor.md index 603d030f54..19f7eec9a7 100644 --- a/docs/wiz/Windows_Other_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/Windows_Other_Gui_MSTest_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_MSTest_AzureDevOps.md b/docs/wiz/Windows_Other_Gui_MSTest_AzureDevOps.md index c1a9711c4c..07551192bf 100644 --- a/docs/wiz/Windows_Other_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/Windows_Other_Gui_MSTest_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_MSTest_GitHubActions.md b/docs/wiz/Windows_Other_Gui_MSTest_GitHubActions.md index e45d4ce03e..a349866407 100644 --- a/docs/wiz/Windows_Other_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/Windows_Other_Gui_MSTest_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_MSTest_None.md b/docs/wiz/Windows_Other_Gui_MSTest_None.md index 4a5a29e54f..0cb63cbef5 100644 --- a/docs/wiz/Windows_Other_Gui_MSTest_None.md +++ b/docs/wiz/Windows_Other_Gui_MSTest_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_NUnit_AppVeyor.md b/docs/wiz/Windows_Other_Gui_NUnit_AppVeyor.md index 9ee6d891d4..818e400ab0 100644 --- a/docs/wiz/Windows_Other_Gui_NUnit_AppVeyor.md +++ b/docs/wiz/Windows_Other_Gui_NUnit_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_NUnit_AzureDevOps.md b/docs/wiz/Windows_Other_Gui_NUnit_AzureDevOps.md index 1c4428c64f..a893fc376f 100644 --- a/docs/wiz/Windows_Other_Gui_NUnit_AzureDevOps.md +++ b/docs/wiz/Windows_Other_Gui_NUnit_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_NUnit_GitHubActions.md b/docs/wiz/Windows_Other_Gui_NUnit_GitHubActions.md index 9262544b58..e079ce2dcf 100644 --- a/docs/wiz/Windows_Other_Gui_NUnit_GitHubActions.md +++ b/docs/wiz/Windows_Other_Gui_NUnit_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_NUnit_None.md b/docs/wiz/Windows_Other_Gui_NUnit_None.md index 0d419f3914..2ad4664be6 100644 --- a/docs/wiz/Windows_Other_Gui_NUnit_None.md +++ b/docs/wiz/Windows_Other_Gui_NUnit_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_TUnit_AppVeyor.md b/docs/wiz/Windows_Other_Gui_TUnit_AppVeyor.md index 9b3568c51e..0ad20b8242 100644 --- a/docs/wiz/Windows_Other_Gui_TUnit_AppVeyor.md +++ b/docs/wiz/Windows_Other_Gui_TUnit_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_TUnit_AzureDevOps.md b/docs/wiz/Windows_Other_Gui_TUnit_AzureDevOps.md index 95c4ce63db..f59b6fd769 100644 --- a/docs/wiz/Windows_Other_Gui_TUnit_AzureDevOps.md +++ b/docs/wiz/Windows_Other_Gui_TUnit_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_TUnit_GitHubActions.md b/docs/wiz/Windows_Other_Gui_TUnit_GitHubActions.md index 346e15360f..cf75a69538 100644 --- a/docs/wiz/Windows_Other_Gui_TUnit_GitHubActions.md +++ b/docs/wiz/Windows_Other_Gui_TUnit_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_TUnit_None.md b/docs/wiz/Windows_Other_Gui_TUnit_None.md index 24bdfa5dc9..1a4c312a14 100644 --- a/docs/wiz/Windows_Other_Gui_TUnit_None.md +++ b/docs/wiz/Windows_Other_Gui_TUnit_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_XunitV3_AppVeyor.md b/docs/wiz/Windows_Other_Gui_XunitV3_AppVeyor.md index 9e7d9770ed..d7c204f981 100644 --- a/docs/wiz/Windows_Other_Gui_XunitV3_AppVeyor.md +++ b/docs/wiz/Windows_Other_Gui_XunitV3_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_XunitV3_AzureDevOps.md b/docs/wiz/Windows_Other_Gui_XunitV3_AzureDevOps.md index 75728f568a..6c4218fc0d 100644 --- a/docs/wiz/Windows_Other_Gui_XunitV3_AzureDevOps.md +++ b/docs/wiz/Windows_Other_Gui_XunitV3_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_XunitV3_GitHubActions.md b/docs/wiz/Windows_Other_Gui_XunitV3_GitHubActions.md index 0da3917298..10feac1540 100644 --- a/docs/wiz/Windows_Other_Gui_XunitV3_GitHubActions.md +++ b/docs/wiz/Windows_Other_Gui_XunitV3_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_XunitV3_None.md b/docs/wiz/Windows_Other_Gui_XunitV3_None.md index 84eb3ed2c1..ca4b22997c 100644 --- a/docs/wiz/Windows_Other_Gui_XunitV3_None.md +++ b/docs/wiz/Windows_Other_Gui_XunitV3_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_Expecto_AppVeyor.md b/docs/wiz/Windows_Rider_Gui_Expecto_AppVeyor.md index a12b307d10..b66beeb9e4 100644 --- a/docs/wiz/Windows_Rider_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/Windows_Rider_Gui_Expecto_AppVeyor.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.md b/docs/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.md index 80be854d20..be7aaaff63 100644 --- a/docs/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/Windows_Rider_Gui_Expecto_AzureDevOps.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_Expecto_GitHubActions.md b/docs/wiz/Windows_Rider_Gui_Expecto_GitHubActions.md index 6e30b12185..60707f2899 100644 --- a/docs/wiz/Windows_Rider_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/Windows_Rider_Gui_Expecto_GitHubActions.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_Expecto_None.md b/docs/wiz/Windows_Rider_Gui_Expecto_None.md index 6bfb15c6a2..132a2e235d 100644 --- a/docs/wiz/Windows_Rider_Gui_Expecto_None.md +++ b/docs/wiz/Windows_Rider_Gui_Expecto_None.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_Fixie_AppVeyor.md b/docs/wiz/Windows_Rider_Gui_Fixie_AppVeyor.md index da0615a77a..64a9f1ec57 100644 --- a/docs/wiz/Windows_Rider_Gui_Fixie_AppVeyor.md +++ b/docs/wiz/Windows_Rider_Gui_Fixie_AppVeyor.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_Fixie_AzureDevOps.md b/docs/wiz/Windows_Rider_Gui_Fixie_AzureDevOps.md index 7d03d29f68..133833b26d 100644 --- a/docs/wiz/Windows_Rider_Gui_Fixie_AzureDevOps.md +++ b/docs/wiz/Windows_Rider_Gui_Fixie_AzureDevOps.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_Fixie_GitHubActions.md b/docs/wiz/Windows_Rider_Gui_Fixie_GitHubActions.md index 59dde33ea0..0ec4c5a183 100644 --- a/docs/wiz/Windows_Rider_Gui_Fixie_GitHubActions.md +++ b/docs/wiz/Windows_Rider_Gui_Fixie_GitHubActions.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_Fixie_None.md b/docs/wiz/Windows_Rider_Gui_Fixie_None.md index 421a3d0ce2..c01ece7905 100644 --- a/docs/wiz/Windows_Rider_Gui_Fixie_None.md +++ b/docs/wiz/Windows_Rider_Gui_Fixie_None.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_MSTest_AppVeyor.md b/docs/wiz/Windows_Rider_Gui_MSTest_AppVeyor.md index 42ab6f0652..c59cdc163c 100644 --- a/docs/wiz/Windows_Rider_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/Windows_Rider_Gui_MSTest_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.md b/docs/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.md index 71ca76bbd8..0b0da6525c 100644 --- a/docs/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_MSTest_GitHubActions.md b/docs/wiz/Windows_Rider_Gui_MSTest_GitHubActions.md index 05372480d6..94e3fc1021 100644 --- a/docs/wiz/Windows_Rider_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/Windows_Rider_Gui_MSTest_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_MSTest_None.md b/docs/wiz/Windows_Rider_Gui_MSTest_None.md index c52e008ffe..a0019649ed 100644 --- a/docs/wiz/Windows_Rider_Gui_MSTest_None.md +++ b/docs/wiz/Windows_Rider_Gui_MSTest_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_NUnit_AppVeyor.md b/docs/wiz/Windows_Rider_Gui_NUnit_AppVeyor.md index 2991338706..ca557636f3 100644 --- a/docs/wiz/Windows_Rider_Gui_NUnit_AppVeyor.md +++ b/docs/wiz/Windows_Rider_Gui_NUnit_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_NUnit_AzureDevOps.md b/docs/wiz/Windows_Rider_Gui_NUnit_AzureDevOps.md index 6460c00ae0..65b8697135 100644 --- a/docs/wiz/Windows_Rider_Gui_NUnit_AzureDevOps.md +++ b/docs/wiz/Windows_Rider_Gui_NUnit_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_NUnit_GitHubActions.md b/docs/wiz/Windows_Rider_Gui_NUnit_GitHubActions.md index 6737d99d6e..a2036a23d7 100644 --- a/docs/wiz/Windows_Rider_Gui_NUnit_GitHubActions.md +++ b/docs/wiz/Windows_Rider_Gui_NUnit_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_NUnit_None.md b/docs/wiz/Windows_Rider_Gui_NUnit_None.md index babb706e8d..1dd908ea60 100644 --- a/docs/wiz/Windows_Rider_Gui_NUnit_None.md +++ b/docs/wiz/Windows_Rider_Gui_NUnit_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_TUnit_AppVeyor.md b/docs/wiz/Windows_Rider_Gui_TUnit_AppVeyor.md index 024b196b8b..9c595f3688 100644 --- a/docs/wiz/Windows_Rider_Gui_TUnit_AppVeyor.md +++ b/docs/wiz/Windows_Rider_Gui_TUnit_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_TUnit_AzureDevOps.md b/docs/wiz/Windows_Rider_Gui_TUnit_AzureDevOps.md index 1cc8478ffb..4f0005d7c9 100644 --- a/docs/wiz/Windows_Rider_Gui_TUnit_AzureDevOps.md +++ b/docs/wiz/Windows_Rider_Gui_TUnit_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_TUnit_GitHubActions.md b/docs/wiz/Windows_Rider_Gui_TUnit_GitHubActions.md index 02a57284b7..c38a50b628 100644 --- a/docs/wiz/Windows_Rider_Gui_TUnit_GitHubActions.md +++ b/docs/wiz/Windows_Rider_Gui_TUnit_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_TUnit_None.md b/docs/wiz/Windows_Rider_Gui_TUnit_None.md index e049e587fb..9ab64e51cb 100644 --- a/docs/wiz/Windows_Rider_Gui_TUnit_None.md +++ b/docs/wiz/Windows_Rider_Gui_TUnit_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_XunitV3_AppVeyor.md b/docs/wiz/Windows_Rider_Gui_XunitV3_AppVeyor.md index c0a46bbf1a..c4745b2f7e 100644 --- a/docs/wiz/Windows_Rider_Gui_XunitV3_AppVeyor.md +++ b/docs/wiz/Windows_Rider_Gui_XunitV3_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_XunitV3_AzureDevOps.md b/docs/wiz/Windows_Rider_Gui_XunitV3_AzureDevOps.md index dfd2c4121e..0bb1bd86a9 100644 --- a/docs/wiz/Windows_Rider_Gui_XunitV3_AzureDevOps.md +++ b/docs/wiz/Windows_Rider_Gui_XunitV3_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_XunitV3_GitHubActions.md b/docs/wiz/Windows_Rider_Gui_XunitV3_GitHubActions.md index d61fb87e47..b3d108b8b3 100644 --- a/docs/wiz/Windows_Rider_Gui_XunitV3_GitHubActions.md +++ b/docs/wiz/Windows_Rider_Gui_XunitV3_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_XunitV3_None.md b/docs/wiz/Windows_Rider_Gui_XunitV3_None.md index 1f3e1fbe23..a584487e65 100644 --- a/docs/wiz/Windows_Rider_Gui_XunitV3_None.md +++ b/docs/wiz/Windows_Rider_Gui_XunitV3_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AppVeyor.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AppVeyor.md index d13c3abbfb..1c2e9f38a8 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AppVeyor.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AzureDevOps.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AzureDevOps.md index 2b0a61f555..d31084ea70 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_AzureDevOps.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_GitHubActions.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_GitHubActions.md index 8d14871782..3672af13f1 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_GitHubActions.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_None.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_None.md index 9c2a4573ae..11b571c236 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_None.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Expecto_None.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AppVeyor.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AppVeyor.md index c9e514ae77..8bc3d673f1 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AppVeyor.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AzureDevOps.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AzureDevOps.md index 119fa04b3f..340b511e4c 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_AzureDevOps.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_GitHubActions.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_GitHubActions.md index 8dfe30eb78..a37a7c759c 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_GitHubActions.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_None.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_None.md index 6b5c629faf..814bb05c56 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_None.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_Fixie_None.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AppVeyor.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AppVeyor.md index 046e1ba8f8..747a3f77c5 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AzureDevOps.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AzureDevOps.md index 226a463f2c..e025150b4d 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_GitHubActions.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_GitHubActions.md index e689d4f6e2..a337e9e758 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_None.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_None.md index b7cd35b1b9..95bb56ba85 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_None.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AppVeyor.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AppVeyor.md index 3b311cbf52..906076b6c4 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AzureDevOps.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AzureDevOps.md index f710e8cdda..34c8be9bc1 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_GitHubActions.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_GitHubActions.md index 283d51c699..743396b15e 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_None.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_None.md index cc46603de4..2e375e1cec 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_None.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_NUnit_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_AppVeyor.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_AppVeyor.md index 2e35a7ca4c..d8b7bc7d1f 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_AzureDevOps.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_AzureDevOps.md index 11b86b33d3..a06b0ac0f2 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_GitHubActions.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_GitHubActions.md index 8098f6c91c..a1c1526c85 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_None.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_None.md index 74aea87ea2..d720371b68 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_None.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_TUnit_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_AppVeyor.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_AppVeyor.md index ec6b1c9242..83c88605d5 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_AzureDevOps.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_AzureDevOps.md index 0a2310dfae..bdb9621fd4 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_GitHubActions.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_GitHubActions.md index c94b5cc606..e1c90f7c84 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_None.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_None.md index 11dac73d8f..69c9157c37 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_None.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_XunitV3_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_Expecto_AppVeyor.md b/docs/wiz/Windows_VisualStudio_Gui_Expecto_AppVeyor.md index dbd5c39ce4..cedda94655 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_Expecto_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudio_Gui_Expecto_AppVeyor.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_Expecto_AzureDevOps.md b/docs/wiz/Windows_VisualStudio_Gui_Expecto_AzureDevOps.md index de7b3c42fb..56733484c6 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_Expecto_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudio_Gui_Expecto_AzureDevOps.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_Expecto_GitHubActions.md b/docs/wiz/Windows_VisualStudio_Gui_Expecto_GitHubActions.md index 7d171c8ec2..6716c6a0ba 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_Expecto_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudio_Gui_Expecto_GitHubActions.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_Expecto_None.md b/docs/wiz/Windows_VisualStudio_Gui_Expecto_None.md index 99938aef07..10f87d5243 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_Expecto_None.md +++ b/docs/wiz/Windows_VisualStudio_Gui_Expecto_None.md @@ -17,10 +17,10 @@ Add the following packages to the test project: ```fsproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_Fixie_AppVeyor.md b/docs/wiz/Windows_VisualStudio_Gui_Fixie_AppVeyor.md index 494f6ced99..c49ffe40ad 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_Fixie_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudio_Gui_Fixie_AppVeyor.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_Fixie_AzureDevOps.md b/docs/wiz/Windows_VisualStudio_Gui_Fixie_AzureDevOps.md index 88317ee82d..3aae4d7b56 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_Fixie_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudio_Gui_Fixie_AzureDevOps.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_Fixie_GitHubActions.md b/docs/wiz/Windows_VisualStudio_Gui_Fixie_GitHubActions.md index f443fd42fe..075d9bdad3 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_Fixie_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudio_Gui_Fixie_GitHubActions.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_Fixie_None.md b/docs/wiz/Windows_VisualStudio_Gui_Fixie_None.md index aab75e91fe..08ea05ca33 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_Fixie_None.md +++ b/docs/wiz/Windows_VisualStudio_Gui_Fixie_None.md @@ -18,7 +18,7 @@ Add the following packages to the test project: ```csproj - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_MSTest_AppVeyor.md b/docs/wiz/Windows_VisualStudio_Gui_MSTest_AppVeyor.md index a72dbecf79..b3727d7ff1 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudio_Gui_MSTest_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_MSTest_AzureDevOps.md b/docs/wiz/Windows_VisualStudio_Gui_MSTest_AzureDevOps.md index de2b499999..790f0588be 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudio_Gui_MSTest_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_MSTest_GitHubActions.md b/docs/wiz/Windows_VisualStudio_Gui_MSTest_GitHubActions.md index 2768a58d6c..73ab684cdd 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudio_Gui_MSTest_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_MSTest_None.md b/docs/wiz/Windows_VisualStudio_Gui_MSTest_None.md index 70984c64b8..3b496398e3 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_MSTest_None.md +++ b/docs/wiz/Windows_VisualStudio_Gui_MSTest_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_NUnit_AppVeyor.md b/docs/wiz/Windows_VisualStudio_Gui_NUnit_AppVeyor.md index f85cd75d3d..071e068e31 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_NUnit_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudio_Gui_NUnit_AppVeyor.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_NUnit_AzureDevOps.md b/docs/wiz/Windows_VisualStudio_Gui_NUnit_AzureDevOps.md index 382429e05a..3427e6f219 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_NUnit_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudio_Gui_NUnit_AzureDevOps.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_NUnit_GitHubActions.md b/docs/wiz/Windows_VisualStudio_Gui_NUnit_GitHubActions.md index 0852c568da..7b333fdf97 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_NUnit_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudio_Gui_NUnit_GitHubActions.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_NUnit_None.md b/docs/wiz/Windows_VisualStudio_Gui_NUnit_None.md index 323513e121..2a7d3b7a61 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_NUnit_None.md +++ b/docs/wiz/Windows_VisualStudio_Gui_NUnit_None.md @@ -17,9 +17,9 @@ Add the following packages to the test project: ```csproj - + - + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_TUnit_AppVeyor.md b/docs/wiz/Windows_VisualStudio_Gui_TUnit_AppVeyor.md index 18e21363e7..66f29e94e3 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_TUnit_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudio_Gui_TUnit_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_TUnit_AzureDevOps.md b/docs/wiz/Windows_VisualStudio_Gui_TUnit_AzureDevOps.md index ff4de67500..65e99790fa 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_TUnit_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudio_Gui_TUnit_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_TUnit_GitHubActions.md b/docs/wiz/Windows_VisualStudio_Gui_TUnit_GitHubActions.md index ed201d2467..c48fe7b634 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_TUnit_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudio_Gui_TUnit_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_TUnit_None.md b/docs/wiz/Windows_VisualStudio_Gui_TUnit_None.md index 92b3237d97..d7ac2aeb9a 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_TUnit_None.md +++ b/docs/wiz/Windows_VisualStudio_Gui_TUnit_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_XunitV3_AppVeyor.md b/docs/wiz/Windows_VisualStudio_Gui_XunitV3_AppVeyor.md index 26467a2fbf..013b735ced 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_XunitV3_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudio_Gui_XunitV3_AppVeyor.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_XunitV3_AzureDevOps.md b/docs/wiz/Windows_VisualStudio_Gui_XunitV3_AzureDevOps.md index 204abcec23..d5f6a8d605 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_XunitV3_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudio_Gui_XunitV3_AzureDevOps.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_XunitV3_GitHubActions.md b/docs/wiz/Windows_VisualStudio_Gui_XunitV3_GitHubActions.md index 918ec9020c..c6a9e94120 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_XunitV3_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudio_Gui_XunitV3_GitHubActions.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_XunitV3_None.md b/docs/wiz/Windows_VisualStudio_Gui_XunitV3_None.md index badaa627d7..571ad7304e 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_XunitV3_None.md +++ b/docs/wiz/Windows_VisualStudio_Gui_XunitV3_None.md @@ -17,8 +17,8 @@ Add the following packages to the test project: ```csproj - - + + ``` snippet source | anchor diff --git a/src/Verify.ClipboardAccept/ClipboardEnabled.cs b/src/Verify.ClipboardAccept/ClipboardEnabled.cs index 0055740abe..342aa8aabe 100644 --- a/src/Verify.ClipboardAccept/ClipboardEnabled.cs +++ b/src/Verify.ClipboardAccept/ClipboardEnabled.cs @@ -20,6 +20,7 @@ public static bool ParseEnvironmentVariable(string? disabledText) // Parse leniently and never throw: this runs from a static constructor, // so throwing would poison the type and surface as a TypeInitializationException // that masks the actual snapshot diff on every failing test. + // ReSharper disable once RedundantSuppressNullableWarningExpression switch (disabledText!.Trim().ToLowerInvariant()) { case "true": @@ -43,4 +44,4 @@ public static bool IsEnabled() => clipboardDisabledInEnv || ContinuousTestingDetector.Detected || BuildServerDetector.Detected); -} \ No newline at end of file +} diff --git a/src/Verify.Tests/Snippets/BypassComparerSnippets.cs b/src/Verify.Tests/Snippets/BypassComparerSnippets.cs index 9f69c64dd2..d3d701cddd 100644 --- a/src/Verify.Tests/Snippets/BypassComparerSnippets.cs +++ b/src/Verify.Tests/Snippets/BypassComparerSnippets.cs @@ -22,6 +22,7 @@ public static ConversionResult ConvertDocument(Stream document, IReadOnlyDiction #endregion + // ReSharper disable once UnusedParameter.Local static Stream RenderPage(Stream document) => new MemoryStream(); } diff --git a/src/Verify/Counter_NumericId.cs b/src/Verify/Counter_NumericId.cs index 598764c2cd..50dfbcfa8c 100644 --- a/src/Verify/Counter_NumericId.cs +++ b/src/Verify/Counter_NumericId.cs @@ -6,11 +6,11 @@ public partial class Counter Dictionary numericIdCounters = []; public int NextNumericId(string entityName, long input) => - NextNumericIdValue(entityName, input.ToString(CultureInfo.InvariantCulture)) + NextNumericIdValue(entityName, input.ToString(Culture.InvariantCulture)) .intValue; public string NextNumericIdString(string entityName, long input) => - NextNumericIdValue(entityName, input.ToString(CultureInfo.InvariantCulture)) + NextNumericIdValue(entityName, input.ToString(Culture.InvariantCulture)) .stringValue; // Keys on the invariant string form of the value rather than converting to @@ -24,9 +24,10 @@ static string ToKey(object value) { if (value is IFormattable formattable) { - return formattable.ToString(null, CultureInfo.InvariantCulture); + return formattable.ToString(null, Culture.InvariantCulture); } + // ReSharper disable once RedundantSuppressNullableWarningExpression return value.ToString()!; } diff --git a/usages/ExpectoNugetUsage/ExpectoNugetUsage.fsproj b/usages/ExpectoNugetUsage/ExpectoNugetUsage.fsproj index 92881f0f0b..3f78aab5c7 100644 --- a/usages/ExpectoNugetUsage/ExpectoNugetUsage.fsproj +++ b/usages/ExpectoNugetUsage/ExpectoNugetUsage.fsproj @@ -6,10 +6,10 @@ - + - + \ No newline at end of file diff --git a/usages/FixieNugetUsage/FixieNugetUsage.csproj b/usages/FixieNugetUsage/FixieNugetUsage.csproj index 5ea3b21738..19dbd12bf2 100644 --- a/usages/FixieNugetUsage/FixieNugetUsage.csproj +++ b/usages/FixieNugetUsage/FixieNugetUsage.csproj @@ -6,7 +6,7 @@ - + \ No newline at end of file diff --git a/usages/MSTestNugetUsage/MSTestNugetUsage.csproj b/usages/MSTestNugetUsage/MSTestNugetUsage.csproj index 59a45ef3b8..dbf6b022b1 100644 --- a/usages/MSTestNugetUsage/MSTestNugetUsage.csproj +++ b/usages/MSTestNugetUsage/MSTestNugetUsage.csproj @@ -5,9 +5,9 @@ - + - + \ No newline at end of file diff --git a/usages/NUnitNugetUsage/NUnitNugetUsage.csproj b/usages/NUnitNugetUsage/NUnitNugetUsage.csproj index 31ede4f01f..0c6cc6a10a 100644 --- a/usages/NUnitNugetUsage/NUnitNugetUsage.csproj +++ b/usages/NUnitNugetUsage/NUnitNugetUsage.csproj @@ -5,9 +5,9 @@ - + - + diff --git a/usages/TUnitNugetUsage/TUnitNugetUsage.csproj b/usages/TUnitNugetUsage/TUnitNugetUsage.csproj index a6c0865532..84e67b7f86 100644 --- a/usages/TUnitNugetUsage/TUnitNugetUsage.csproj +++ b/usages/TUnitNugetUsage/TUnitNugetUsage.csproj @@ -6,8 +6,8 @@ - - + + \ No newline at end of file diff --git a/usages/XunitV3NugetUsage/XunitV3NugetUsage.csproj b/usages/XunitV3NugetUsage/XunitV3NugetUsage.csproj index 603c5f5b4f..55cd09440c 100644 --- a/usages/XunitV3NugetUsage/XunitV3NugetUsage.csproj +++ b/usages/XunitV3NugetUsage/XunitV3NugetUsage.csproj @@ -6,8 +6,8 @@ - - + + From 2fb229155f05cb3a27e35886f85df1572891498b Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Thu, 9 Jul 2026 16:19:31 +1000 Subject: [PATCH 12/14] Update NewLineTests.cs --- src/Verify.Tests/NewLineTests.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Verify.Tests/NewLineTests.cs b/src/Verify.Tests/NewLineTests.cs index 6bcda41281..6a2ead546a 100644 --- a/src/Verify.Tests/NewLineTests.cs +++ b/src/Verify.Tests/NewLineTests.cs @@ -65,6 +65,7 @@ public async Task StringWithDifferingNewline() File.Delete(fullPath); } +#if NET10 [Fact] public async Task TrailingNewlinesRaw() { @@ -88,6 +89,7 @@ public async Task TrailingNewlinesRaw() await Assert.ThrowsAsync(() => Verify("a\n", settings)); File.Delete(file); } +#endif //TODO: add test for trailing newlines // [Fact] @@ -114,4 +116,4 @@ public async Task TrailingNewlinesRaw() // } #endif -} \ No newline at end of file +} From 7aaa62c35485e4d6009e0b4a2b017e230d610231 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Thu, 9 Jul 2026 16:59:16 +1000 Subject: [PATCH 13/14] stop using MSTest metapackage (#1781) * stop using MSTest metapackage https://github.com/microsoft/testfx/issues/9756 * Docs changes * . * Update ExpectoNugetUsage.fsproj * Docs changes --------- Co-authored-by: GitHub Action --- docs/wiz/Linux_Other_Gui_MSTest_AppVeyor.md | 5 +++-- docs/wiz/Linux_Other_Gui_MSTest_AzureDevOps.md | 5 +++-- docs/wiz/Linux_Other_Gui_MSTest_GitHubActions.md | 5 +++-- docs/wiz/Linux_Other_Gui_MSTest_None.md | 5 +++-- docs/wiz/Linux_Rider_Gui_MSTest_AppVeyor.md | 5 +++-- docs/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.md | 5 +++-- docs/wiz/Linux_Rider_Gui_MSTest_GitHubActions.md | 5 +++-- docs/wiz/Linux_Rider_Gui_MSTest_None.md | 5 +++-- docs/wiz/MacOS_Other_Gui_MSTest_AppVeyor.md | 5 +++-- docs/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.md | 5 +++-- docs/wiz/MacOS_Other_Gui_MSTest_GitHubActions.md | 5 +++-- docs/wiz/MacOS_Other_Gui_MSTest_None.md | 5 +++-- docs/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.md | 5 +++-- docs/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.md | 5 +++-- docs/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.md | 5 +++-- docs/wiz/MacOS_Rider_Gui_MSTest_None.md | 5 +++-- docs/wiz/Windows_Other_Gui_MSTest_AppVeyor.md | 5 +++-- docs/wiz/Windows_Other_Gui_MSTest_AzureDevOps.md | 5 +++-- docs/wiz/Windows_Other_Gui_MSTest_GitHubActions.md | 5 +++-- docs/wiz/Windows_Other_Gui_MSTest_None.md | 5 +++-- docs/wiz/Windows_Rider_Gui_MSTest_AppVeyor.md | 5 +++-- docs/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.md | 5 +++-- docs/wiz/Windows_Rider_Gui_MSTest_GitHubActions.md | 5 +++-- docs/wiz/Windows_Rider_Gui_MSTest_None.md | 5 +++-- .../Windows_VisualStudioWithReSharper_Gui_MSTest_AppVeyor.md | 5 +++-- ...ndows_VisualStudioWithReSharper_Gui_MSTest_AzureDevOps.md | 5 +++-- ...ows_VisualStudioWithReSharper_Gui_MSTest_GitHubActions.md | 5 +++-- .../wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_None.md | 5 +++-- docs/wiz/Windows_VisualStudio_Gui_MSTest_AppVeyor.md | 5 +++-- docs/wiz/Windows_VisualStudio_Gui_MSTest_AzureDevOps.md | 5 +++-- docs/wiz/Windows_VisualStudio_Gui_MSTest_GitHubActions.md | 5 +++-- docs/wiz/Windows_VisualStudio_Gui_MSTest_None.md | 5 +++-- .../DanglingSnapshotsMSTestUsage.csproj | 3 ++- src/Directory.Packages.props | 4 ++-- .../Verify.MSTest.DerivePaths.Tests.csproj | 3 ++- .../Verify.MSTest.DisableAttachments.Tests.csproj | 3 ++- .../Verify.MSTest.SourceGenerator.Tests.csproj | 3 ++- src/Verify.MSTest.Tests/Verify.MSTest.Tests.csproj | 3 ++- usages/MSTestNugetUsage/MSTestNugetUsage.csproj | 3 ++- 39 files changed, 110 insertions(+), 72 deletions(-) diff --git a/docs/wiz/Linux_Other_Gui_MSTest_AppVeyor.md b/docs/wiz/Linux_Other_Gui_MSTest_AppVeyor.md index c94d2e0de2..3c642c4449 100644 --- a/docs/wiz/Linux_Other_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/Linux_Other_Gui_MSTest_AppVeyor.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_MSTest_AzureDevOps.md b/docs/wiz/Linux_Other_Gui_MSTest_AzureDevOps.md index 7317707c13..1a3dda5ed4 100644 --- a/docs/wiz/Linux_Other_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/Linux_Other_Gui_MSTest_AzureDevOps.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_MSTest_GitHubActions.md b/docs/wiz/Linux_Other_Gui_MSTest_GitHubActions.md index 68e8201ca9..150e94a2e7 100644 --- a/docs/wiz/Linux_Other_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/Linux_Other_Gui_MSTest_GitHubActions.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Linux_Other_Gui_MSTest_None.md b/docs/wiz/Linux_Other_Gui_MSTest_None.md index 0c5190b45e..5d31c29194 100644 --- a/docs/wiz/Linux_Other_Gui_MSTest_None.md +++ b/docs/wiz/Linux_Other_Gui_MSTest_None.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_MSTest_AppVeyor.md b/docs/wiz/Linux_Rider_Gui_MSTest_AppVeyor.md index 2dc8b86ef6..a47bb1c90d 100644 --- a/docs/wiz/Linux_Rider_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/Linux_Rider_Gui_MSTest_AppVeyor.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.md b/docs/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.md index f8b81b4c2a..43a4538bcb 100644 --- a/docs/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/Linux_Rider_Gui_MSTest_AzureDevOps.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_MSTest_GitHubActions.md b/docs/wiz/Linux_Rider_Gui_MSTest_GitHubActions.md index b3d745510c..2f32d96623 100644 --- a/docs/wiz/Linux_Rider_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/Linux_Rider_Gui_MSTest_GitHubActions.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Linux_Rider_Gui_MSTest_None.md b/docs/wiz/Linux_Rider_Gui_MSTest_None.md index a8407085f8..5939f7b147 100644 --- a/docs/wiz/Linux_Rider_Gui_MSTest_None.md +++ b/docs/wiz/Linux_Rider_Gui_MSTest_None.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_MSTest_AppVeyor.md b/docs/wiz/MacOS_Other_Gui_MSTest_AppVeyor.md index 48e232e20f..39ae194959 100644 --- a/docs/wiz/MacOS_Other_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/MacOS_Other_Gui_MSTest_AppVeyor.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.md b/docs/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.md index 4b3bd29971..a386d36bca 100644 --- a/docs/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/MacOS_Other_Gui_MSTest_AzureDevOps.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_MSTest_GitHubActions.md b/docs/wiz/MacOS_Other_Gui_MSTest_GitHubActions.md index 159b4c2188..d63b76ea0f 100644 --- a/docs/wiz/MacOS_Other_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/MacOS_Other_Gui_MSTest_GitHubActions.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Other_Gui_MSTest_None.md b/docs/wiz/MacOS_Other_Gui_MSTest_None.md index 5fbc0f7882..132581c7a8 100644 --- a/docs/wiz/MacOS_Other_Gui_MSTest_None.md +++ b/docs/wiz/MacOS_Other_Gui_MSTest_None.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.md b/docs/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.md index 3c1d2faa89..21bc1a8a96 100644 --- a/docs/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/MacOS_Rider_Gui_MSTest_AppVeyor.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.md b/docs/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.md index e2144bfd3f..235adfcf2b 100644 --- a/docs/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/MacOS_Rider_Gui_MSTest_AzureDevOps.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.md b/docs/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.md index 3e43ec8907..e4bf38f382 100644 --- a/docs/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/MacOS_Rider_Gui_MSTest_GitHubActions.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/MacOS_Rider_Gui_MSTest_None.md b/docs/wiz/MacOS_Rider_Gui_MSTest_None.md index 5ec3257e53..668682c039 100644 --- a/docs/wiz/MacOS_Rider_Gui_MSTest_None.md +++ b/docs/wiz/MacOS_Rider_Gui_MSTest_None.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_MSTest_AppVeyor.md b/docs/wiz/Windows_Other_Gui_MSTest_AppVeyor.md index 19f7eec9a7..895f2c1f24 100644 --- a/docs/wiz/Windows_Other_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/Windows_Other_Gui_MSTest_AppVeyor.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_MSTest_AzureDevOps.md b/docs/wiz/Windows_Other_Gui_MSTest_AzureDevOps.md index 07551192bf..a58313093a 100644 --- a/docs/wiz/Windows_Other_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/Windows_Other_Gui_MSTest_AzureDevOps.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_MSTest_GitHubActions.md b/docs/wiz/Windows_Other_Gui_MSTest_GitHubActions.md index a349866407..a089949571 100644 --- a/docs/wiz/Windows_Other_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/Windows_Other_Gui_MSTest_GitHubActions.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Other_Gui_MSTest_None.md b/docs/wiz/Windows_Other_Gui_MSTest_None.md index 0cb63cbef5..30cd65c75a 100644 --- a/docs/wiz/Windows_Other_Gui_MSTest_None.md +++ b/docs/wiz/Windows_Other_Gui_MSTest_None.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_MSTest_AppVeyor.md b/docs/wiz/Windows_Rider_Gui_MSTest_AppVeyor.md index c59cdc163c..16eb5b59d9 100644 --- a/docs/wiz/Windows_Rider_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/Windows_Rider_Gui_MSTest_AppVeyor.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.md b/docs/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.md index 0b0da6525c..7db30729be 100644 --- a/docs/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/Windows_Rider_Gui_MSTest_AzureDevOps.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_MSTest_GitHubActions.md b/docs/wiz/Windows_Rider_Gui_MSTest_GitHubActions.md index 94e3fc1021..2804005dc3 100644 --- a/docs/wiz/Windows_Rider_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/Windows_Rider_Gui_MSTest_GitHubActions.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_Rider_Gui_MSTest_None.md b/docs/wiz/Windows_Rider_Gui_MSTest_None.md index a0019649ed..3b75f80f3a 100644 --- a/docs/wiz/Windows_Rider_Gui_MSTest_None.md +++ b/docs/wiz/Windows_Rider_Gui_MSTest_None.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AppVeyor.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AppVeyor.md index 747a3f77c5..3710960dd3 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AppVeyor.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AzureDevOps.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AzureDevOps.md index e025150b4d..aa4ce14d3c 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_AzureDevOps.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_GitHubActions.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_GitHubActions.md index a337e9e758..e915b8ef78 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_GitHubActions.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_None.md b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_None.md index 95bb56ba85..6bf4eebbfe 100644 --- a/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_None.md +++ b/docs/wiz/Windows_VisualStudioWithReSharper_Gui_MSTest_None.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_MSTest_AppVeyor.md b/docs/wiz/Windows_VisualStudio_Gui_MSTest_AppVeyor.md index b3727d7ff1..1ef3195f19 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_MSTest_AppVeyor.md +++ b/docs/wiz/Windows_VisualStudio_Gui_MSTest_AppVeyor.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_MSTest_AzureDevOps.md b/docs/wiz/Windows_VisualStudio_Gui_MSTest_AzureDevOps.md index 790f0588be..2bc182e17c 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_MSTest_AzureDevOps.md +++ b/docs/wiz/Windows_VisualStudio_Gui_MSTest_AzureDevOps.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_MSTest_GitHubActions.md b/docs/wiz/Windows_VisualStudio_Gui_MSTest_GitHubActions.md index 73ab684cdd..24398aeb67 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_MSTest_GitHubActions.md +++ b/docs/wiz/Windows_VisualStudio_Gui_MSTest_GitHubActions.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/docs/wiz/Windows_VisualStudio_Gui_MSTest_None.md b/docs/wiz/Windows_VisualStudio_Gui_MSTest_None.md index 3b496398e3..d276b5350c 100644 --- a/docs/wiz/Windows_VisualStudio_Gui_MSTest_None.md +++ b/docs/wiz/Windows_VisualStudio_Gui_MSTest_None.md @@ -18,10 +18,11 @@ Add the following packages to the test project: ```csproj - + + ``` -snippet source | anchor +snippet source | anchor diff --git a/src/DanglingSnapshotsMSTestUsage/DanglingSnapshotsMSTestUsage.csproj b/src/DanglingSnapshotsMSTestUsage/DanglingSnapshotsMSTestUsage.csproj index 8b2d1761c0..bf709566e1 100644 --- a/src/DanglingSnapshotsMSTestUsage/DanglingSnapshotsMSTestUsage.csproj +++ b/src/DanglingSnapshotsMSTestUsage/DanglingSnapshotsMSTestUsage.csproj @@ -7,7 +7,8 @@ - + + diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 3038e1bfa9..6de08149f9 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -19,8 +19,8 @@ - - + + diff --git a/src/Verify.MSTest.DerivePaths.Tests/Verify.MSTest.DerivePaths.Tests.csproj b/src/Verify.MSTest.DerivePaths.Tests/Verify.MSTest.DerivePaths.Tests.csproj index be08c15f35..101e485460 100644 --- a/src/Verify.MSTest.DerivePaths.Tests/Verify.MSTest.DerivePaths.Tests.csproj +++ b/src/Verify.MSTest.DerivePaths.Tests/Verify.MSTest.DerivePaths.Tests.csproj @@ -6,7 +6,8 @@ - + + diff --git a/src/Verify.MSTest.DisableAttachments.Tests/Verify.MSTest.DisableAttachments.Tests.csproj b/src/Verify.MSTest.DisableAttachments.Tests/Verify.MSTest.DisableAttachments.Tests.csproj index 6ad3059a60..e26e49eeca 100644 --- a/src/Verify.MSTest.DisableAttachments.Tests/Verify.MSTest.DisableAttachments.Tests.csproj +++ b/src/Verify.MSTest.DisableAttachments.Tests/Verify.MSTest.DisableAttachments.Tests.csproj @@ -12,7 +12,8 @@ - + + diff --git a/src/Verify.MSTest.SourceGenerator.Tests/Verify.MSTest.SourceGenerator.Tests.csproj b/src/Verify.MSTest.SourceGenerator.Tests/Verify.MSTest.SourceGenerator.Tests.csproj index 99010de102..8a74de04d1 100644 --- a/src/Verify.MSTest.SourceGenerator.Tests/Verify.MSTest.SourceGenerator.Tests.csproj +++ b/src/Verify.MSTest.SourceGenerator.Tests/Verify.MSTest.SourceGenerator.Tests.csproj @@ -10,7 +10,8 @@ - + + diff --git a/src/Verify.MSTest.Tests/Verify.MSTest.Tests.csproj b/src/Verify.MSTest.Tests/Verify.MSTest.Tests.csproj index 5c10cd9afc..9cb38f284b 100644 --- a/src/Verify.MSTest.Tests/Verify.MSTest.Tests.csproj +++ b/src/Verify.MSTest.Tests/Verify.MSTest.Tests.csproj @@ -12,7 +12,8 @@ - + + diff --git a/usages/MSTestNugetUsage/MSTestNugetUsage.csproj b/usages/MSTestNugetUsage/MSTestNugetUsage.csproj index dbf6b022b1..f7421bc23e 100644 --- a/usages/MSTestNugetUsage/MSTestNugetUsage.csproj +++ b/usages/MSTestNugetUsage/MSTestNugetUsage.csproj @@ -6,7 +6,8 @@ - + + From 61efc04a4ffa82b1d64c788c9732f3b4f4549404 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Thu, 9 Jul 2026 17:25:36 +1000 Subject: [PATCH 14/14] Kill process locking file (#1784) --- docs/kill-process-locking-file.md | 29 ++++ docs/mdsource/doc-index.include.md | 1 + .../kill-process-locking-file.source.md | 22 +++ docs/readme.md | 1 + readme.md | 1 + ...seEnvironmentVariable_failure.verified.txt | 7 + src/Verify.Tests/FileLockKillerTests.cs | 14 ++ src/Verify/Compare/FileComparer.cs | 2 +- src/Verify/FileLockKiller.cs | 49 +++++++ src/Verify/IoHelpers.cs | 27 +++- src/Verify/RestartManager.cs | 134 ++++++++++++++++++ 11 files changed, 284 insertions(+), 3 deletions(-) create mode 100644 docs/kill-process-locking-file.md create mode 100644 docs/mdsource/kill-process-locking-file.source.md create mode 100644 src/Verify.Tests/FileLockKillerTests.ParseEnvironmentVariable_failure.verified.txt create mode 100644 src/Verify.Tests/FileLockKillerTests.cs create mode 100644 src/Verify/FileLockKiller.cs create mode 100644 src/Verify/RestartManager.cs diff --git a/docs/kill-process-locking-file.md b/docs/kill-process-locking-file.md new file mode 100644 index 0000000000..99548161d8 --- /dev/null +++ b/docs/kill-process-locking-file.md @@ -0,0 +1,29 @@ + + +# Kill process locking file + +When a verification writes a `.received.*` file, the operation can fail if another process (for example, an editor or a previously launched diff tool) is holding a lock on that file. The exception surfaces as an `IOException`: "The process cannot access the file because it is being used by another process". + +Verify can detect those processes via the Windows Restart Manager and terminate them so the write can be retried. + + +## Enable + +Set the `Verify_KillProcessLockingFile` environment variable to `true`. + +When enabled, on Windows, any `IOException` raised during a snapshot file write triggers a lookup of every process holding a handle to the target path. Each such process is killed and the write is retried once. + + +## Platform support + +The feature only runs on Windows, since the Restart Manager API is Windows-only. On other platforms, the environment variable has no effect. + + +## Caveats + +Killing processes is destructive. Enable this only in environments where losing the work in those processes is acceptable, such as CI machines or developer machines where the only processes that would lock these files are short-lived diff or editor processes. diff --git a/docs/mdsource/doc-index.include.md b/docs/mdsource/doc-index.include.md index 8b478b0afe..c006baaf5c 100644 --- a/docs/mdsource/doc-index.include.md +++ b/docs/mdsource/doc-index.include.md @@ -37,6 +37,7 @@ * [Verifying binary data](/docs/binary.md) * [Exception Message Format](/docs/exception-message-format.md) * [Build server](/docs/build-server.md) + * [Kill process locking file](/docs/kill-process-locking-file.md) * [Comparers](/docs/comparer.md) * [Converters](/docs/converter.md) * [Recording](/docs/recording.md) diff --git a/docs/mdsource/kill-process-locking-file.source.md b/docs/mdsource/kill-process-locking-file.source.md new file mode 100644 index 0000000000..05edb6bcdf --- /dev/null +++ b/docs/mdsource/kill-process-locking-file.source.md @@ -0,0 +1,22 @@ +# Kill process locking file + +When a verification writes a `.received.*` file, the operation can fail if another process (for example, an editor or a previously launched diff tool) is holding a lock on that file. The exception surfaces as an `IOException`: "The process cannot access the file because it is being used by another process". + +Verify can detect those processes via the Windows Restart Manager and terminate them so the write can be retried. + + +## Enable + +Set the `Verify_KillProcessLockingFile` environment variable to `true`. + +When enabled, on Windows, any `IOException` raised during a snapshot file write triggers a lookup of every process holding a handle to the target path. Each such process is killed and the write is retried once. + + +## Platform support + +The feature only runs on Windows, since the Restart Manager API is Windows-only. On other platforms, the environment variable has no effect. + + +## Caveats + +Killing processes is destructive. Enable this only in environments where losing the work in those processes is acceptable, such as CI machines or developer machines where the only processes that would lock these files are short-lived diff or editor processes. diff --git a/docs/readme.md b/docs/readme.md index f6396121f2..e03dd6fc0b 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -46,6 +46,7 @@ To change this file edit the source file and then run MarkdownSnippets. * [Verifying binary data](/docs/binary.md) * [Exception Message Format](/docs/exception-message-format.md) * [Build server](/docs/build-server.md) + * [Kill process locking file](/docs/kill-process-locking-file.md) * [Comparers](/docs/comparer.md) * [Converters](/docs/converter.md) * [Recording](/docs/recording.md) diff --git a/readme.md b/readme.md index 544b74f0a4..56c5384483 100644 --- a/readme.md +++ b/readme.md @@ -1075,6 +1075,7 @@ Browser testing via * [Verifying binary data](/docs/binary.md) * [Exception Message Format](/docs/exception-message-format.md) * [Build server](/docs/build-server.md) + * [Kill process locking file](/docs/kill-process-locking-file.md) * [Comparers](/docs/comparer.md) * [Converters](/docs/converter.md) * [Recording](/docs/recording.md) diff --git a/src/Verify.Tests/FileLockKillerTests.ParseEnvironmentVariable_failure.verified.txt b/src/Verify.Tests/FileLockKillerTests.ParseEnvironmentVariable_failure.verified.txt new file mode 100644 index 0000000000..27bba6972e --- /dev/null +++ b/src/Verify.Tests/FileLockKillerTests.ParseEnvironmentVariable_failure.verified.txt @@ -0,0 +1,7 @@ +{ + Type: Exception, + Message: Could not convert `Verify_KillProcessLockingFile` environment variable to a bool. Value: foo, + StackTrace: +at FileLockKiller.ParseEnvironmentVariable(String text) +at FileLockKillerTests.<>c.b__1_0() +} \ No newline at end of file diff --git a/src/Verify.Tests/FileLockKillerTests.cs b/src/Verify.Tests/FileLockKillerTests.cs new file mode 100644 index 0000000000..0a983f0345 --- /dev/null +++ b/src/Verify.Tests/FileLockKillerTests.cs @@ -0,0 +1,14 @@ +public class FileLockKillerTests +{ + [Fact] + public void ParseEnvironmentVariable() + { + Assert.False(FileLockKiller.ParseEnvironmentVariable(null)); + Assert.False(FileLockKiller.ParseEnvironmentVariable("false")); + Assert.True(FileLockKiller.ParseEnvironmentVariable("true")); + } + + [Fact] + public Task ParseEnvironmentVariable_failure() => + Throws(() => FileLockKiller.ParseEnvironmentVariable("foo")); +} diff --git a/src/Verify/Compare/FileComparer.cs b/src/Verify/Compare/FileComparer.cs index 5e04537b00..3d60097511 100644 --- a/src/Verify/Compare/FileComparer.cs +++ b/src/Verify/Compare/FileComparer.cs @@ -47,7 +47,7 @@ static async Task InnerCompare(FilePair file, Stream receivedStr return new(Equality.Equal, compareResult.Message, null, null); } - File.Copy(fileStream.Name, file.ReceivedPath, true); + IoHelpers.CopyFile(fileStream.Name, file.ReceivedPath); return new(Equality.NotEqual, compareResult.Message, null, null); } diff --git a/src/Verify/FileLockKiller.cs b/src/Verify/FileLockKiller.cs new file mode 100644 index 0000000000..a30af8480e --- /dev/null +++ b/src/Verify/FileLockKiller.cs @@ -0,0 +1,49 @@ +static class FileLockKiller +{ + static FileLockKiller() + { + var text = Environment.GetEnvironmentVariable("Verify_KillProcessLockingFile"); + Enabled = ParseEnvironmentVariable(text); + } + + public static bool Enabled { get; } + + public static bool ParseEnvironmentVariable(string? text) + { + if (text is null) + { + return false; + } + + if (bool.TryParse(text, out var result)) + { + return result; + } + + throw new($"Could not convert `Verify_KillProcessLockingFile` environment variable to a bool. Value: {text}"); + } + + public static void KillProcessesLockingFile(string path) + { + if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + return; + } + + foreach (var process in RestartManager.GetProcessesLockingFile(path)) + { + try + { + process.Kill(); + process.WaitForExit(5000); + } + catch + { + } + finally + { + process.Dispose(); + } + } + } +} diff --git a/src/Verify/IoHelpers.cs b/src/Verify/IoHelpers.cs index 39b07c413a..f7f9be26b0 100644 --- a/src/Verify/IoHelpers.cs +++ b/src/Verify/IoHelpers.cs @@ -117,8 +117,31 @@ public static Task DisposeAsyncEx(this Stream stream) } #endif - static FileStream OpenWrite(string path) => - new(path, FileMode.Create, FileAccess.Write, FileShare.Read, bufferSize: 4096, useAsync: true); + static FileStream OpenWrite(string path) + { + try + { + return new(path, FileMode.Create, FileAccess.Write, FileShare.Read, bufferSize: 4096, useAsync: true); + } + catch (IOException) when (FileLockKiller.Enabled) + { + FileLockKiller.KillProcessesLockingFile(path); + return new(path, FileMode.Create, FileAccess.Write, FileShare.Read, bufferSize: 4096, useAsync: true); + } + } + + public static void CopyFile(string source, string destination) + { + try + { + File.Copy(source, destination, true); + } + catch (IOException) when (FileLockKiller.Enabled) + { + FileLockKiller.KillProcessesLockingFile(destination); + File.Copy(source, destination, true); + } + } public static FileStream OpenRead(string path) => new(path, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize: 4096, useAsync: true); diff --git a/src/Verify/RestartManager.cs b/src/Verify/RestartManager.cs new file mode 100644 index 0000000000..7ade2e33e3 --- /dev/null +++ b/src/Verify/RestartManager.cs @@ -0,0 +1,134 @@ +[SupportedOSPlatform("windows")] +static class RestartManager +{ + const int RmRebootReasonNone = 0; + const int CchRmMaxAppName = 255; + const int CchRmMaxSvcName = 63; + const int ErrorMoreData = 234; + + [StructLayout(LayoutKind.Sequential)] + struct RM_UNIQUE_PROCESS + { + public int dwProcessId; + public System.Runtime.InteropServices.ComTypes.FILETIME ProcessStartTime; + } + + enum RM_APP_TYPE + { + RmUnknownApp = 0, + RmMainWindow = 1, + RmOtherWindow = 2, + RmService = 3, + RmExplorer = 4, + RmConsole = 5, + RmCritical = 1000 + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + struct RM_PROCESS_INFO + { + public RM_UNIQUE_PROCESS Process; + + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = CchRmMaxAppName + 1)] + public string strAppName; + + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = CchRmMaxSvcName + 1)] + public string strServiceShortName; + + public RM_APP_TYPE ApplicationType; + public uint AppStatus; + public uint TSSessionId; + + [MarshalAs(UnmanagedType.Bool)] + public bool bRestartable; + } + + [DllImport("rstrtmgr.dll", CharSet = CharSet.Unicode)] + static extern int RmRegisterResources( + uint pSessionHandle, + uint nFiles, + string[] rgsFilenames, + uint nApplications, + [In] RM_UNIQUE_PROCESS[]? rgApplications, + uint nServices, + string[]? rgsServiceNames); + + [DllImport("rstrtmgr.dll", CharSet = CharSet.Auto)] + static extern int RmStartSession( + out uint pSessionHandle, + int dwSessionFlags, + string strSessionKey); + + [DllImport("rstrtmgr.dll")] + static extern int RmEndSession(uint pSessionHandle); + + [DllImport("rstrtmgr.dll")] + static extern int RmGetList( + uint dwSessionHandle, + out uint pnProcInfoNeeded, + ref uint pnProcInfo, + [In, Out] RM_PROCESS_INFO[]? rgAffectedApps, + ref uint lpdwRebootReasons); + + public static List GetProcessesLockingFile(string path) + { + var processes = new List(); + var key = Guid.NewGuid().ToString(); + + var startResult = RmStartSession(out var handle, 0, key); + if (startResult != 0) + { + return processes; + } + + try + { + string[] resources = [path]; + var registerResult = RmRegisterResources(handle, (uint) resources.Length, resources, 0, null, 0, null); + if (registerResult != 0) + { + return processes; + } + + uint pnProcInfo = 0; + var rebootReasons = (uint) RmRebootReasonNone; + + var listResult = RmGetList(handle, out var pnProcInfoNeeded, ref pnProcInfo, null, ref rebootReasons); + if (listResult == 0) + { + return processes; + } + + if (listResult != ErrorMoreData) + { + return processes; + } + + var processInfo = new RM_PROCESS_INFO[pnProcInfoNeeded]; + pnProcInfo = pnProcInfoNeeded; + listResult = RmGetList(handle, out pnProcInfoNeeded, ref pnProcInfo, processInfo, ref rebootReasons); + if (listResult != 0) + { + return processes; + } + + for (var i = 0; i < pnProcInfo; i++) + { + try + { + var process = Process.GetProcessById(processInfo[i].Process.dwProcessId); + processes.Add(process); + } + catch (ArgumentException) + { + } + } + } + finally + { + RmEndSession(handle); + } + + return processes; + } +}