1
0
Fork 0
mirror of https://github.com/Luzifer/rconfig.git synced 2024-11-09 00:10:07 +00:00
rconfig/bool_test.go

38 lines
798 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 TestBoolParsing(t *testing.T) {
2015-09-08 20:07:40 +00:00
var (
args = []string{
"--test2",
"-t",
}
cfg struct {
Test1 bool `default:"true"`
Test2 bool `default:"false" flag:"test2"`
Test3 bool `default:"true" flag:"test3,t"`
Test4 bool `flag:"test4"`
TestEnvDefault bool `default:"true" env:"AN_ENV_VARIABLE_HOPEFULLY_NEVER_SET_DSFGDF"`
}
)
if err := parse(&cfg, args); err != nil {
t.Fatalf("Parsing options caused error: %s", err)
}
for _, test := range [][2]interface{}{
{cfg.Test1, true},
{cfg.Test2, true},
{cfg.Test3, true},
{cfg.Test4, false},
{cfg.TestEnvDefault, true},
} {
if test[0] != test[1] {
t.Errorf("Expected value does not match: %#v != %#v", test[0], test[1])
}
}
}