diff --git a/cake/tests/cases/libs/model/behaviors/tree.test.php b/cake/tests/cases/libs/model/behaviors/tree.test.php index b35cd0757b9..ed3f90b70c0 100644 --- a/cake/tests/cases/libs/model/behaviors/tree.test.php +++ b/cake/tests/cases/libs/model/behaviors/tree.test.php @@ -29,14 +29,22 @@ * @subpackage cake.tests.cases.libs.model.behaviors */ class NumberTreeTest extends CakeTestCase { + +/** + * Whether backup global state for each test method or not + * + * @var bool false + * @access public + */ + public $backupGlobals = false; /** * settings property * * @var array - * @access public + * @access protected */ - public $settings = array( + protected $settings = array( 'modelClass' => 'NumberTree', 'leftField' => 'lft', 'rightField' => 'rght', @@ -59,7 +67,7 @@ class NumberTreeTest extends CakeTestCase { */ function testInitialize() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $result = $this->Tree->find('count'); @@ -77,7 +85,7 @@ function testInitialize() { */ function testDetectInvalidLeft() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $result = $this->Tree->findByName('1.1'); @@ -104,7 +112,7 @@ function testDetectInvalidLeft() { */ function testDetectInvalidRight() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $result = $this->Tree->findByName('1.1'); @@ -131,7 +139,7 @@ function testDetectInvalidRight() { */ function testDetectInvalidParent() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $result = $this->Tree->findByName('1.1'); @@ -157,7 +165,7 @@ function testDetectInvalidParent() { */ function testDetectNoneExistantParent() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $result = $this->Tree->findByName('1.1'); @@ -181,7 +189,7 @@ function testDetectNoneExistantParent() { */ function testRecoverFromMissingParent() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $result = $this->Tree->findByName('1.1'); @@ -205,7 +213,7 @@ function testRecoverFromMissingParent() { */ function testDetectInvalidParents() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->updateAll(array($parentField => null)); @@ -228,7 +236,7 @@ function testDetectInvalidParents() { */ function testDetectInvalidLftsRghts() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->updateAll(array($leftField => 0, $rightField => 0)); @@ -250,7 +258,7 @@ function testDetectInvalidLftsRghts() { */ function testDetectEqualLftsRghts() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(1, 3); $result = $this->Tree->findByName('1.1'); @@ -278,7 +286,7 @@ function testDetectEqualLftsRghts() { */ function testAddOrphan() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->save(array($modelClass => array('name' => 'testAddOrphan', $parentField => null))); @@ -298,7 +306,7 @@ function testAddOrphan() { */ function testAddMiddle() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $data= $this->Tree->find(array($modelClass . '.name' => '1.1'), array('id')); @@ -332,7 +340,7 @@ function testAddMiddle() { */ function testAddInvalid() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->id = null; @@ -357,7 +365,7 @@ function testAddInvalid() { */ function testAddNotIndexedByModel() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->save(array('name' => 'testAddNotIndexed', $parentField => null)); @@ -377,7 +385,7 @@ function testAddNotIndexedByModel() { */ function testMovePromote() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->id = null; @@ -404,7 +412,7 @@ function testMovePromote() { */ function testMoveWithWhitelist() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->id = null; @@ -432,7 +440,7 @@ function testMoveWithWhitelist() { */ function testInsertWithWhitelist() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->whitelist = array('name', $parentField); @@ -451,7 +459,7 @@ function testInsertWithWhitelist() { */ function testMoveBefore() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->id = null; @@ -480,7 +488,7 @@ function testMoveBefore() { */ function testMoveAfter() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->id = null; @@ -509,7 +517,7 @@ function testMoveAfter() { */ function testMoveDemoteInvalid() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->id = null; @@ -543,7 +551,7 @@ function testMoveDemoteInvalid() { */ function testMoveInvalid() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->id = null; @@ -570,7 +578,7 @@ function testMoveInvalid() { */ function testMoveSelfInvalid() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->id = null; @@ -597,7 +605,7 @@ function testMoveSelfInvalid() { */ function testMoveUpSuccess() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $data = $this->Tree->find(array($modelClass . '.name' => '1.2'), array('id')); @@ -619,7 +627,7 @@ function testMoveUpSuccess() { */ function testMoveUpFail() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $data = $this->Tree->find(array($modelClass . '.name' => '1.1')); @@ -642,7 +650,7 @@ function testMoveUpFail() { */ function testMoveUp2() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(1, 10); $data = $this->Tree->find(array($modelClass . '.name' => '1.5'), array('id')); @@ -673,7 +681,7 @@ function testMoveUp2() { */ function testMoveUpFirst() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(1, 10); $data = $this->Tree->find(array($modelClass . '.name' => '1.5'), array('id')); @@ -704,7 +712,7 @@ function testMoveUpFirst() { */ function testMoveDownSuccess() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $data = $this->Tree->find(array($modelClass . '.name' => '1.1'), array('id')); @@ -726,7 +734,7 @@ function testMoveDownSuccess() { */ function testMoveDownFail() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $data = $this->Tree->find(array($modelClass . '.name' => '1.2')); @@ -748,7 +756,7 @@ function testMoveDownFail() { */ function testMoveDownLast() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(1, 10); $data = $this->Tree->find(array($modelClass . '.name' => '1.5'), array('id')); @@ -779,7 +787,7 @@ function testMoveDownLast() { */ function testMoveDown2() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(1, 10); $data = $this->Tree->find(array($modelClass . '.name' => '1.5'), array('id')); @@ -810,7 +818,7 @@ function testMoveDown2() { */ function testSaveNoMove() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(1, 10); $data = $this->Tree->find(array($modelClass . '.name' => '1.5'), array('id')); @@ -841,7 +849,7 @@ function testSaveNoMove() { */ function testMoveToRootAndMoveUp() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(1, 1); $data = $this->Tree->find(array($modelClass . '.name' => '1.1'), array('id')); $this->Tree->id = $data[$modelClass]['id']; @@ -866,7 +874,7 @@ function testMoveToRootAndMoveUp() { */ function testDelete() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $initialCount = $this->Tree->find('count'); @@ -902,7 +910,7 @@ function testDelete() { */ function testRemove() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $initialCount = $this->Tree->find('count'); $result = $this->Tree->findByName('1.1'); @@ -935,7 +943,7 @@ function testRemove() { */ function testRemoveLastTopParent() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $initialCount = $this->Tree->find('count'); @@ -968,7 +976,7 @@ function testRemoveLastTopParent() { */ public function testRemoveNoChildren() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $initialCount = $this->Tree->find('count'); @@ -1003,7 +1011,7 @@ public function testRemoveNoChildren() { */ function testRemoveAndDelete() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $initialCount = $this->Tree->find('count'); @@ -1035,7 +1043,7 @@ function testRemoveAndDelete() { */ public function testRemoveAndDeleteNoChildren() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $initialCount = $this->Tree->find('count'); @@ -1068,7 +1076,7 @@ public function testRemoveAndDeleteNoChildren() { */ function testChildren() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $data = $this->Tree->find(array($modelClass . '.name' => '1. Root')); @@ -1097,7 +1105,7 @@ function testChildren() { */ function testCountChildren() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $data = $this->Tree->find(array($modelClass . '.name' => '1. Root')); @@ -1118,7 +1126,7 @@ function testCountChildren() { */ function testGetParentNode() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $data = $this->Tree->find(array($modelClass . '.name' => '1.2.2')); @@ -1137,7 +1145,7 @@ function testGetParentNode() { */ function testGetPath() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $data = $this->Tree->find(array($modelClass . '.name' => '1.2.2')); @@ -1158,7 +1166,7 @@ function testGetPath() { */ function testNoAmbiguousColumn() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->bindModel(array('belongsTo' => array('Dummy' => array('className' => $modelClass, 'foreignKey' => $parentField, 'conditions' => array('Dummy.id' => null)))), false); $this->Tree->initialize(2, 2); @@ -1191,7 +1199,7 @@ function testNoAmbiguousColumn() { */ function testReorderTree() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(3, 3); $nodes = $this->Tree->find('list', array('order' => $leftField)); @@ -1205,7 +1213,8 @@ function testReorderTree() { $this->Tree->moveDown($data[$modelClass]['id']); $unsortedNodes = $this->Tree->find('list', array('order' => $leftField)); - $this->assertNotIdentical($nodes, $unsortedNodes); + $this->assertEquals($nodes, $unsortedNodes); + $this->assertNotEquals(array_keys($nodes), array_keys($unsortedNodes)); $this->Tree->reorder(); $sortedNodes = $this->Tree->find('list', array('order' => $leftField)); @@ -1222,7 +1231,7 @@ function testReorderTree() { */ function testReorderBigTreeWithQueryCaching() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 10); $original = $this->Tree->cacheQueries; @@ -1239,7 +1248,7 @@ function testReorderBigTreeWithQueryCaching() { */ function testGenerateTreeListWithSelfJoin() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->bindModel(array('belongsTo' => array('Dummy' => array('className' => $modelClass, 'foreignKey' => $parentField, 'conditions' => array('Dummy.id' => null)))), false); $this->Tree->initialize(2, 2); @@ -1257,7 +1266,7 @@ function testGenerateTreeListWithSelfJoin() { */ function testArraySyntax() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(3, 3); $this->assertIdentical($this->Tree->childCount(2), $this->Tree->childCount(array('id' => 2))); $this->assertIdentical($this->Tree->getParentNode(2), $this->Tree->getParentNode(array('id' => 2))); @@ -1271,7 +1280,15 @@ function testArraySyntax() { * @package cake * @subpackage cake.tests.cases.libs.model.behaviors */ -class ScopedTreeTest extends NumberTreeTest { +class ScopedTreeTest extends CakeTestCase { + +/** + * Whether backup global state for each test method or not + * + * @var bool false + * @access public + */ + public $backupGlobals = false; /** * settings property @@ -1301,7 +1318,7 @@ class ScopedTreeTest extends NumberTreeTest { * @return void */ function testStringScope() { - $this->Tree =& new FlagTree(); + $this->Tree = new FlagTree(); $this->Tree->initialize(2, 3); $this->Tree->id = 1; @@ -1338,7 +1355,7 @@ function testStringScope() { * @return void */ function testArrayScope() { - $this->Tree =& new FlagTree(); + $this->Tree = new FlagTree(); $this->Tree->initialize(2, 3); $this->Tree->id = 1; @@ -1375,7 +1392,7 @@ function testArrayScope() { * @return void */ function testMoveUpWithScope() { - $this->Ad =& new Ad(); + $this->Ad = new Ad(); $this->Ad->Behaviors->attach('Tree', array('scope'=>'Campaign')); $this->Ad->moveUp(6); @@ -1392,7 +1409,7 @@ function testMoveUpWithScope() { * @return void */ function testMoveDownWithScope() { - $this->Ad =& new Ad(); + $this->Ad = new Ad(); $this->Ad->Behaviors->attach('Tree', array('scope' => 'Campaign')); $this->Ad->moveDown(6); @@ -1410,7 +1427,7 @@ function testMoveDownWithScope() { * @return void */ function testTranslatingTree() { - $this->Tree =& new FlagTree(); + $this->Tree = new FlagTree(); $this->Tree->cacheQueries = false; $this->Tree->translateModel = 'TranslateTreeTestModel'; $this->Tree->Behaviors->attach('Translate', array('name')); @@ -1509,10 +1526,10 @@ function testTranslatingTree() { */ public function testAliasesWithScopeInTwoTreeAssociations() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); - $this->TreeTwo =& new NumberTreeTwo(); + $this->TreeTwo = new NumberTreeTwo(); $record = $this->Tree->find('first'); @@ -1543,7 +1560,8 @@ public function testAliasesWithScopeInTwoTreeAssociations() { ) ); $this->TreeTwo->create(); - $this->assertTrue($this->TreeTwo->save($data)); + $result = $this->TreeTwo->save($data); + $this->assertFalse(empty($result)); $result = $this->TreeTwo->find('first'); $expected = array('NumberTreeTwo' => array( @@ -1564,7 +1582,15 @@ public function testAliasesWithScopeInTwoTreeAssociations() { * @package cake * @subpackage cake.tests.cases.libs.model.behaviors */ -class AfterTreeTest extends NumberTreeTest { +class AfterTreeTest extends CakeTestCase { + +/** + * Whether backup global state for each test method or not + * + * @var bool false + * @access public + */ + public $backupGlobals = false; /** * settings property @@ -1594,7 +1620,7 @@ class AfterTreeTest extends NumberTreeTest { * @return void */ function testAftersaveCallback() { - $this->Tree =& new AfterTree(); + $this->Tree = new AfterTree(); $expected = array('AfterTree' => array('name' => 'Six and One Half Changed in AfterTree::afterSave() but not in database', 'parent_id' => 6, 'lft' => 11, 'rght' => 12)); $result = $this->Tree->save(array('AfterTree' => array('name' => 'Six and One Half', 'parent_id' => 6))); @@ -1607,42 +1633,20 @@ function testAftersaveCallback() { } /** - * UnconventionalTreeTest class + * UuidTreeTest class * * @package cake * @subpackage cake.tests.cases.libs.model.behaviors */ -class UnconventionalTreeTest extends NumberTreeTest { - -/** - * settings property - * - * @var array - * @access public - */ - public $settings = array( - 'modelClass' => 'UnconventionalTree', - 'leftField' => 'left', - 'rightField' => 'right', - 'parentField' => 'join' - ); +class UuidTreeTest extends CakeTestCase { /** - * fixtures property + * Whether backup global state for each test method or not * - * @var array + * @var bool false * @access public */ - public $fixtures = array('core.unconventional_tree'); -} - -/** - * UuidTreeTest class - * - * @package cake - * @subpackage cake.tests.cases.libs.model.behaviors - */ -class UuidTreeTest extends NumberTreeTest { + public $backupGlobals = false; /** * settings property @@ -1672,7 +1676,7 @@ class UuidTreeTest extends NumberTreeTest { */ public function testMovePromote() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->id = null; @@ -1698,7 +1702,7 @@ public function testMovePromote() { */ public function testMoveWithWhitelist() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->id = null; @@ -1725,7 +1729,7 @@ public function testMoveWithWhitelist() { */ public function testRemoveNoChildren() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $initialCount = $this->Tree->find('count'); @@ -1759,7 +1763,7 @@ public function testRemoveNoChildren() { */ public function testRemoveAndDeleteNoChildren() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $initialCount = $this->Tree->find('count'); @@ -1791,7 +1795,7 @@ public function testRemoveAndDeleteNoChildren() { */ public function testChildren() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $data = $this->Tree->find(array($modelClass . '.name' => '1. Root')); @@ -1819,7 +1823,7 @@ public function testChildren() { */ public function testNoAmbiguousColumn() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->initialize(2, 2); $this->Tree->bindModel(array('belongsTo' => array('Dummy' => @@ -1852,7 +1856,7 @@ public function testNoAmbiguousColumn() { */ public function testGenerateTreeListWithSelfJoin() { extract($this->settings); - $this->Tree =& new $modelClass(); + $this->Tree = new $modelClass(); $this->Tree->bindModel(array('belongsTo' => array('Dummy' => array('className' => $modelClass, 'foreignKey' => $parentField, 'conditions' => array('Dummy.id' => null)))), false); $this->Tree->initialize(2, 2);