diff options
Diffstat (limited to 'Godeps/_workspace/src/github.com/rakyll/globalconf/globalconf_test.go')
-rw-r--r-- | Godeps/_workspace/src/github.com/rakyll/globalconf/globalconf_test.go | 267 |
1 files changed, 0 insertions, 267 deletions
diff --git a/Godeps/_workspace/src/github.com/rakyll/globalconf/globalconf_test.go b/Godeps/_workspace/src/github.com/rakyll/globalconf/globalconf_test.go deleted file mode 100644 index f36f74cea..000000000 --- a/Godeps/_workspace/src/github.com/rakyll/globalconf/globalconf_test.go +++ /dev/null @@ -1,267 +0,0 @@ -package globalconf - -import ( - "flag" - "io/ioutil" - "os" - "testing" -) - -const envTestPrefix = "CONFTEST_" - -func TestNewWithOptionsNoFilename(t *testing.T) { - opts := Options{EnvPrefix: envTestPrefix} - - os.Setenv(envTestPrefix+"D", "EnvD") - - flagD := flag.String("d", "default", "") - flagE := flag.Bool("e", true, "") - - conf, err := NewWithOptions(&opts) - if err != nil { - t.Fatal(err) - } - conf.ParseAll() - - if *flagD != "EnvD" { - t.Errorf("flagD found %v, expected 'EnvD'", *flagD) - } - if !*flagE { - t.Errorf("flagE found %v, expected true", *flagE) - } -} - -func TestParse_Global(t *testing.T) { - resetForTesting("") - - os.Setenv(envTestPrefix+"D", "EnvD") - os.Setenv(envTestPrefix+"E", "true") - os.Setenv(envTestPrefix+"F", "5.5") - - flagA := flag.Bool("a", false, "") - flagB := flag.Float64("b", 0.0, "") - flagC := flag.String("c", "", "") - - flagD := flag.String("d", "", "") - flagE := flag.Bool("e", false, "") - flagF := flag.Float64("f", 0.0, "") - - parse(t, "./testdata/global.ini", envTestPrefix) - if !*flagA { - t.Errorf("flagA found %v, expected true", *flagA) - } - if *flagB != 5.6 { - t.Errorf("flagB found %v, expected 5.6", *flagB) - } - if *flagC != "Hello world" { - t.Errorf("flagC found %v, expected 'Hello world'", *flagC) - } - if *flagD != "EnvD" { - t.Errorf("flagD found %v, expected 'EnvD'", *flagD) - } - if !*flagE { - t.Errorf("flagE found %v, expected true", *flagE) - } - if *flagF != 5.5 { - t.Errorf("flagF found %v, expected 5.5", *flagF) - } -} - -func TestParse_DashConversion(t *testing.T) { - resetForTesting("") - - flagFooBar := flag.String("foo-bar", "", "") - os.Setenv("PREFIX_FOO_BAR", "baz") - - opts := Options{EnvPrefix: "PREFIX_"} - conf, err := NewWithOptions(&opts) - if err != nil { - t.Fatal(err) - } - conf.ParseAll() - - if *flagFooBar != "baz" { - t.Errorf("flagFooBar found %v, expected 5.5", *flagFooBar) - } -} - -func TestParse_GlobalWithDottedFlagname(t *testing.T) { - resetForTesting("") - os.Setenv(envTestPrefix+"SOME_VALUE", "some-value") - flagSomeValue := flag.String("some.value", "", "") - - parse(t, "./testdata/global.ini", envTestPrefix) - if *flagSomeValue != "some-value" { - t.Errorf("flagSomeValue found %v, some-value expected", *flagSomeValue) - } -} - -func TestParse_GlobalOverwrite(t *testing.T) { - resetForTesting("-b=7.6") - flagB := flag.Float64("b", 0.0, "") - - parse(t, "./testdata/global.ini", "") - if *flagB != 7.6 { - t.Errorf("flagB found %v, expected 7.6", *flagB) - } -} - -func TestParse_Custom(t *testing.T) { - resetForTesting("") - - os.Setenv(envTestPrefix+"CUSTOM_E", "Hello Env") - - flagB := flag.Float64("b", 5.0, "") - - name := "custom" - custom := flag.NewFlagSet(name, flag.ExitOnError) - flagD := custom.String("d", "dd", "") - flagE := custom.String("e", "ee", "") - - Register(name, custom) - parse(t, "./testdata/custom.ini", envTestPrefix) - if *flagB != 5.0 { - t.Errorf("flagB found %v, expected 5.0", *flagB) - } - if *flagD != "Hello d" { - t.Errorf("flagD found %v, expected 'Hello d'", *flagD) - } - if *flagE != "Hello Env" { - t.Errorf("flagE found %v, expected 'Hello Env'", *flagE) - } -} - -func TestParse_CustomOverwrite(t *testing.T) { - resetForTesting("-b=6") - flagB := flag.Float64("b", 5.0, "") - - name := "custom" - custom := flag.NewFlagSet(name, flag.ExitOnError) - flagD := custom.String("d", "dd", "") - - Register(name, custom) - parse(t, "./testdata/custom.ini", "") - if *flagB != 6.0 { - t.Errorf("flagB found %v, expected 6.0", *flagB) - } - if *flagD != "Hello d" { - t.Errorf("flagD found %v, expected 'Hello d'", *flagD) - } -} - -func TestParse_GlobalAndCustom(t *testing.T) { - resetForTesting("") - flagA := flag.Bool("a", false, "") - flagB := flag.Float64("b", 0.0, "") - flagC := flag.String("c", "", "") - - name := "custom" - custom := flag.NewFlagSet(name, flag.ExitOnError) - flagD := custom.String("d", "", "") - - Register(name, custom) - parse(t, "./testdata/globalandcustom.ini", "") - if !*flagA { - t.Errorf("flagA found %v, expected true", *flagA) - } - if *flagB != 5.6 { - t.Errorf("flagB found %v, expected 5.6", *flagB) - } - if *flagC != "Hello world" { - t.Errorf("flagC found %v, expected 'Hello world'", *flagC) - } - if *flagD != "Hello d" { - t.Errorf("flagD found %v, expected 'Hello d'", *flagD) - } -} - -func TestParse_GlobalAndCustomOverwrite(t *testing.T) { - resetForTesting("-a=true", "-b=5", "-c=Hello") - flagA := flag.Bool("a", false, "") - flagB := flag.Float64("b", 0.0, "") - flagC := flag.String("c", "", "") - - name := "custom" - custom := flag.NewFlagSet(name, flag.ExitOnError) - flagD := custom.String("d", "", "") - - Register(name, custom) - parse(t, "./testdata/globalandcustom.ini", "") - if !*flagA { - t.Errorf("flagA found %v, expected true", *flagA) - } - if *flagB != 5.0 { - t.Errorf("flagB found %v, expected 5.0", *flagB) - } - if *flagC != "Hello" { - t.Errorf("flagC found %v, expected 'Hello'", *flagC) - } - if *flagD != "Hello d" { - t.Errorf("flagD found %v, expected 'Hello d'", *flagD) - } -} - -func TestSet(t *testing.T) { - resetForTesting() - file, _ := ioutil.TempFile("", "") - conf := parse(t, file.Name(), "") - conf.Set("", &flag.Flag{Name: "a", Value: newFlagValue("test")}) - - flagA := flag.String("a", "", "") - parse(t, file.Name(), "") - if *flagA != "test" { - t.Errorf("flagA found %v, expected 'test'", *flagA) - } -} - -func TestDelete(t *testing.T) { - resetForTesting() - file, _ := ioutil.TempFile("", "") - conf := parse(t, file.Name(), "") - conf.Set("", &flag.Flag{Name: "a", Value: newFlagValue("test")}) - conf.Delete("", "a") - - flagA := flag.String("a", "", "") - parse(t, file.Name(), "") - if *flagA != "" { - t.Errorf("flagNewA found %v, expected ''", *flagA) - } -} - -func parse(t *testing.T, filename, envPrefix string) *GlobalConf { - opts := Options{ - Filename: filename, - EnvPrefix: envPrefix, - } - conf, err := NewWithOptions(&opts) - if err != nil { - t.Error(err) - } - conf.ParseAll() - return conf -} - -// Resets os.Args and the default flag set. -func resetForTesting(args ...string) { - os.Clearenv() - - os.Args = append([]string{"cmd"}, args...) - flag.CommandLine = flag.NewFlagSet(os.Args[0], flag.ExitOnError) -} - -type flagValue struct { - str string -} - -func (f *flagValue) String() string { - return f.str -} - -func (f *flagValue) Set(value string) error { - f.str = value - return nil -} - -func newFlagValue(val string) *flagValue { - return &flagValue{str: val} -} |