package rconfig import ( "os" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("Testing bool parsing", func() { type t struct { Test1 bool `default:"true"` Test2 bool `default:"false" flag:"test2"` Test3 bool `default:"true" flag:"test3,t"` Test4 bool `flag:"test4"` } var ( err error args []string cfg t ) BeforeEach(func() { cfg = t{} args = []string{ "--test2", "-t", } }) JustBeforeEach(func() { err = parse(&cfg, args) }) It("should not have errored", func() { Expect(err).NotTo(HaveOccurred()) }) It("should have the expected values", func() { Expect(cfg.Test1).To(Equal(true)) Expect(cfg.Test2).To(Equal(true)) Expect(cfg.Test3).To(Equal(true)) Expect(cfg.Test4).To(Equal(false)) }) }) var _ = Describe("Testing to set bool from ENV with default", func() { type t struct { Test1 bool `default:"true" env:"TEST1"` } var ( err error args []string cfg t ) BeforeEach(func() { cfg = t{} args = []string{} }) JustBeforeEach(func() { os.Unsetenv("TEST1") err = parse(&cfg, args) }) It("should not have errored", func() { Expect(err).NotTo(HaveOccurred()) }) It("should have the expected values", func() { Expect(cfg.Test1).To(Equal(true)) }) })