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