3 require_once 'CiviTest/CiviUnitTestCase.php';
6 * Class CRM_Utils_GlobalStackTest
8 class CRM_Utils_GlobalStackTest
extends CiviUnitTestCase
{
11 * Temporarily override global variables and ensure that the variable data
12 * is set as expected (before/during/after the override).
14 public function testPushPop() {
15 global $_FOO, $_EXTRA;
21 $this->assertEquals(1, $_FOO['bar']);
22 $this->assertEquals(1, $_FOO['whiz']);
23 $this->assertFalse(isset($_FOO['bang']));
24 $this->assertEquals(1, $_EXTRA);
26 CRM_Utils_GlobalStack
::singleton()->push(array(
34 $this->assertEquals(2, $_FOO['bar']);
35 $this->assertEquals(1, $_FOO['whiz']);
36 $this->assertEquals(2, $_FOO['bang']);
37 $this->assertEquals(2, $_EXTRA);
39 CRM_Utils_GlobalStack
::singleton()->pop();
41 $this->assertEquals(1, $_FOO['bar']);
42 $this->assertEquals(1, $_FOO['whiz']);
43 $this->assertEquals(NULL, $_FOO['bang']);
44 $this->assertEquals(1, $_EXTRA);