github.com/chenbh/concourse/v6@v6.4.2/fly/version/version_test.go (about)

     1  package version_test
     2  
     3  import (
     4  	. "github.com/chenbh/concourse/v6/fly/version"
     5  
     6  	. "github.com/onsi/ginkgo"
     7  	. "github.com/onsi/gomega"
     8  )
     9  
    10  var _ = Describe("Version", func() {
    11  	It("parses versions", func() {
    12  		major, minor, patch, err := GetSemver("1.2.3")
    13  		Expect(err).ToNot(HaveOccurred())
    14  		Expect(major).To(Equal(1))
    15  		Expect(minor).To(Equal(2))
    16  		Expect(patch).To(Equal(3))
    17  	})
    18  
    19  	It("returns an error for non-parsable versions", func() {
    20  		_, _, _, err := GetSemver("")
    21  		Expect(err).To(HaveOccurred())
    22  		_, _, _, err = GetSemver("1.2")
    23  		Expect(err).To(HaveOccurred())
    24  	})
    25  
    26  	It("parses pre-release versions", func() {
    27  		major, minor, patch, err := GetSemver("1.2.3-dev.2")
    28  		Expect(err).To(Succeed())
    29  		Expect(major).To(Equal(1))
    30  		Expect(minor).To(Equal(2))
    31  		Expect(patch).To(Equal(3))
    32  	})
    33  
    34  	It("parses post-release versions", func() {
    35  		major, minor, patch, err := GetSemver("1.2.3+bonus_feature.1")
    36  		Expect(err).To(Succeed())
    37  		Expect(major).To(Equal(1))
    38  		Expect(minor).To(Equal(2))
    39  		Expect(patch).To(Equal(3))
    40  	})
    41  
    42  	It("can detect development versions", func() {
    43  		Expect(IsDev("1.2.3")).To(BeFalse())
    44  		Expect(IsDev("0.0.0-dev")).To(BeTrue())
    45  
    46  		Expect(IsDev("0.0.0-devolve")).To(BeFalse())
    47  		Expect(IsDev("0.0.0-not-dev")).To(BeFalse())
    48  		Expect(IsDev("0.0.0+not+dev")).To(BeFalse())
    49  
    50  		Expect(IsDev("0.0.0-dev.1")).To(BeTrue())
    51  		Expect(IsDev("0.0.0-abc+dev")).To(BeTrue())
    52  		Expect(IsDev("0.0.0-abc+dev.1")).To(BeTrue())
    53  		Expect(IsDev("0.0.0-dev+dev")).To(BeTrue())
    54  		Expect(IsDev("0.0.0-abc+dev.1")).To(BeTrue())
    55  	})
    56  })