@@ -226,59 +226,71 @@ public function testLoad()
226
226
227
227
public function testLoadEnv ()
228
228
{
229
- unset($ _ENV ['FOO ' ]);
230
- unset($ _ENV ['BAR ' ]);
231
- unset($ _SERVER ['FOO ' ]);
232
- unset($ _SERVER ['BAR ' ]);
233
- putenv ('FOO ' );
234
- putenv ('BAR ' );
229
+ $ resetContext = static function (): void {
230
+ unset($ _ENV ['SYMFONY_DOTENV_VARS ' ]);
231
+ unset($ _ENV ['FOO ' ]);
232
+ unset($ _ENV ['BAR ' ]);
233
+ unset($ _ENV ['TEST_APP_ENV ' ]);
234
+ unset($ _SERVER ['SYMFONY_DOTENV_VARS ' ]);
235
+ unset($ _SERVER ['FOO ' ]);
236
+ unset($ _SERVER ['BAR ' ]);
237
+ unset($ _SERVER ['TEST_APP_ENV ' ]);
238
+ putenv ('SYMFONY_DOTENV_VARS ' );
239
+ putenv ('FOO ' );
240
+ putenv ('BAR ' );
241
+ putenv ('TEST_APP_ENV ' );
242
+ };
235
243
236
244
@mkdir ($ tmpdir = sys_get_temp_dir ().'/dotenv ' );
237
245
238
246
$ path = tempnam ($ tmpdir , 'sf- ' );
239
247
240
248
// .env
241
249
250
+ $ resetContext ();
242
251
file_put_contents ($ path , 'FOO=BAR ' );
243
252
(new Dotenv (true ))->loadEnv ($ path , 'TEST_APP_ENV ' );
244
253
$ this ->assertSame ('BAR ' , getenv ('FOO ' ));
245
254
$ this ->assertSame ('dev ' , getenv ('TEST_APP_ENV ' ));
246
255
247
256
// .env.local
248
257
258
+ $ resetContext ();
249
259
$ _SERVER ['TEST_APP_ENV ' ] = 'local ' ;
250
260
file_put_contents ("$ path.local " , 'FOO=localBAR ' );
251
261
(new Dotenv (true ))->loadEnv ($ path , 'TEST_APP_ENV ' );
252
262
$ this ->assertSame ('localBAR ' , getenv ('FOO ' ));
253
263
254
264
// special case for test
255
265
266
+ $ resetContext ();
256
267
$ _SERVER ['TEST_APP_ENV ' ] = 'test ' ;
257
268
(new Dotenv (true ))->loadEnv ($ path , 'TEST_APP_ENV ' );
258
269
$ this ->assertSame ('BAR ' , getenv ('FOO ' ));
259
270
260
271
// .env.dev
261
272
262
- unset( $ _SERVER [ ' TEST_APP_ENV ' ] );
273
+ $ resetContext ( );
263
274
file_put_contents ("$ path.dev " , 'FOO=devBAR ' );
264
275
(new Dotenv (true ))->loadEnv ($ path , 'TEST_APP_ENV ' );
265
276
$ this ->assertSame ('devBAR ' , getenv ('FOO ' ));
266
277
267
278
// .env.dev.local
268
279
280
+ $ resetContext ();
269
281
file_put_contents ("$ path.dev.local " , 'FOO=devlocalBAR ' );
270
282
(new Dotenv (true ))->loadEnv ($ path , 'TEST_APP_ENV ' );
271
283
$ this ->assertSame ('devlocalBAR ' , getenv ('FOO ' ));
272
284
273
285
// .env.dist
274
286
287
+ $ resetContext ();
275
288
unlink ($ path );
276
289
file_put_contents ("$ path.dist " , 'BAR=distBAR ' );
277
290
(new Dotenv (true ))->loadEnv ($ path , 'TEST_APP_ENV ' );
278
291
$ this ->assertSame ('distBAR ' , getenv ('BAR ' ));
279
292
280
- putenv ('FOO ' );
281
- putenv ('BAR ' );
293
+ $ resetContext ();
282
294
unlink ("$ path.dist " );
283
295
unlink ("$ path.local " );
284
296
unlink ("$ path.dev " );
0 commit comments