@@ -55,6 +55,27 @@ func TestSemverCompare(t *testing.T) {
5555
5656}
5757
58+ func TestSemverCompareRange (t * testing.T ) {
59+ assert := assert .New (t )
60+
61+ t .Run ("test version range compare" , func (t * testing.T ) {
62+ assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.3" ) == 0 )
63+ assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.3:" ) == 0 )
64+ assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.3:_" ) == 0 )
65+ assert .True (utils .SemverCompareRange ("1.2.3" , ":1.2.3" ) == 0 )
66+ assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.3:1.2.3" ) == 0 )
67+ assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.0:1.2.3" ) == 0 )
68+ assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.3:1.2.4" ) == 0 )
69+ assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.0:1.2.4" ) == 0 )
70+ assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.0" ) == 0 )
71+ assert .True (utils .SemverCompareRange ("1.2.3" , ":1.2.4" ) == 0 )
72+ assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.4" ) < 0 )
73+ assert .True (utils .SemverCompareRange ("1.2.3" , ":1.2.0" ) > 0 )
74+ assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.4:1.2.5" ) < 0 )
75+ assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.0:1.2.1" ) > 0 )
76+ })
77+ }
78+
5879func TestSemverMajor (t * testing.T ) {
5980 assert := assert .New (t )
6081
@@ -99,23 +120,38 @@ func TestSemverStripMeta(t *testing.T) {
99120 })
100121}
101122
102- func TestSemverCompareRange (t * testing.T ) {
123+ func TestVersionList (t * testing.T ) {
103124 assert := assert .New (t )
104125
105- t .Run ("test version range compare" , func (t * testing.T ) {
106- assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.3" ) == 0 )
107- assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.3:" ) == 0 )
108- assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.3:_" ) == 0 )
109- assert .True (utils .SemverCompareRange ("1.2.3" , ":1.2.3" ) == 0 )
110- assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.3:1.2.3" ) == 0 )
111- assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.0:1.2.3" ) == 0 )
112- assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.3:1.2.4" ) == 0 )
113- assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.0:1.2.4" ) == 0 )
114- assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.0" ) == 0 )
115- assert .True (utils .SemverCompareRange ("1.2.3" , ":1.2.4" ) == 0 )
116- assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.4" ) < 0 )
117- assert .True (utils .SemverCompareRange ("1.2.3" , ":1.2.0" ) > 0 )
118- assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.4:1.2.5" ) < 0 )
119- assert .True (utils .SemverCompareRange ("1.2.3" , "1.2.0:1.2.1" ) > 0 )
126+ t .Run ("empty slice" , func (t * testing.T ) {
127+ assert .Equal ("" , utils .VersionList ([]string {}))
128+ })
129+
130+ t .Run ("single version, no meta" , func (t * testing.T ) {
131+ assert .Equal ("1.2.3" , utils .VersionList ([]string {"1.2.3" }))
132+ })
133+
134+ t .Run ("single version, with meta" , func (t * testing.T ) {
135+ assert .Equal ("1.2.3" , utils .VersionList ([]string {"1.2.3+meta" }))
136+ })
137+
138+ t .Run ("multiple versions, no meta" , func (t * testing.T ) {
139+ assert .Equal ("1.2.3, 2.3.4, 3.4.5" , utils .VersionList ([]string {"1.2.3" , "2.3.4" , "3.4.5" }))
140+ })
141+
142+ t .Run ("multiple versions, some with meta" , func (t * testing.T ) {
143+ assert .Equal ("1.2.3, 2.3.4, 3.4.5" , utils .VersionList ([]string {"1.2.3+meta" , "2.3.4" , "3.4.5+build" }))
144+ })
145+
146+ t .Run ("multiple versions, all with meta" , func (t * testing.T ) {
147+ assert .Equal ("1.2.3, 2.3.4, 3.4.5" , utils .VersionList ([]string {"1.2.3+meta" , "2.3.4+build" , "3.4.5+test" }))
148+ })
149+
150+ t .Run ("versions with empty string" , func (t * testing.T ) {
151+ assert .Equal ("1.2.3" , utils .VersionList ([]string {"" , "1.2.3" }))
152+ })
153+
154+ t .Run ("versions with empty strings in between" , func (t * testing.T ) {
155+ assert .Equal ("1.2.3, 2.3.4, 3.4.5" , utils .VersionList ([]string {"1.2.3" , "" , "2.3.4" , "" , "3.4.5" }))
120156 })
121157}
0 commit comments