3 require_once 'CiviTest/CiviUnitTestCase.php';
6 * Class CRM_Utils_AutoCleanTest
8 class CRM_Utils_AutoCleanTest
extends CiviUnitTestCase
{
12 protected function setUp() {
13 $this->useTransaction();
17 public function testAutoclean() {
19 $this->assertEquals('orig', $this->foo
);
20 $this->nestedWithArrayCb();
21 $this->assertEquals('orig', $this->foo
);
22 $this->nestedWithFuncCb();
23 $this->assertEquals('orig', $this->foo
);
25 $this->assertEquals('orig', $this->foo
);
28 public function nestedWithArrayCb() {
29 $this->foo
= 'arraycb';
30 $ac = CRM_Utils_AutoClean
::with(array($this, 'setFoo'), 'orig');
31 $this->assertEquals('arraycb', $this->foo
);
34 public function nestedWithFuncCb() {
35 $this->foo
= 'funccb';
37 $self = $this; /* php 5.3 */
38 $ac = CRM_Utils_AutoClean
::with(function () use ($self /* php 5.3 */) {
42 $this->assertEquals('funccb', $this->foo
);
45 public function nestedSwap() {
46 $ac = CRM_Utils_AutoClean
::swap(array($this, 'getFoo'), array($this, 'setFoo'), 'tmp');
47 $this->assertEquals('tmp', $this->foo
);
50 public function getFoo() {
54 public function setFoo($value) {