Replace embedded SemanticVersion with NuGet.Versioning package

This commit is contained in:
Caelan Sayler
2022-04-24 09:58:15 +01:00
parent e4894c1690
commit 4d13304699
21 changed files with 73 additions and 394 deletions

View File

@@ -8,6 +8,7 @@ using Squirrel.SimpleSplat;
using Squirrel.Tests.TestHelpers;
using Xunit;
using Xunit.Abstractions;
using NuGet.Versioning;
namespace Squirrel.Tests
{
@@ -67,7 +68,7 @@ namespace Squirrel.Tests
var result = new ZipPackage(outFile);
result.Id.ShouldEqual("slack");
result.Version.ShouldEqual(new SemanticVersion("1.2.0"));
result.Version.ShouldEqual(SemanticVersion.Parse("1.2.0"));
} finally {
if (File.Exists(outFile)) {
File.Delete(outFile);

View File

@@ -5,6 +5,7 @@ using Squirrel;
using Squirrel.Tests.TestHelpers;
using Xunit;
using Squirrel.NuGet;
using NuGet.Versioning;
namespace Squirrel.Tests
{
@@ -104,7 +105,7 @@ namespace Squirrel.Tests
{
var fixture = ReleaseEntry.ParseReleaseEntry(releaseEntry);
Assert.Equal(new SemanticVersion(new Version(major, minor, patch, revision), prerelease), fixture.Version);
Assert.Equal(new NuGetVersion(major, minor, patch, revision, prerelease, null), fixture.Version);
Assert.Equal(isDelta, fixture.IsDelta);
}
@@ -142,7 +143,7 @@ namespace Squirrel.Tests
{
var fixture = ReleaseEntry.ParseReleaseEntry(releaseEntry);
Assert.Equal(new SemanticVersion(new Version(major, minor, patch, revision), prerelease), fixture.Version);
Assert.Equal(new NuGetVersion(major, minor, patch, revision, prerelease, null), fixture.Version);
Assert.Equal(isDelta, fixture.IsDelta);
if (stagingPercentage.HasValue) {
@@ -198,7 +199,7 @@ namespace Squirrel.Tests
[Fact]
public void WhenMultipleReleaseMatchesReturnEarlierResult()
{
var expected = new SemanticVersion("1.7.5-beta");
var expected = SemanticVersion.Parse("1.7.5-beta");
var package = new ReleasePackage("Espera-1.7.6-beta.nupkg");
var releaseEntries = new[] {
@@ -217,7 +218,7 @@ namespace Squirrel.Tests
[Fact]
public void WhenMultipleReleasesFoundReturnPreviousVersion()
{
var expected = new SemanticVersion("1.7.6-beta");
var expected = SemanticVersion.Parse("1.7.6-beta");
var input = new ReleasePackage("Espera-1.7.7-beta.nupkg");
var releaseEntries = new[] {
@@ -236,7 +237,7 @@ namespace Squirrel.Tests
[Fact]
public void WhenMultipleReleasesFoundInOtherOrderReturnPreviousVersion()
{
var expected = new SemanticVersion("1.7.6-beta");
var expected = SemanticVersion.Parse("1.7.6-beta");
var input = new ReleasePackage("Espera-1.7.7-beta.nupkg");
var releaseEntries = new[] {
@@ -256,9 +257,9 @@ namespace Squirrel.Tests
public void WhenReleasesAreOutOfOrderSortByVersion()
{
var path = Path.GetTempFileName();
var firstVersion = new SemanticVersion("1.0.0");
var secondVersion = new SemanticVersion("1.1.0");
var thirdVersion = new SemanticVersion("1.2.0");
var firstVersion = SemanticVersion.Parse("1.0.0");
var secondVersion = SemanticVersion.Parse("1.1.0");
var thirdVersion = SemanticVersion.Parse("1.2.0");
var releaseEntries = new[] {
ReleaseEntry.ParseReleaseEntry(MockReleaseEntry("Espera-1.2.0-delta.nupkg")),
@@ -284,20 +285,20 @@ namespace Squirrel.Tests
}
[Fact]
public void WhenPreReleasesAreOutOfOrderSortByNumericSuffix()
public void WhenPreReleasesAreOutOfOrderSortByNumericSuffixSemVer2()
{
var path = Path.GetTempFileName();
var firstVersion = new SemanticVersion("1.1.9-beta105");
var secondVersion = new SemanticVersion("1.2.0-beta9");
var thirdVersion = new SemanticVersion("1.2.0-beta10");
var fourthVersion = new SemanticVersion("1.2.0-beta100");
var firstVersion = SemanticVersion.Parse("1.1.9-beta.105");
var secondVersion = SemanticVersion.Parse("1.2.0-beta.9");
var thirdVersion = SemanticVersion.Parse("1.2.0-beta.10");
var fourthVersion = SemanticVersion.Parse("1.2.0-beta.100");
var releaseEntries = new[] {
ReleaseEntry.ParseReleaseEntry(MockReleaseEntry("Espera-1.2.0-beta1-full.nupkg")),
ReleaseEntry.ParseReleaseEntry(MockReleaseEntry("Espera-1.2.0-beta9-full.nupkg")),
ReleaseEntry.ParseReleaseEntry(MockReleaseEntry("Espera-1.2.0-beta100-full.nupkg")),
ReleaseEntry.ParseReleaseEntry(MockReleaseEntry("Espera-1.1.9-beta105-full.nupkg")),
ReleaseEntry.ParseReleaseEntry(MockReleaseEntry("Espera-1.2.0-beta10-full.nupkg"))
ReleaseEntry.ParseReleaseEntry(MockReleaseEntry("Espera-1.2.0-beta.1-full.nupkg")),
ReleaseEntry.ParseReleaseEntry(MockReleaseEntry("Espera-1.2.0-beta.9-full.nupkg")),
ReleaseEntry.ParseReleaseEntry(MockReleaseEntry("Espera-1.2.0-beta.100-full.nupkg")),
ReleaseEntry.ParseReleaseEntry(MockReleaseEntry("Espera-1.1.9-beta.105-full.nupkg")),
ReleaseEntry.ParseReleaseEntry(MockReleaseEntry("Espera-1.2.0-beta.10-full.nupkg"))
};
ReleaseEntry.WriteReleaseFile(releaseEntries, path);

View File

@@ -12,6 +12,7 @@ using Squirrel.SimpleSplat;
using Xunit;
using Squirrel.NuGet;
using Xunit.Abstractions;
using NuGet.Versioning;
namespace Squirrel.Tests
{
@@ -30,7 +31,7 @@ namespace Squirrel.Tests
public void SemanticVersionParsesValidVersion(string ver)
{
NugetUtil.ThrowIfVersionNotSemverCompliant(ver);
Assert.True(SemanticVersion.TryParseStrict(ver, out var _));
Assert.True(SemanticVersion.TryParse(ver, out var _));
}
[Theory]

View File

@@ -12,6 +12,7 @@ using Xunit;
using System.Net;
using Squirrel.NuGet;
using System.Net.Http;
using NuGet.Versioning;
namespace Squirrel.Tests
{
@@ -326,7 +327,7 @@ namespace Squirrel.Tests
Assert.Null(fixture.CurrentlyInstalledVersion(Path.Combine(tempDir, "app.exe")));
Assert.Null(fixture.CurrentlyInstalledVersion(Path.Combine(tempDir, "theApp", "app.exe")));
Assert.Null(fixture.CurrentlyInstalledVersion(Path.Combine(tempDir, "theApp", "wrongDir", "app.exe")));
Assert.Equal(new SemanticVersion(1, 0, 1, 9), fixture.CurrentlyInstalledVersion(Path.Combine(tempDir, "theApp", "app-1.0.1.9", "app.exe")));
Assert.Equal(new SemanticVersion(1, 0, 9), fixture.CurrentlyInstalledVersion(Path.Combine(tempDir, "theApp", "app-1.0.9", "app.exe")));
}
}
}

View File

@@ -5,6 +5,7 @@ using System.IO.Packaging;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NuGet.Versioning;
using Squirrel.NuGet;
using Squirrel.Tests.TestHelpers;
using Xunit;
@@ -48,7 +49,7 @@ namespace Squirrel.Tests
var dyn = ExposedObject.From(zp);
Assert.Equal("FullNuspec", zp.Id);
Assert.Equal(new SemanticVersion("1.0"), zp.Version);
Assert.Equal(SemanticVersion.Parse("1.0.0"), zp.Version);
Assert.Equal(new[] { "Anaïs Betts", "Caelan Sayler" }, dyn.Authors);
Assert.Equal(new Uri("https://github.com/clowd/Clowd.Squirrel"), zp.ProjectUrl);
Assert.Equal(new Uri("https://user-images.githubusercontent.com/1287295/131249078-9e131e51-0b66-4dc7-8c0a-99cbea6bcf80.png"), zp.IconUrl);