on main help sign in
chore: return empty slices instead of nil for safety
2f845ccChristian Rocha
internal/env/env.go+1−8
@@ -17,11 +17,7 @@ func (o *osEnv) Get(key string) string {
17}
17}
18
18
19func (o *osEnv) Env() []string {
19func (o *osEnv) Env() []string {
20− env := os.Environ()
20+ return os.Environ()
21− if len(env) == 0 {
22− return nil
23− }
24− return env
25}
21}
26
22
27func New() Env {
23func New() Env {
@@ -42,9 +38,6 @@ func (m *mapEnv) Get(key string) string {
42
38
43// Env implements Env.
39// Env implements Env.
44func (m *mapEnv) Env() []string {
40func (m *mapEnv) Env() []string {
45− if len(m.m) == 0 {
46− return nil
47− }
48 env := make([]string, 0, len(m.m))
41 env := make([]string, 0, len(m.m))
49 for k, v := range m.m {
42 for k, v := range m.m {
50 env = append(env, k+"="+v)
43 env = append(env, k+"="+v)
internal/env/env_test.go+4−2
@@ -90,13 +90,15 @@ func TestMapEnv_Env(t *testing.T) {
90 t.Run("empty map", func(t *testing.T) {
90 t.Run("empty map", func(t *testing.T) {
91 env := NewFromMap(map[string]string{})
91 env := NewFromMap(map[string]string{})
92 envVars := env.Env()
92 envVars := env.Env()
93+ require.NotNil(t, envVars)
93− require.Nil(t, envVars)
94+ require.Len(t, envVars, 0)
94 })
95 })
95
96
96 t.Run("nil map", func(t *testing.T) {
97 t.Run("nil map", func(t *testing.T) {
97 env := NewFromMap(nil)
98 env := NewFromMap(nil)
98 envVars := env.Env()
99 envVars := env.Env()
100+ require.NotNil(t, envVars)
99− require.Nil(t, envVars)
101+ require.Len(t, envVars, 0)
100 })
102 })
101}
103}
102
104