summaryrefslogtreecommitdiff
path: root/config_test.go
diff options
context:
space:
mode:
authorCalin Seciu <[email protected]>2016-02-20 14:52:57 +0200
committerCalin Seciu <[email protected]>2016-02-20 14:52:57 +0200
commitc6f394e407a8f119eea191e1321f61828921f164 (patch)
tree6b4ab4bbd263388f0384b029b2a770189782b9d0 /config_test.go
parentdc4409793db0205ce7c0783a10363d7d67aee674 (diff)
parent251d89e1d41037185df0ea89e9aab208efc40d4e (diff)
Merge branch 'next' into stash-support
Diffstat (limited to 'config_test.go')
-rw-r--r--config_test.go108
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)
+ }
+}