summaryrefslogtreecommitdiff
path: root/version/gen/vgen_test.go
blob: 002475a20bbe6872eb2fba115e2fe415c573b9ac (plain)
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())
	}
}