@@ -12,13 +12,13 @@ import (
12
12
13
13
func TestEnvVarValueSource (t * testing.T ) {
14
14
t .Run ("implements ValueSource" , func (t * testing.T ) {
15
- src := & envVarValueSource { Key : "foo" }
15
+ src := EnvVar ( "foo" )
16
16
require .Implements (t , (* ValueSource )(nil ), src )
17
17
18
18
t .Run ("not found" , func (t * testing.T ) {
19
19
t .Setenv ("foo" , "bar" )
20
20
21
- src := & envVarValueSource { Key : "foo_1" }
21
+ src := EnvVar ( "foo_1" )
22
22
_ , ok := src .Lookup ()
23
23
require .False (t , ok )
24
24
})
@@ -27,7 +27,7 @@ func TestEnvVarValueSource(t *testing.T) {
27
27
t .Setenv ("foo" , "bar" )
28
28
29
29
r := require .New (t )
30
- src := & envVarValueSource { Key : "foo" }
30
+ src := EnvVar ( "foo" )
31
31
32
32
str , ok := src .Lookup ()
33
33
r .True (ok )
@@ -37,15 +37,15 @@ func TestEnvVarValueSource(t *testing.T) {
37
37
})
38
38
39
39
t .Run ("implements fmt.Stringer" , func (t * testing.T ) {
40
- src := & envVarValueSource { Key : "foo" }
40
+ src := EnvVar ( "foo" )
41
41
r := require .New (t )
42
42
43
43
r .Implements ((* fmt .Stringer )(nil ), src )
44
44
r .Equal ("environment variable \" foo\" " , src .String ())
45
45
})
46
46
47
47
t .Run ("implements fmt.GoStringer" , func (t * testing.T ) {
48
- src := & envVarValueSource { Key : "foo" }
48
+ src := EnvVar ( "foo" )
49
49
r := require .New (t )
50
50
51
51
r .Implements ((* fmt .GoStringer )(nil ), src )
@@ -122,6 +122,16 @@ func TestFilePaths(t *testing.T) {
122
122
r .Contains (src .String (), fmt .Sprintf ("%[1]q" , fileName ))
123
123
}
124
124
125
+ func TestValueSourceChainEnvKeys (t * testing.T ) {
126
+ chain := NewValueSourceChain (
127
+ & staticValueSource {"hello" },
128
+ )
129
+ chain .Append (EnvVars ("foo" , "bar" ))
130
+
131
+ r := require .New (t )
132
+ r .Equal ([]string {"foo" , "bar" }, chain .EnvKeys ())
133
+ }
134
+
125
135
func TestValueSourceChain (t * testing.T ) {
126
136
t .Run ("implements ValueSource" , func (t * testing.T ) {
127
137
vsc := & ValueSourceChain {}
@@ -140,11 +150,10 @@ func TestValueSourceChain(t *testing.T) {
140
150
r .Implements ((* fmt .GoStringer )(nil ), vsc )
141
151
r .Equal ("&ValueSourceChain{Chain:{}}" , vsc .GoString ())
142
152
143
- vsc .Chain = []ValueSource {
144
- & staticValueSource {v : "yahtzee" },
153
+ vsc1 := NewValueSourceChain (& staticValueSource {v : "yahtzee" },
145
154
& staticValueSource {v : "matzoh" },
146
- }
147
- r .Equal ("&ValueSourceChain{Chain:{&staticValueSource{v:\" yahtzee\" },&staticValueSource{v:\" matzoh\" }}}" , vsc .GoString ())
155
+ )
156
+ r .Equal ("&ValueSourceChain{Chain:{&staticValueSource{v:\" yahtzee\" },&staticValueSource{v:\" matzoh\" }}}" , vsc1 .GoString ())
148
157
})
149
158
150
159
t .Run ("implements fmt.Stringer" , func (t * testing.T ) {
@@ -154,12 +163,12 @@ func TestValueSourceChain(t *testing.T) {
154
163
r .Implements ((* fmt .Stringer )(nil ), vsc )
155
164
r .Equal ("" , vsc .String ())
156
165
157
- vsc . Chain = [] ValueSource {
166
+ vsc1 := NewValueSourceChain (
158
167
& staticValueSource {v : "soup" },
159
168
& staticValueSource {v : "salad" },
160
169
& staticValueSource {v : "pumpkins" },
161
- }
162
- r .Equal ("soup,salad,pumpkins" , vsc .String ())
170
+ )
171
+ r .Equal ("soup,salad,pumpkins" , vsc1 .String ())
163
172
})
164
173
}
165
174
0 commit comments