Example #1
0
func TestComplexValue(t *testing.T) {
	vanish.Env(func() {
		fs := flag.NewFlagSet("f", flag.ContinueOnError)
		fs.Var(envflag.NewValue(), "x", "tutu")
		os.Unsetenv("A")

		assert.Nil(t, fs.Parse([]string{"-x", "A=42 B=17"}))

		assert.Equal(t, "42 B=17", os.Getenv("A"))
	})
}
Example #2
0
func TestMultipleValues(t *testing.T) {
	vanish.Env(func() {
		fs := flag.NewFlagSet("f", flag.ContinueOnError)
		fs.Var(envflag.NewValue(), "yo", "tutu")

		os.Unsetenv("A")
		os.Unsetenv("B")
		os.Unsetenv("C")

		err := fs.Parse([]string{
			"-yo", "A=42", "-yo", "B=yo", "-yo", "C=true", "-yo", "A=43",
		})

		assert.Nil(t, err)
		assert.Equal(t, "43", os.Getenv("A"))
		assert.Equal(t, "yo", os.Getenv("B"))
		assert.Equal(t, "true", os.Getenv("C"))
	})
}