wails-release/internal/version/version_test.go
Leon Mika 2115507d52 Add version resolver (tag → strip-v / fall back to short SHA)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 09:50:04 +10:00

33 lines
918 B
Go

package version_test
import (
"testing"
"github.com/leonmika/wails-release/internal/version"
)
func TestResolve(t *testing.T) {
cases := []struct {
name string
override string
ref string
sha string
want string
}{
{"override wins", "9.9.9", "refs/tags/v1.2.3", "abcdefg1234", "9.9.9"},
{"clean tag strips v", "", "refs/tags/v1.2.3", "abcdefg1234", "1.2.3"},
{"prerelease tag falls back to sha", "", "refs/tags/v1.2.3-rc1", "abcdefg1234", "abcdefg"},
{"non-tag ref falls back to sha", "", "refs/heads/main", "abcdefg1234", "abcdefg"},
{"empty ref falls back to sha", "", "", "abcdefg1234", "abcdefg"},
{"short sha shorter than 7 returned verbatim", "", "", "abc", "abc"},
}
for _, c := range cases {
t.Run(c.name, func(t *testing.T) {
got := version.Resolve(c.override, c.ref, c.sha)
if got != c.want {
t.Fatalf("got %q, want %q", got, c.want)
}
})
}
}