| package config |
| |
| import ( |
| . "gopkg.in/check.v1" |
| ) |
| |
| type SectionSuite struct{} |
| |
| var _ = Suite(&SectionSuite{}) |
| |
| func (s *SectionSuite) TestSection_Option(c *C) { |
| sect := &Section{ |
| Options: []*Option{ |
| {Key: "key1", Value: "value1"}, |
| {Key: "key2", Value: "value2"}, |
| {Key: "key1", Value: "value3"}, |
| }, |
| } |
| c.Assert(sect.Option("otherkey"), Equals, "") |
| c.Assert(sect.Option("key2"), Equals, "value2") |
| c.Assert(sect.Option("key1"), Equals, "value3") |
| } |
| |
| func (s *SectionSuite) TestSubsection_Option(c *C) { |
| sect := &Subsection{ |
| Options: []*Option{ |
| {Key: "key1", Value: "value1"}, |
| {Key: "key2", Value: "value2"}, |
| {Key: "key1", Value: "value3"}, |
| }, |
| } |
| c.Assert(sect.Option("otherkey"), Equals, "") |
| c.Assert(sect.Option("key2"), Equals, "value2") |
| c.Assert(sect.Option("key1"), Equals, "value3") |
| } |
| |
| func (s *SectionSuite) TestSection_RemoveOption(c *C) { |
| sect := &Section{ |
| Options: []*Option{ |
| {Key: "key1", Value: "value1"}, |
| {Key: "key2", Value: "value2"}, |
| {Key: "key1", Value: "value3"}, |
| }, |
| } |
| c.Assert(sect.RemoveOption("otherkey"), DeepEquals, sect) |
| |
| expected := &Section{ |
| Options: []*Option{ |
| {Key: "key2", Value: "value2"}, |
| }, |
| } |
| c.Assert(sect.RemoveOption("key1"), DeepEquals, expected) |
| } |
| |
| func (s *SectionSuite) TestSubsection_RemoveOption(c *C) { |
| sect := &Subsection{ |
| Options: []*Option{ |
| {Key: "key1", Value: "value1"}, |
| {Key: "key2", Value: "value2"}, |
| {Key: "key1", Value: "value3"}, |
| }, |
| } |
| c.Assert(sect.RemoveOption("otherkey"), DeepEquals, sect) |
| |
| expected := &Subsection{ |
| Options: []*Option{ |
| {Key: "key2", Value: "value2"}, |
| }, |
| } |
| c.Assert(sect.RemoveOption("key1"), DeepEquals, expected) |
| } |
| |
| func (s *SectionSuite) TestSubsection_SetOption(c *C) { |
| sect := &Subsection{ |
| Options: []*Option{ |
| {Key: "key1", Value: "value1"}, |
| {Key: "key2", Value: "value2"}, |
| {Key: "key1", Value: "value3"}, |
| }, |
| } |
| |
| expected := &Subsection{ |
| Options: []*Option{ |
| {Key: "key1", Value: "value1"}, |
| {Key: "key2", Value: "value2"}, |
| {Key: "key1", Value: "value4"}, |
| }, |
| } |
| c.Assert(sect.SetOption("key1", "value1", "value4"), DeepEquals, expected) |
| } |