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
31
32
33
34
35
36
37
38
39
40
41
|
package release
import "testing"
func TestReleaseSourceAndPrefix(t *testing.T) {
var c RepoConfig
if got := c.ReleaseSource(); got != SourceTag {
t.Errorf("default ReleaseSource = %q, want %q", got, SourceTag)
}
if got := c.Prefix(); got != "release/" {
t.Errorf("default Prefix = %q, want release/", got)
}
c.Brew.Source = "bookmark"
c.Brew.BookmarkPrefix = "rel/"
if got := c.ReleaseSource(); got != SourceBookmark {
t.Errorf("ReleaseSource = %q, want %q", got, SourceBookmark)
}
if got := c.Prefix(); got != "rel/" {
t.Errorf("Prefix = %q, want rel/", got)
}
}
func TestBookmarkVersion(t *testing.T) {
cases := []struct {
short, prefix, want string
ok bool
}{
{"release/v1.2.3", "release/", "v1.2.3", true},
{"rel/v0.1.0", "rel/", "v0.1.0", true},
{"release/v1.2.3", "rel/", "", false}, // wrong prefix
{"release/main", "release/", "", false}, // not semver
{"main", "release/", "", false}, // no prefix
{"release/v1.2", "release/", "", false}, // not 3-part
}
for _, c := range cases {
got, ok := BookmarkVersion(c.short, c.prefix)
if ok != c.ok || got != c.want {
t.Errorf("BookmarkVersion(%q,%q) = %q,%v; want %q,%v", c.short, c.prefix, got, ok, c.want, c.ok)
}
}
}
|