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")) }) }
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")) }) }