package rconfig import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("Testing errors", func() { It("should not accept string as int", func() { Expect(parse(&struct { A int `default:"a"` }{}, []string{})).To(HaveOccurred()) }) It("should not accept string as float", func() { Expect(parse(&struct { A float32 `default:"a"` }{}, []string{})).To(HaveOccurred()) }) It("should not accept string as uint", func() { Expect(parse(&struct { A uint `default:"a"` }{}, []string{})).To(HaveOccurred()) }) It("should not accept string as uint in sub-struct", func() { Expect(parse(&struct { B struct { A uint `default:"a"` } }{}, []string{})).To(HaveOccurred()) }) It("should not accept string slice as int slice", func() { Expect(parse(&struct { A []int `default:"a,bn"` }{}, []string{})).To(HaveOccurred()) }) It("should not accept variables not being pointers", func() { cfg := struct { A string `default:"a"` }{} Expect(parse(cfg, []string{})).To(HaveOccurred()) }) It("should not accept variables not being pointers to structs", func() { cfg := "test" Expect(parse(cfg, []string{})).To(HaveOccurred()) }) })