Browse Source

Add MustParse

Closes #14
Alexandru Cojocaru 11 years ago
committed by Benedikt Lang
parent
commit
fe545f5595
2 changed files with 22 additions and 0 deletions
  1. +9
    -0
      semver.go
  2. +13
    -0
      semver_test.go

+ 9
- 0
semver.go View File

@ -285,6 +285,15 @@ func Parse(s string) (Version, error) {
return v, nil return v, nil
} }
// MustParse is like Parse but panics if the version cannot be parsed.
func MustParse(s string) Version {
v, err := Parse(s)
if err != nil {
panic(`semver: Parse(` + s + `): ` + err.Error())
}
return v
}
// PreRelease Version // PreRelease Version
type PRVersion struct { type PRVersion struct {
VersionStr string VersionStr string


+ 13
- 0
semver_test.go View File

@ -50,6 +50,19 @@ func TestParse(t *testing.T) {
} }
} }
func TestMustParse(t *testing.T) {
_ = MustParse("32.2.1-alpha")
}
func TestMustParse_panic(t *testing.T) {
defer func() {
if recover() == nil {
t.Errorf("Should have panicked")
}
}()
_ = MustParse("invalid version")
}
func TestValidate(t *testing.T) { func TestValidate(t *testing.T) {
for _, test := range formatTests { for _, test := range formatTests {
if err := test.v.Validate(); err != nil { if err := test.v.Validate(); err != nil {


Loading…
Cancel
Save