summaryrefslogtreecommitdiff
path: root/parse_test.go
diff options
context:
space:
mode:
authorAlex Flint <[email protected]>2021-04-20 19:11:21 -0700
committerGitHub <[email protected]>2021-04-20 19:11:21 -0700
commit679be43af38a865f8318ed9bc3fde7ae424a2dad (patch)
tree5a1dae1764072858946018577df22b1ad622db4a /parse_test.go
parent9d937ba6c92804fb0880d4f7ce1fd0cbfd239afe (diff)
parent2e81334206442a1853cdc5a3f626e8ee0b113494 (diff)
Merge pull request #153 from alexflint/test-empty-mapv1.4.1
Fix case where an empty environment variable is parsed in a slice or map
Diffstat (limited to 'parse_test.go')
-rw-r--r--parse_test.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/parse_test.go b/parse_test.go
index 09fb508..695b1d8 100644
--- a/parse_test.go
+++ b/parse_test.go
@@ -721,6 +721,15 @@ func TestEnvironmentVariableSliceArgumentString(t *testing.T) {
assert.Equal(t, []string{"bar", "baz, qux"}, args.Foo)
}
+func TestEnvironmentVariableSliceEmpty(t *testing.T) {
+ var args struct {
+ Foo []string `arg:"env"`
+ }
+ _, err := parseWithEnv("", []string{`FOO=`}, &args)
+ require.NoError(t, err)
+ assert.Len(t, args.Foo, 0)
+}
+
func TestEnvironmentVariableSliceArgumentInteger(t *testing.T) {
var args struct {
Foo []int `arg:"env"`
@@ -775,6 +784,15 @@ func TestEnvironmentVariableMap(t *testing.T) {
assert.Equal(t, "ninetynine", args.Foo[99])
}
+func TestEnvironmentVariableEmptyMap(t *testing.T) {
+ var args struct {
+ Foo map[int]string `arg:"env"`
+ }
+ _, err := parseWithEnv("", []string{`FOO=`}, &args)
+ require.NoError(t, err)
+ assert.Len(t, args.Foo, 0)
+}
+
func TestEnvironmentVariableIgnored(t *testing.T) {
var args struct {
Foo string `arg:"env"`