1
0
Fork 0
mirror of https://github.com/Luzifer/rconfig.git synced 2024-11-08 16:00:10 +00:00
rconfig/errors_test.go

42 lines
938 B
Go
Raw Normal View History

2015-09-08 20:07:40 +00:00
package rconfig
import (
"testing"
2015-09-08 20:07:40 +00:00
)
func TestErrors(t *testing.T) {
for test, parsable := range map[string]interface{}{
"use string as default to int": struct {
2015-09-08 20:07:40 +00:00
A int `default:"a"`
}{},
"use string as default to float": struct {
2015-09-08 20:07:40 +00:00
A float32 `default:"a"`
}{},
"use string as default to uint": struct {
2015-09-08 20:07:40 +00:00
A uint `default:"a"`
}{},
"use string as default to uint in sub-struct": struct {
2015-09-08 20:07:40 +00:00
B struct {
A uint `default:"a"`
}
}{},
"use string list as default to int slice": struct {
A []int `default:"a,b"`
}{},
} {
if err := parse(&parsable, nil); err == nil {
t.Errorf("Expected error but got none. Test: %s", test)
}
}
if err := parse(struct {
A string `default:"a"`
}{}, nil); err == nil {
t.Errorf("Expected error when feeding non-pointer struct to parse")
}
if err := parse("test", nil); err == nil {
t.Errorf("Expected error when feeding non-pointer string to parse")
}
}