2015-09-08 20:07:40 +00:00
|
|
|
package rconfig
|
|
|
|
|
|
|
|
import (
|
2021-09-06 16:43:24 +00:00
|
|
|
"testing"
|
2015-09-08 20:07:40 +00:00
|
|
|
)
|
|
|
|
|
2021-09-06 16:43:24 +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"`
|
2021-09-06 16:43:24 +00:00
|
|
|
}{},
|
|
|
|
"use string as default to float": struct {
|
2015-09-08 20:07:40 +00:00
|
|
|
A float32 `default:"a"`
|
2021-09-06 16:43:24 +00:00
|
|
|
}{},
|
|
|
|
"use string as default to uint": struct {
|
2015-09-08 20:07:40 +00:00
|
|
|
A uint `default:"a"`
|
2021-09-06 16:43:24 +00:00
|
|
|
}{},
|
|
|
|
"use string as default to uint in sub-struct": struct {
|
2015-09-08 20:07:40 +00:00
|
|
|
B struct {
|
|
|
|
A uint `default:"a"`
|
|
|
|
}
|
2021-09-06 16:43:24 +00:00
|
|
|
}{},
|
|
|
|
"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")
|
|
|
|
}
|
|
|
|
}
|