1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package main
import (
"testing"
"github.com/Masterminds/semver/v3"
"github.com/stretchr/testify/require"
)
func TestVersion(t *testing.T) {
testdata := []struct {
desc, latest string
expected string
}{
{"v1.0.0", "", "1.0.0"},
{"v1.0.0-1-gabcdef0", "v1.0.0", "1.0.1-1-gabcdef0"},
{"v1.0.0-1-gabcdef0", "v2.3.4", "2.3.5-1-gabcdef0"},
{"v1.0.0+123", "v2.3.4", "2.3.5+123"},
}
for _, td := range testdata {
var l *semver.Version
if td.latest != "" {
l = semver.MustParse(td.latest)
}
ver := version(semver.MustParse(td.desc), l)
require.Equal(t, td.expected, ver.String())
}
}
|