mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-03-19 07:59:54 +00:00
Adding test case for ambiguous column detection in TreeBehavior::generateTreeList(), disproves #4053
git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@6547 3807eeeb-6ff5-0310-8944-8be069107fe0
This commit is contained in:
parent
5374807164
commit
204d5109b9
2 changed files with 65 additions and 50 deletions
|
@ -70,6 +70,7 @@ class NumberTree extends CakeTestModel {
|
||||||
}
|
}
|
||||||
|
|
||||||
class NumberTreeCase extends CakeTestCase {
|
class NumberTreeCase extends CakeTestCase {
|
||||||
|
|
||||||
var $fixtures = array('core.number_tree');
|
var $fixtures = array('core.number_tree');
|
||||||
var $debug = false;
|
var $debug = false;
|
||||||
|
|
||||||
|
@ -84,7 +85,7 @@ class NumberTreeCase extends CakeTestCase {
|
||||||
$this->NumberTree =& new NumberTree();
|
$this->NumberTree =& new NumberTree();
|
||||||
$this->NumberTree->__initialize(2, 2);
|
$this->NumberTree->__initialize(2, 2);
|
||||||
|
|
||||||
$result = $this->NumberTree->findCount();
|
$result = $this->NumberTree->find('count');
|
||||||
$this->assertEqual($result, 7);
|
$this->assertEqual($result, 7);
|
||||||
|
|
||||||
$validTree = $this->NumberTree->verify();
|
$validTree = $this->NumberTree->verify();
|
||||||
|
@ -821,12 +822,14 @@ class NumberTreeCase extends CakeTestCase {
|
||||||
$this->assertEqual($direct, $expects);
|
$this->assertEqual($direct, $expects);
|
||||||
|
|
||||||
$total = $this->NumberTree->children(null, null, array('id', 'name', 'parent_id', 'lft', 'rght'), null, null, null, 1);
|
$total = $this->NumberTree->children(null, null, array('id', 'name', 'parent_id', 'lft', 'rght'), null, null, null, 1);
|
||||||
$expects = array(array('NumberTree' => array('id' => 2, 'name' => '1.1', 'parent_id' => 1, 'lft' => 2, 'rght' => 7)),
|
$expects = array(
|
||||||
|
array('NumberTree' => array('id' => 2, 'name' => '1.1', 'parent_id' => 1, 'lft' => 2, 'rght' => 7)),
|
||||||
array('NumberTree' => array('id' => 3, 'name' => '1.1.1', 'parent_id' => 2, 'lft' => 3, 'rght' => 4)),
|
array('NumberTree' => array('id' => 3, 'name' => '1.1.1', 'parent_id' => 2, 'lft' => 3, 'rght' => 4)),
|
||||||
array('NumberTree' => array('id' => 4, 'name' => '1.1.2', 'parent_id' => 2, 'lft' => 5, 'rght' => 6)),
|
array('NumberTree' => array('id' => 4, 'name' => '1.1.2', 'parent_id' => 2, 'lft' => 5, 'rght' => 6)),
|
||||||
array('NumberTree' => array('id' => 5, 'name' => '1.2', 'parent_id' => 1, 'lft' => 8, 'rght' => 13)),
|
array('NumberTree' => array('id' => 5, 'name' => '1.2', 'parent_id' => 1, 'lft' => 8, 'rght' => 13)),
|
||||||
array('NumberTree' => array( 'id' => 6, 'name' => '1.2.1', 'parent_id' => 5, 'lft' => 9, 'rght' => 10)),
|
array('NumberTree' => array( 'id' => 6, 'name' => '1.2.1', 'parent_id' => 5, 'lft' => 9, 'rght' => 10)),
|
||||||
array('NumberTree' => array('id' => 7, 'name' => '1.2.2', 'parent_id' => 5, 'lft' => 11, 'rght' => 12)));
|
array('NumberTree' => array('id' => 7, 'name' => '1.2.2', 'parent_id' => 5, 'lft' => 11, 'rght' => 12))
|
||||||
|
);
|
||||||
$this->assertEqual($total, $expects);
|
$this->assertEqual($total, $expects);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -851,5 +854,17 @@ class NumberTreeCase extends CakeTestCase {
|
||||||
$sortedNodes = $this->NumberTree->find('list', array('order' => 'lft'));
|
$sortedNodes = $this->NumberTree->find('list', array('order' => 'lft'));
|
||||||
$this->assertIdentical($nodes, $sortedNodes);
|
$this->assertIdentical($nodes, $sortedNodes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function testGenerateTreeListWithSelfJoin() {
|
||||||
|
$this->NumberTree =& new NumberTree();
|
||||||
|
$this->NumberTree->bindModel(array('belongsTo' => array('Dummy' =>
|
||||||
|
array('className' => 'NumberTree', 'foreignKey' => 'parent_id', 'conditions' => array('Dummy.id' => null)))), false);
|
||||||
|
$this->NumberTree->__initialize(2, 2);
|
||||||
|
|
||||||
|
$result = $this->NumberTree->generateTreeList();
|
||||||
|
$expected = array(1 => '1. Root', 2 => '_1.1', 3 => '__1.1.1', 4 => '__1.1.2', 5 => '_1.2', 6 => '__1.2.1', 7 => '__1.2.2');
|
||||||
|
$this->assertIdentical($result, $expected);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
|
@ -2877,15 +2877,15 @@ class ModelTest extends CakeTestCase {
|
||||||
$this->loadFixtures('Apple');
|
$this->loadFixtures('Apple');
|
||||||
$afterFindModel = new NodeAfterFind();
|
$afterFindModel = new NodeAfterFind();
|
||||||
$afterFindModel->recursive = 3;
|
$afterFindModel->recursive = 3;
|
||||||
$afterFindData = $afterFindModel->findAll();
|
$afterFindData = $afterFindModel->find('all');
|
||||||
|
|
||||||
$duplicateModel = new NodeAfterFind();
|
$duplicateModel = new NodeAfterFind();
|
||||||
$duplicateModel->recursive = 3;
|
$duplicateModel->recursive = 3;
|
||||||
$duplicateModelData = $duplicateModel->findAll();
|
$duplicateModelData = $duplicateModel->find('all');
|
||||||
|
|
||||||
$noAfterFindModel = new NodeNoAfterFind();
|
$noAfterFindModel = new NodeNoAfterFind();
|
||||||
$noAfterFindModel->recursive = 3;
|
$noAfterFindModel->recursive = 3;
|
||||||
$noAfterFindData = $noAfterFindModel->findAll();
|
$noAfterFindData = $noAfterFindModel->find('all');
|
||||||
|
|
||||||
$this->assertFalse($afterFindModel == $noAfterFindModel);
|
$this->assertFalse($afterFindModel == $noAfterFindModel);
|
||||||
// Limitation of PHP 4 and PHP 5 > 5.1.6 when comparing recursive objects
|
// Limitation of PHP 4 and PHP 5 > 5.1.6 when comparing recursive objects
|
||||||
|
|
Loading…
Add table
Reference in a new issue