From ca461e88d7752ba9958fd02772de253f9a3cd39d Mon Sep 17 00:00:00 2001 From: David Wilson Date: Mon, 23 Jul 2018 16:09:44 -0700 Subject: [PATCH 1/3] Update nuget submodule, add another test for prerelease version sorting --- .gitmodules | 3 ++- test/ReleaseEntryTests.cs | 24 ++++++++++++++++++++++++ vendor/nuget | 2 +- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 9d426b03..7f6683ad 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,4 @@ [submodule "vendor/nuget"] path = vendor/nuget - url = https://github.com/paulcbetts/NuGet + url = https://github.com/daviwil/NuGet + branch = fix-prerelease-comparison diff --git a/test/ReleaseEntryTests.cs b/test/ReleaseEntryTests.cs index ae6aa5c0..093a226d 100644 --- a/test/ReleaseEntryTests.cs +++ b/test/ReleaseEntryTests.cs @@ -263,6 +263,30 @@ namespace Squirrel.Tests.Core Assert.Equal(false, releases[4].IsDelta); } + [Fact] + public void SortDoubleDigitPrereleaseVersionsCorrectly() + { + var path = Path.GetTempFileName(); + 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 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.2.0-beta10-full.nupkg")) + }; + + ReleaseEntry.WriteReleaseFile(releaseEntries, path); + + var releases = ReleaseEntry.ParseReleaseFile(File.ReadAllText(path)).ToArray(); + + Assert.Equal(secondVersion, releases[1].Version); + Assert.Equal(thirdVersion, releases[2].Version); + Assert.Equal(fourthVersion, releases[3].Version); + } + [Fact] public void StagingUsersGetBetaSoftware() { diff --git a/vendor/nuget b/vendor/nuget index 23ee1fbe..bcda44cc 160000 --- a/vendor/nuget +++ b/vendor/nuget @@ -1 +1 @@ -Subproject commit 23ee1fbea338ad489de4d25937d7a16963ef4d07 +Subproject commit bcda44ccfee0384ba2e2d17fa3662d3ec3f97c36 From cf6898d4aa3d1075317e714a3d3fcf23da85c696 Mon Sep 17 00:00:00 2001 From: David Wilson Date: Wed, 5 Sep 2018 16:37:39 -0700 Subject: [PATCH 2/3] Add another assert to check prerelease comparisons across different versions --- test/ReleaseEntryTests.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/test/ReleaseEntryTests.cs b/test/ReleaseEntryTests.cs index 093a226d..6e7a12ff 100644 --- a/test/ReleaseEntryTests.cs +++ b/test/ReleaseEntryTests.cs @@ -264,9 +264,10 @@ namespace Squirrel.Tests.Core } [Fact] - public void SortDoubleDigitPrereleaseVersionsCorrectly() + public void WhenPreReleasesAreOutOfOrderSortByNumericSuffix() { 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"); @@ -275,6 +276,7 @@ namespace Squirrel.Tests.Core 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")) }; @@ -282,9 +284,10 @@ namespace Squirrel.Tests.Core var releases = ReleaseEntry.ParseReleaseFile(File.ReadAllText(path)).ToArray(); - Assert.Equal(secondVersion, releases[1].Version); - Assert.Equal(thirdVersion, releases[2].Version); - Assert.Equal(fourthVersion, releases[3].Version); + Assert.Equal(firstVersion, releases[0].Version); + Assert.Equal(secondVersion, releases[2].Version); + Assert.Equal(thirdVersion, releases[3].Version); + Assert.Equal(fourthVersion, releases[4].Version); } [Fact] From ec071d9f8c176cdbc707180fb6b16ec26ac24468 Mon Sep 17 00:00:00 2001 From: David Wilson Date: Wed, 5 Sep 2018 16:50:16 -0700 Subject: [PATCH 3/3] Update submodule --- vendor/nuget | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/nuget b/vendor/nuget index bcda44cc..9fcfd617 160000 --- a/vendor/nuget +++ b/vendor/nuget @@ -1 +1 @@ -Subproject commit bcda44ccfee0384ba2e2d17fa3662d3ec3f97c36 +Subproject commit 9fcfd6174b98d6347b81f52f14e19b42f4c04142