4 * Class CRM_Utils_GlobalStackTest
6 class CRM_Utils_GlobalStackTest
extends CiviUnitTestCase
{
9 * Temporarily override global variables and ensure that the variable data.
10 * is set as expected (before/during/after the override).
12 public function testPushPop() {
13 global $_FOO, $_EXTRA;
19 $this->assertEquals(1, $_FOO['bar']);
20 $this->assertEquals(1, $_FOO['whiz']);
21 $this->assertFalse(isset($_FOO['bang']));
22 $this->assertEquals(1, $_EXTRA);
24 CRM_Utils_GlobalStack
::singleton()->push(array(
32 $this->assertEquals(2, $_FOO['bar']);
33 $this->assertEquals(1, $_FOO['whiz']);
34 $this->assertEquals(2, $_FOO['bang']);
35 $this->assertEquals(2, $_EXTRA);
37 CRM_Utils_GlobalStack
::singleton()->pop();
39 $this->assertEquals(1, $_FOO['bar']);
40 $this->assertEquals(1, $_FOO['whiz']);
41 $this->assertEquals(NULL, $_FOO['bang']);
42 $this->assertEquals(1, $_EXTRA);