1package cmd_test
2
3import (
4	semver "github.com/cppforlife/go-semi-semantic/version"
5	. "github.com/onsi/ginkgo"
6	. "github.com/onsi/gomega"
7
8	. "github.com/cloudfoundry/bosh-cli/cmd"
9)
10
11var _ = Describe("VersionArg", func() {
12	Describe("UnmarshalFlag", func() {
13		var (
14			arg VersionArg
15		)
16
17		BeforeEach(func() {
18			arg = VersionArg{}
19		})
20
21		It("returns parsed version", func() {
22			err := (&arg).UnmarshalFlag("1.1")
23			Expect(err).ToNot(HaveOccurred())
24			Expect(arg).To(Equal(VersionArg(semver.MustNewVersionFromString("1.1"))))
25		})
26
27		It("returns error if it cannot be parsed", func() {
28			err := (&arg).UnmarshalFlag("1.1~ver")
29			Expect(err).To(HaveOccurred())
30		})
31	})
32})
33