summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Pierce <[email protected]>2015-09-26 16:11:49 -0700
committerDavid Pierce <[email protected]>2015-10-08 09:47:23 -0700
commit81e0b16d9fbbfa916b34d0fa38967a14f8796f49 (patch)
tree255b966117b3f869588fed84163c1db6baa8025c
parent80cf533fe4e48ddfab3015d9570f2833951c1dea (diff)
Tests config lookup methods
-rw-r--r--config_test.go73
1 files changed, 55 insertions, 18 deletions
diff --git a/config_test.go b/config_test.go
index e4a2c1f..8c2decc 100644
--- a/config_test.go
+++ b/config_test.go
@@ -5,24 +5,23 @@ import (
"testing"
)
+var tempConfig = "./temp.gitconfig"
+
func setupConfig() (*Config, error) {
var (
c *Config
err error
- p string
)
- p, err = ConfigFindGlobal()
- if err != nil {
- return nil, err
- }
-
- c, err = OpenOndisk(nil, p)
+ c, err = OpenOndisk(nil, tempConfig)
if err != nil {
return nil, err
}
c.SetString("foo.bar", "baz")
+ c.SetBool("foo.bool", true)
+ c.SetInt32("foo.int32", 32)
+ c.SetInt64("foo.int64", 64)
return c, err
}
@@ -31,28 +30,66 @@ func cleanupConfig() {
os.Remove(tempConfig)
}
-func TestConfigLookupString(t *testing.T) {
+type TestRunner func(*Config, *testing.T)
+
+var tests = []TestRunner{
+ // LookupString
+ func(c *Config, t *testing.T) {
+ val, err := c.LookupString("foo.bar")
+ if err != nil {
+ t.Errorf("Got LookupString error: '%v', expected none\n", err)
+ }
+ if val != "baz" {
+ t.Errorf("Got '%s' from LookupString, expected 'bar'\n", val)
+ }
+ },
+ // LookupBool
+ func(c *Config, t *testing.T) {
+ val, err := c.LookupBool("foo.bool")
+ if err != nil {
+ t.Errorf("Got LookupBool error: '%v', expected none\n", err)
+ }
+ if !val {
+ t.Errorf("Got %b from LookupBool, expected 'false'\n", val)
+ }
+ },
+ // LookupInt32
+ func(c *Config, t *testing.T) {
+ val, err := c.LookupInt32("foo.int32")
+ if err != nil {
+ t.Errorf("Got LookupInt32 error: '%v', expected none\n", err)
+ }
+ if val != 32 {
+ t.Errorf("Got %v, expected 32\n", val)
+ }
+ },
+ // LookupInt64
+ func(c *Config, t *testing.T) {
+ val, err := c.LookupInt64("foo.int64")
+ if err != nil {
+ t.Errorf("Got LookupInt64 error: '%v', expected none\n", err)
+ }
+ if val != 64 {
+ t.Errorf("Got %v, expected 64\n", val)
+ }
+ },
+}
+
+func TestConfigLookups(t *testing.T) {
var (
err error
- val string
c *Config
)
c, err = setupConfig()
defer cleanupConfig()
+
if err != nil {
t.Errorf("Setup error: '%v'. Expected none\n", err)
- t.FailNow()
}
defer c.Free()
- val, err = c.LookupString("foo.bar")
- if err != nil {
- t.Errorf("Got error: '%v', expected none\n", err)
- t.FailNow()
- }
-
- if val != "baz" {
- t.Errorf("Got '%s', expected 'bar'\n", val)
+ for _, test := range tests {
+ test(c, t)
}
}