1111/**
1212 * @env APP_ENV=test
1313 * @server APP_DEBUG=0
14+ * @putenv APP_HOST=localhost
1415 */
1516class AnnotationListenerTest extends TestCase
1617{
@@ -22,51 +23,62 @@ public function test_it_is_a_test_listener()
2223 /**
2324 * @env APP_ENV=test_foo
2425 * @server APP_DEBUG=1
26+ * @putenv APP_HOST=dev
2527 */
2628 public function test_it_reads_global_variables_from_method_annotations ()
2729 {
2830 $ this ->assertArraySubset (['APP_ENV ' => 'test_foo ' ], $ _ENV );
2931 $ this ->assertArraySubset (['APP_DEBUG ' => '1 ' ], $ _SERVER );
32+ $ this ->assertArraySubset (['APP_HOST ' => 'dev ' ], \getenv ());
3033 }
3134
3235 public function test_it_reads_global_variables_from_class_annotations ()
3336 {
3437 $ this ->assertArraySubset (['APP_ENV ' => 'test ' ], $ _ENV );
3538 $ this ->assertArraySubset (['APP_DEBUG ' => '0 ' ], $ _SERVER );
39+ $ this ->assertArraySubset (['APP_HOST ' => 'localhost ' ], \getenv ());
3640 }
3741
3842 /**
3943 * @env FOO=foo
4044 * @server BAR=bar
45+ * @putenv BAZ=baz
4146 */
4247 public function test_it_reads_additional_global_variables_from_methods ()
4348 {
4449 $ this ->assertArraySubset (['APP_ENV ' => 'test ' ], $ _ENV );
4550 $ this ->assertArraySubset (['APP_DEBUG ' => '0 ' ], $ _SERVER );
51+ $ this ->assertArraySubset (['APP_HOST ' => 'localhost ' ], \getenv ());
4652 $ this ->assertArraySubset (['FOO ' => 'foo ' ], $ _ENV );
4753 $ this ->assertArraySubset (['BAR ' => 'bar ' ], $ _SERVER );
54+ $ this ->assertArraySubset (['BAZ ' => 'baz ' ], \getenv ());
4855 }
4956
5057 /**
5158 * @env APP_ENV=test_foo
5259 * @env APP_ENV=test_foo_bar
5360 * @server APP_DEBUG=1
5461 * @server APP_DEBUG=2
62+ * @putenv APP_HOST=host1
63+ * @putenv APP_HOST=host2
5564 */
5665 public function test_it_reads_the_latest_var_defined ()
5766 {
5867 $ this ->assertArraySubset (['APP_ENV ' => 'test_foo_bar ' ], $ _ENV );
5968 $ this ->assertArraySubset (['APP_DEBUG ' => '2 ' ], $ _SERVER );
69+ $ this ->assertArraySubset (['APP_HOST ' => 'host2 ' ], \getenv ());
6070 }
6171
6272 /**
6373 * @env APP_ENV
6474 * @server APP_DEBUG
75+ * @putenv APP_HOST
6576 */
6677 public function test_it_reads_empty_vars ()
6778 {
6879 $ this ->assertArraySubset (['APP_ENV ' => '' ], $ _ENV );
6980 $ this ->assertArraySubset (['APP_DEBUG ' => '' ], $ _SERVER );
81+ $ this ->assertArraySubset (['APP_HOST ' => '' ], \getenv ());
7082 }
7183
7284 public function test_it_backups_the_state ()
@@ -75,9 +87,13 @@ public function test_it_backups_the_state()
7587
7688 $ _ENV ['FOO ' ] = 'env_foo ' ;
7789 $ _SERVER ['BAR ' ] = 'server_bar ' ;
90+ \putenv ('FOO=putenv_foo ' );
91+ \putenv ('USER=foobar ' );
7892
7993 $ this ->assertArrayHasKey ('FOO ' , $ _ENV );
8094 $ this ->assertArrayHasKey ('BAR ' , $ _SERVER );
95+ $ this ->assertSame ('putenv_foo ' , \getenv ('FOO ' ));
96+ $ this ->assertSame ('foobar ' , \getenv ('USER ' ));
8197 }
8298
8399 /**
@@ -87,6 +103,9 @@ public function test_it_cleans_up_after_itself()
87103 {
88104 $ this ->assertArrayNotHasKey ('FOO ' , $ _ENV );
89105 $ this ->assertArrayNotHasKey ('BAR ' , $ _SERVER );
106+ $ this ->assertFalse (\getenv ('FOO ' ), 'It removes environment variables initialised in a test. ' );
107+ $ this ->assertNotSame ('foobar ' , \getenv ('USER ' ), 'It restores environment variables changed in a test. ' );
108+ $ this ->assertNotFalse (\getenv ('USER ' ), 'It restores environment variables changed in a test. ' );
90109 }
91110
92111 public function test_it_ignores_non_standard_test_cases ()
0 commit comments