8000 [Dotenv] Fix testLoadEnv() to start from a fresh context · symfony/symfony@4d08c07 · GitHub
[go: up one dir, main page]

Skip to content

Commit 4d08c07

Browse files
committed
[Dotenv] Fix testLoadEnv() to start from a fresh context
1 parent 20ad4e6 commit 4d08c07

File tree

1 file changed

+22
-9
lines changed

1 file changed

+22
-9
lines changed

src/Symfony/Component/Dotenv/Tests/DotenvTest.php

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -226,59 +226,72 @@ public function testLoad()
226226

227227
public function testLoadEnv()
228228
{
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+
235244

236245
@mkdir($tmpdir = sys_get_temp_dir().'/dotenv');
237246

238247
$path = tempnam($tmpdir, 'sf-');
239248

240249
// .env
241250

251+
$resetContext();
242252
file_put_contents($path, 'FOO=BAR');
243253
(new Dotenv(true))->loadEnv($path, 'TEST_APP_ENV');
244254
$this->assertSame('BAR', getenv('FOO'));
245255
$this->assertSame('dev', getenv('TEST_APP_ENV'));
246256

247257
// .env.local
248258

259+
$resetContext();
249260
$_SERVER['TEST_APP_ENV'] = 'local';
250261
file_put_contents("$path.local", 'FOO=localBAR');
251262
(new Dotenv(true))->loadEnv($path, 'TEST_APP_ENV');
252263
$this->assertSame('localBAR', getenv('FOO'));
253264

254265
// special case for test
255266

267+
$resetContext();
256268
$_SERVER['TEST_APP_ENV'] = 'test';
257269
(new Dotenv(true))->loadEnv($path, 'TEST_APP_ENV');
258270
$this->assertSame('BAR', getenv('FOO'));
259271

260272
// .env.dev
261273

262-
unset($_SERVER['TEST_APP_ENV']);
274+
$resetContext();
263275
file_put_contents("$path.dev", 'FOO=devBAR');
264276
(new Dotenv(true))->loadEnv($path, 'TEST_APP_ENV');
265277
$this->assertSame('devBAR', getenv('FOO'));
266278

267279
// .env.dev.local
268280

281+
$resetContext();
269282
file_put_contents("$path.dev.local", 'FOO=devlocalBAR');
270283
(new Dotenv(true))->loadEnv($path, 'TEST_APP_ENV');
271284
$this->assertSame('devlocalBAR', getenv('FOO'));
272285

273286
// .env.dist
274287

288+
$resetContext();
275289
unlink($path);
276290
file_put_contents("$path.dist", 'BAR=distBAR');
277291
(new Dotenv(true))->loadEnv($path, 'TEST_APP_ENV');
278292
$this->assertSame('distBAR', getenv('BAR'));
279293

280-
putenv('FOO');
281-
putenv('BAR');
294+
$resetContext();
282295
unlink("$path.dist");
283296
unlink("$path.local");
284297
unlink("$path.dev");

0 commit comments

Comments
 (0)
0