diff options
| author | Alex Flint <[email protected]> | 2020-03-01 16:47:25 -0600 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-03-01 16:47:25 -0600 |
| commit | 6f3675fdf12421b56abafbc514ba723e6e4d696d (patch) | |
| tree | 26f39c0737964ac3e480627a2b04d9550de37c4a /parse_test.go | |
| parent | ce4cd0ce03f9d0ca40a3090a63997bfaf6757aaa (diff) | |
| parent | 17bbf2e7ef446f0ca0c06259676987ec6e79462a (diff) | |
Merge pull request #109 from alexflint/ignore-env
Option to ignore environment variables
Diffstat (limited to 'parse_test.go')
| -rw-r--r-- | parse_test.go | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/parse_test.go b/parse_test.go index 5cae598..ad668a9 100644 --- a/parse_test.go +++ b/parse_test.go @@ -676,6 +676,36 @@ func TestEnvironmentVariableSliceArgumentWrongType(t *testing.T) { assert.Error(t, err) } +func TestEnvironmentVariableIgnored(t *testing.T) { + var args struct { + Foo string `arg:"env"` + } + setenv(t, "FOO", "abc") + + p, err := NewParser(Config{IgnoreEnv: true}, &args) + require.NoError(t, err) + + err = p.Parse(nil) + assert.NoError(t, err) + assert.Equal(t, "", args.Foo) +} + +func TestEnvironmentVariableInSubcommandIgnored(t *testing.T) { + var args struct { + Sub *struct { + Foo string `arg:"env"` + } `arg:"subcommand"` + } + setenv(t, "FOO", "abc") + + p, err := NewParser(Config{IgnoreEnv: true}, &args) + require.NoError(t, err) + + err = p.Parse([]string{"sub"}) + assert.NoError(t, err) + assert.Equal(t, "", args.Sub.Foo) +} + type textUnmarshaler struct { val int } |
