diff options
| author | Carlos Martín Nieto <[email protected]> | 2016-02-15 15:02:19 +0100 |
|---|---|---|
| committer | Carlos Martín Nieto <[email protected]> | 2016-02-15 15:02:19 +0100 |
| commit | 6d6736b2bd4e23a68fa5e0703ab9cf20f3f32af3 (patch) | |
| tree | 5944351daa7480f7e1a89c46b147701a88dfe697 /config_test.go | |
| parent | 6d60e0f2c911b939f2ccae5d3f7d4c554a4d563e (diff) | |
| parent | 55594814c9009f9d645aea39a9f917cf82666228 (diff) | |
Merge remote-tracking branch 'upstream/master' into next
Diffstat (limited to 'config_test.go')
| -rw-r--r-- | config_test.go | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/config_test.go b/config_test.go new file mode 100644 index 0000000..fea8d8a --- /dev/null +++ b/config_test.go @@ -0,0 +1,108 @@ +package git + +import ( + "os" + "testing" +) + +var tempConfig = "./temp.gitconfig" + +func setupConfig() (*Config, error) { + var ( + c *Config + err error + ) + + c, err = OpenOndisk(nil, tempConfig) + if err != nil { + return nil, err + } + + err = c.SetString("foo.bar", "baz") + if err != nil { + return nil, err + } + err = c.SetBool("foo.bool", true) + if err != nil { + return nil, err + } + err = c.SetInt32("foo.int32", 32) + if err != nil { + return nil, err + } + err = c.SetInt64("foo.int64", 64) + if err != nil { + return nil, err + } + + return c, err +} + +func cleanupConfig() { + os.Remove(tempConfig) +} + +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 + c *Config + ) + + c, err = setupConfig() + defer cleanupConfig() + + if err != nil { + t.Errorf("Setup error: '%v'. Expected none\n", err) + return + } + defer c.Free() + + for _, test := range tests { + test(c, t) + } +} |
