aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/format/config/section_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'plumbing/format/config/section_test.go')
-rw-r--r--plumbing/format/config/section_test.go71
1 files changed, 71 insertions, 0 deletions
diff --git a/plumbing/format/config/section_test.go b/plumbing/format/config/section_test.go
new file mode 100644
index 0000000..cfd9f3f
--- /dev/null
+++ b/plumbing/format/config/section_test.go
@@ -0,0 +1,71 @@
+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)
+}