aboutsummaryrefslogtreecommitdiffstats
path: root/formats/config/option_test.go
diff options
context:
space:
mode:
authorSantiago M. Mola <santi@mola.io>2016-10-26 18:41:39 +0200
committerMáximo Cuadros <mcuadros@gmail.com>2016-10-26 16:41:39 +0000
commit61f0188edcea55dbcfa1c3a35da0c34fed10fd54 (patch)
tree08b59ecd20719f448d64073845bf40cf2d86fd7c /formats/config/option_test.go
parent194da90f885d4cb7cf2bf4c84a74e5d559000764 (diff)
downloadgo-git-61f0188edcea55dbcfa1c3a35da0c34fed10fd54.tar.gz
formats/config: Added encoder/decoder for git config files. (#97)
* WIP: Add config format parser. * add decoder based on gcfg. Portions of code taken from: https://github.com/go-gcfg/gcfg/blob/5b9f94ee80b2331c3982477bd84be8edd857df33/read.go * add git config encoder and config methods. * use format/config in storage/filesystem for read * use format/config in storage/filesystem to write * formats/config: improve docs. * formats/config: improve tests. * formats/config: use our fork of gcfg; improve api. * formats/config: improve api. * storage/filesystem: fix gofmt * formats/config: use NoSubsection constant. * formats/config: add doc.go * formats/config: requested sytle changes. * formats/config: do not use *_test packages.
Diffstat (limited to 'formats/config/option_test.go')
-rw-r--r--formats/config/option_test.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/formats/config/option_test.go b/formats/config/option_test.go
new file mode 100644
index 0000000..8588de1
--- /dev/null
+++ b/formats/config/option_test.go
@@ -0,0 +1,33 @@
+package config
+
+import (
+ . "gopkg.in/check.v1"
+)
+
+type OptionSuite struct{}
+
+var _ = Suite(&OptionSuite{})
+
+func (s *OptionSuite) TestOptions_GetAll(c *C) {
+ o := Options{
+ &Option{"k", "v"},
+ &Option{"ok", "v1"},
+ &Option{"K", "v2"},
+ }
+ c.Assert(o.GetAll("k"), DeepEquals, []string{"v", "v2"})
+ c.Assert(o.GetAll("K"), DeepEquals, []string{"v", "v2"})
+ c.Assert(o.GetAll("ok"), DeepEquals, []string{"v1"})
+ c.Assert(o.GetAll("unexistant"), DeepEquals, []string{})
+
+ o = Options{}
+ c.Assert(o.GetAll("k"), DeepEquals, []string{})
+}
+
+func (s *OptionSuite) TestOption_IsKey(c *C) {
+ c.Assert((&Option{Key: "key"}).IsKey("key"), Equals, true)
+ c.Assert((&Option{Key: "key"}).IsKey("KEY"), Equals, true)
+ c.Assert((&Option{Key: "KEY"}).IsKey("key"), Equals, true)
+ c.Assert((&Option{Key: "key"}).IsKey("other"), Equals, false)
+ c.Assert((&Option{Key: "key"}).IsKey(""), Equals, false)
+ c.Assert((&Option{Key: ""}).IsKey("key"), Equals, false)
+}