mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-02 19:50:15 +08:00
Limit v1 updates to v1
This commit is contained in:
parent
6a03a5f8eb
commit
6a2700e0bf
@ -24,11 +24,19 @@ func NewSemanticVersion(version string) (*SemanticVersion, error) {
|
|||||||
|
|
||||||
// IsRelease returns true if it's a release version
|
// IsRelease returns true if it's a release version
|
||||||
func (s *SemanticVersion) IsRelease() bool {
|
func (s *SemanticVersion) IsRelease() bool {
|
||||||
|
// Limit to v1
|
||||||
|
if s.Version.Major() != 1 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
return len(s.Version.Prerelease()) == 0 && len(s.Version.Metadata()) == 0
|
return len(s.Version.Prerelease()) == 0 && len(s.Version.Metadata()) == 0
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsPreRelease returns true if it's a prerelease version
|
// IsPreRelease returns true if it's a prerelease version
|
||||||
func (s *SemanticVersion) IsPreRelease() bool {
|
func (s *SemanticVersion) IsPreRelease() bool {
|
||||||
|
// Limit to v1
|
||||||
|
if s.Version.Major() != 1 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
return len(s.Version.Prerelease()) > 0
|
return len(s.Version.Prerelease()) > 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
65
cmd/semver_test.go
Normal file
65
cmd/semver_test.go
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestSemanticVersion_IsPreRelease(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
version string
|
||||||
|
want bool
|
||||||
|
}{
|
||||||
|
{"v1.6.7-pre0", "v1.6.7-pre0", true},
|
||||||
|
{"v2.6.7+pre0", "v2.6.7+pre0", false},
|
||||||
|
{"v2.6.7", "v2.6.7", false},
|
||||||
|
{"v2.0.0+alpha.1", "v2.0.0+alpha.1", false},
|
||||||
|
{"v2.0.0-alpha.1", "v2.0.0-alpha.1", false},
|
||||||
|
{"v1.6.7", "v1.6.7", false},
|
||||||
|
}
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
semanticversion, err := NewSemanticVersion(tt.version)
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("Invalid semantic version: %s", semanticversion)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
s := &SemanticVersion{
|
||||||
|
Version: semanticversion.Version,
|
||||||
|
}
|
||||||
|
if got := s.IsPreRelease(); got != tt.want {
|
||||||
|
t.Errorf("IsPreRelease() = %v, want %v", got, tt.want)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSemanticVersion_IsRelease(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
version string
|
||||||
|
want bool
|
||||||
|
}{
|
||||||
|
{"v1.6.7", "v1.6.7", true},
|
||||||
|
{"v2.6.7-pre0", "v2.6.7-pre0", false},
|
||||||
|
{"v2.6.7", "v2.6.7", false},
|
||||||
|
{"v2.6.7+release", "v2.6.7+release", false},
|
||||||
|
{"v2.0.0-alpha.1", "v2.0.0-alpha.1", false},
|
||||||
|
{"v1.6.7-pre0", "v1.6.7-pre0", false},
|
||||||
|
}
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
semanticversion, err := NewSemanticVersion(tt.version)
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("Invalid semantic version: %s", semanticversion)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
s := &SemanticVersion{
|
||||||
|
Version: semanticversion.Version,
|
||||||
|
}
|
||||||
|
if got := s.IsRelease(); got != tt.want {
|
||||||
|
t.Errorf("IsRelease() = %v, want %v", got, tt.want)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user