Commit | Line | Data |
---|---|---|
6d4b9264 TO |
1 | <?php |
2 | ||
aba1cd8b EM |
3 | /** |
4 | * Class CRM_Utils_GlobalStackTest | |
acb109b7 | 5 | * @group headless |
aba1cd8b | 6 | */ |
6d4b9264 TO |
7 | class CRM_Utils_GlobalStackTest extends CiviUnitTestCase { |
8 | ||
ccd1cf98 | 9 | /** |
eceb18cc | 10 | * Temporarily override global variables and ensure that the variable data. |
ccd1cf98 TO |
11 | * is set as expected (before/during/after the override). |
12 | */ | |
6d4b9264 | 13 | public function testPushPop() { |
ccd1cf98 | 14 | global $_FOO, $_EXTRA; |
6d4b9264 | 15 | |
ccd1cf98 TO |
16 | $_FOO['bar'] = 1; |
17 | $_FOO['whiz'] = 1; | |
18 | $_EXTRA = 1; | |
6d4b9264 | 19 | |
ccd1cf98 TO |
20 | $this->assertEquals(1, $_FOO['bar']); |
21 | $this->assertEquals(1, $_FOO['whiz']); | |
22 | $this->assertFalse(isset($_FOO['bang'])); | |
23 | $this->assertEquals(1, $_EXTRA); | |
6d4b9264 | 24 | |
9099cab3 CW |
25 | CRM_Utils_GlobalStack::singleton()->push([ |
26 | '_FOO' => [ | |
6d4b9264 TO |
27 | 'bar' => 2, |
28 | 'bang' => 2, | |
9099cab3 | 29 | ], |
ccd1cf98 | 30 | '_EXTRA' => 2, |
9099cab3 | 31 | ]); |
6d4b9264 | 32 | |
ccd1cf98 TO |
33 | $this->assertEquals(2, $_FOO['bar']); |
34 | $this->assertEquals(1, $_FOO['whiz']); | |
35 | $this->assertEquals(2, $_FOO['bang']); | |
36 | $this->assertEquals(2, $_EXTRA); | |
6d4b9264 TO |
37 | |
38 | CRM_Utils_GlobalStack::singleton()->pop(); | |
39 | ||
ccd1cf98 TO |
40 | $this->assertEquals(1, $_FOO['bar']); |
41 | $this->assertEquals(1, $_FOO['whiz']); | |
42 | $this->assertEquals(NULL, $_FOO['bang']); | |
43 | $this->assertEquals(1, $_EXTRA); | |
6d4b9264 | 44 | } |
96025800 | 45 | |
6d4b9264 | 46 | } |