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