4 * Class CRM_Utils_AutoCleanTest
6 class CRM_Utils_AutoCleanTest
extends CiviUnitTestCase
{
10 protected function setUp() {
11 $this->useTransaction();
15 public function testAutoclean() {
17 $this->assertEquals('orig', $this->foo
);
18 $this->nestedWithArrayCb();
19 $this->assertEquals('orig', $this->foo
);
20 $this->nestedWithFuncCb();
21 $this->assertEquals('orig', $this->foo
);
23 $this->assertEquals('orig', $this->foo
);
26 public function nestedWithArrayCb() {
27 $this->foo
= 'arraycb';
28 $ac = CRM_Utils_AutoClean
::with(array($this, 'setFoo'), 'orig');
29 $this->assertEquals('arraycb', $this->foo
);
32 public function nestedWithFuncCb() {
33 $this->foo
= 'funccb';
35 $self = $this; /* php 5.3 */
36 $ac = CRM_Utils_AutoClean
::with(function () use ($self /* php 5.3 */) {
40 $this->assertEquals('funccb', $this->foo
);
43 public function nestedSwap() {
44 $ac = CRM_Utils_AutoClean
::swap(array($this, 'getFoo'), array($this, 'setFoo'), 'tmp');
45 $this->assertEquals('tmp', $this->foo
);
48 public function getFoo() {
52 public function setFoo($value) {