From d4079cd12787e4a10095fe7547ef77bf4a3ec652 Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Sat, 13 Oct 2018 08:39:12 -0600 Subject: [PATCH] fix ec_semver:pes test to not ignore alpha versions --- src/ec_semver.erl | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/ec_semver.erl b/src/ec_semver.erl index 0298872..2982dfc 100644 --- a/src/ec_semver.erl +++ b/src/ec_semver.erl @@ -287,24 +287,24 @@ normalize(Other = {{_, _, _, _}, {_,_}}) -> %% the internal implementation of the of the pessimistic run. The %% external just ensures that versions are parsed. -spec internal_pes(semver(), semver()) -> boolean(). -internal_pes(VsnA, {{LM, LMI}, _}) +internal_pes(VsnA, {{LM, LMI}, Alpha}) when erlang:is_integer(LM), erlang:is_integer(LMI) -> - gte(VsnA, {{LM, LMI, 0}, {[], []}}) andalso + gte(VsnA, {{LM, LMI, 0}, Alpha}) andalso lt(VsnA, {{LM + 1, 0, 0, 0}, {[], []}}); -internal_pes(VsnA, {{LM, LMI, LP}, _}) +internal_pes(VsnA, {{LM, LMI, LP}, Alpha}) when erlang:is_integer(LM), erlang:is_integer(LMI), erlang:is_integer(LP) -> - gte(VsnA, {{LM, LMI, LP}, {[], []}}) + gte(VsnA, {{LM, LMI, LP}, Alpha}) andalso lt(VsnA, {{LM, LMI + 1, 0, 0}, {[], []}}); -internal_pes(VsnA, {{LM, LMI, LP, LMP}, _}) +internal_pes(VsnA, {{LM, LMI, LP, LMP}, Alpha}) when erlang:is_integer(LM), erlang:is_integer(LMI), erlang:is_integer(LP), erlang:is_integer(LMP) -> - gte(VsnA, {{LM, LMI, LP, LMP}, {[], []}}) + gte(VsnA, {{LM, LMI, LP, LMP}, Alpha}) andalso lt(VsnA, {{LM, LMI, LP + 1, 0}, {[], []}}); internal_pes(Vsn, LVsn) -> @@ -671,6 +671,10 @@ between_test() -> ?assertMatch(true, not between("aaa", "ddd", "zzz")). pes_test() -> + ?assertMatch(true, pes("1.0.0-rc.0", "1.0.0-rc.0")), + ?assertMatch(true, pes("1.0.0-rc.1", "1.0.0-rc.0")), + ?assertMatch(true, pes("1.0.0", "1.0.0-rc.0")), + ?assertMatch(false, pes("1.0.0-rc.0", "1.0.0-rc.1")), ?assertMatch(true, pes("2.6.0", "2.6")), ?assertMatch(true, pes("2.7", "2.6")), ?assertMatch(true, pes("2.8", "2.6")),