bump test coverage to 87.2%
This commit is contained in:
60
conf_test.go
60
conf_test.go
@@ -3,6 +3,8 @@ package conf
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"reflect"
|
||||
"slices"
|
||||
"testing"
|
||||
@@ -75,6 +77,18 @@ func TestRead(t *testing.T) {
|
||||
},
|
||||
err: nil,
|
||||
},
|
||||
{
|
||||
name: "incorrect k/v separator",
|
||||
in: []byte("key ! value \n"),
|
||||
res: nil,
|
||||
err: ErrFormat,
|
||||
},
|
||||
{
|
||||
name: "duplicate key",
|
||||
in: []byte("key=value1\nkey=value2\n"),
|
||||
res: nil,
|
||||
err: ErrDuplicateKey,
|
||||
},
|
||||
}
|
||||
|
||||
for _, c := range tc {
|
||||
@@ -111,6 +125,52 @@ func TestOpen(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestMainMethods(t *testing.T) {
|
||||
key := "key"
|
||||
value := "value"
|
||||
b := []byte(fmt.Sprintf("%s = %s", key, value))
|
||||
r := bytes.NewReader(b)
|
||||
|
||||
c := new(Conf)
|
||||
if err := c.Read(r); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if c.Get(key).String() != value {
|
||||
t.Error("Get fails for existing key")
|
||||
}
|
||||
|
||||
if v, ok := c.Find("key"); !ok || v.String() != value {
|
||||
t.Error("Find fails for existing key")
|
||||
}
|
||||
|
||||
if c.GetDefault(key, "none").String() != value {
|
||||
t.Error("GetDafault fails on existing value")
|
||||
}
|
||||
|
||||
if c.GetDefault("unknown", value).String() != value {
|
||||
t.Error("GetDafault fails to supply default")
|
||||
}
|
||||
}
|
||||
|
||||
func TestReadReadFile(t *testing.T) {
|
||||
conf := new(Conf)
|
||||
if err := conf.ReadFile("./testdata/test.conf"); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
f, err := os.Open("./testdata/test.conf")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
conf = new(Conf)
|
||||
if err := conf.Read(f); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestKeys(t *testing.T) {
|
||||
c := Conf{
|
||||
values: []*kv{
|
||||
|
Reference in New Issue
Block a user