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 })