1package config 2 3import ( 4 . "gopkg.in/check.v1" 5) 6 7type OptionSuite struct{} 8 9var _ = Suite(&OptionSuite{}) 10 11func (s *OptionSuite) TestOptions_Has(c *C) { 12 o := Options{ 13 &Option{"k", "v"}, 14 &Option{"ok", "v1"}, 15 &Option{"K", "v2"}, 16 } 17 c.Assert(o.Has("k"), Equals, true) 18 c.Assert(o.Has("K"), Equals, true) 19 c.Assert(o.Has("ok"), Equals, true) 20 c.Assert(o.Has("unexistant"), Equals, false) 21 22 o = Options{} 23 c.Assert(o.Has("k"), Equals, false) 24} 25 26func (s *OptionSuite) TestOptions_GetAll(c *C) { 27 o := Options{ 28 &Option{"k", "v"}, 29 &Option{"ok", "v1"}, 30 &Option{"K", "v2"}, 31 } 32 c.Assert(o.GetAll("k"), DeepEquals, []string{"v", "v2"}) 33 c.Assert(o.GetAll("K"), DeepEquals, []string{"v", "v2"}) 34 c.Assert(o.GetAll("ok"), DeepEquals, []string{"v1"}) 35 c.Assert(o.GetAll("unexistant"), DeepEquals, []string{}) 36 37 o = Options{} 38 c.Assert(o.GetAll("k"), DeepEquals, []string{}) 39} 40 41func (s *OptionSuite) TestOption_IsKey(c *C) { 42 c.Assert((&Option{Key: "key"}).IsKey("key"), Equals, true) 43 c.Assert((&Option{Key: "key"}).IsKey("KEY"), Equals, true) 44 c.Assert((&Option{Key: "KEY"}).IsKey("key"), Equals, true) 45 c.Assert((&Option{Key: "key"}).IsKey("other"), Equals, false) 46 c.Assert((&Option{Key: "key"}).IsKey(""), Equals, false) 47 c.Assert((&Option{Key: ""}).IsKey("key"), Equals, false) 48} 49