From 9fc277a9bf5d40f28ee58b067e12ba7ef431107e Mon Sep 17 00:00:00 2001 From: Adam Ralph Date: Sun, 7 Feb 2021 16:53:26 +0100 Subject: [PATCH] test multiple plus signs in build metadata --- .../BuildMetadataWithMultiplePlusSigns.cs | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 MinVerTests.Packages/BuildMetadataWithMultiplePlusSigns.cs diff --git a/MinVerTests.Packages/BuildMetadataWithMultiplePlusSigns.cs b/MinVerTests.Packages/BuildMetadataWithMultiplePlusSigns.cs new file mode 100644 index 00000000..93c1fcda --- /dev/null +++ b/MinVerTests.Packages/BuildMetadataWithMultiplePlusSigns.cs @@ -0,0 +1,34 @@ +using System.Reflection; +using System.Threading.Tasks; +using MinVerTests.Infra; +using Xunit; + +namespace MinVerTests.Packages +{ + public static class BuildMetadataWithMultiplePlusSigns + { + [Fact] + public static async Task IsUsed() + { + // arrange + var path = MethodBase.GetCurrentMethod().GetTestDirectory(); + await Sdk.CreateProject(path); + var envVars = ("MinVerVersionOverride".ToAltCase(), "2.3.4-alpha-x.5+build.6+7"); + + // act + // SemVer doesn't allow multiple plus signs, but MinVer doesn't care + string @out = null; + var exception = await Record.ExceptionAsync(async () => (_, @out) = await Sdk.BuildProject(path, envVars: envVars)); + if (exception != null) + { + @out = exception.Message; + } + + // assert + Assert.Contains("MinVer: [output] MinVerVersion=2.3.4-alpha-x.5+build.6+7", @out); + Assert.Contains("MinVer: [output] MinVerBuildMetadata=build.6+7", @out); + Assert.Contains("MinVer: [output] PackageVersion=2.3.4-alpha-x.5+build.6+7", @out); + Assert.Contains("MinVer: [output] Version=2.3.4-alpha-x.5+build.6+7", @out); + } + } +}