⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tree.test.php

📁 Cake Framwork , Excellent
💻 PHP
📖 第 1 页 / 共 3 页
字号:
		$this->NumberTree->id = $parent['NumberTree']['id'];		$result = $this->NumberTree->children(null, true, array('name'));		$expected = array(array('NumberTree' => array('name' => '1.2',)),						array('NumberTree' => array('name' => '1.1',)));		$this->assertIdentical($result, $expected);	}/** * testMoveDownFail method *  * @access public * @return void */	function testMoveDownFail() {		$this->NumberTree =& new NumberTree();		$this->NumberTree->initialize(2, 2);		$data = $this->NumberTree->find(array('NumberTree.name' => '1.2'));		$this->NumberTree->moveDown($data['NumberTree']['id']);		$parent = $this->NumberTree->findByName('1. Root', array('id'));		$this->NumberTree->id = $parent['NumberTree']['id'];		$result = $this->NumberTree->children(null, true, array('name'));		$expected = array(array('NumberTree' => array('name' => '1.1',)),					array('NumberTree' => array('name' => '1.2',)));		$this->assertIdentical($result, $expected);	}/** * testMoveDownLast method *  * @access public * @return void */	function testMoveDownLast() {		$this->NumberTree =& new NumberTree();		$this->NumberTree->initialize(1, 10);		$data = $this->NumberTree->find(array('NumberTree.name' => '1.5'), array('id'));		$this->NumberTree->moveDown($data['NumberTree']['id'], true);		$parent = $this->NumberTree->findByName('1. Root', array('id'));		$this->NumberTree->id = $parent['NumberTree']['id'];		$result = $this->NumberTree->children(null, true, array('name'));		$expected = array(				array('NumberTree' => array('name' => '1.1',)),				array('NumberTree' => array('name' => '1.2',)),				array('NumberTree' => array('name' => '1.3',)),				array('NumberTree' => array('name' => '1.4',)),				array('NumberTree' => array('name' => '1.6',)),				array('NumberTree' => array('name' => '1.7',)),				array('NumberTree' => array('name' => '1.8',)),				array('NumberTree' => array('name' => '1.9',)),				array('NumberTree' => array('name' => '1.10',)),				array('NumberTree' => array('name' => '1.5',)));		$this->assertIdentical($result, $expected);	}/** * testMoveDown2 method *  * @access public * @return void */	function testMoveDown2() {		$this->NumberTree =& new NumberTree();		$this->NumberTree->initialize(1, 10);		$data = $this->NumberTree->find(array('NumberTree.name' => '1.5'), array('id'));		$this->NumberTree->moveDown($data['NumberTree']['id'], 2);		$parent = $this->NumberTree->findByName('1. Root', array('id'));		$this->NumberTree->id = $parent['NumberTree']['id'];		$result = $this->NumberTree->children(null, true, array('name'));		$expected = array(				array('NumberTree' => array('name' => '1.1',)),				array('NumberTree' => array('name' => '1.2',)),				array('NumberTree' => array('name' => '1.3',)),				array('NumberTree' => array('name' => '1.4',)),				array('NumberTree' => array('name' => '1.6',)),				array('NumberTree' => array('name' => '1.7',)),				array('NumberTree' => array('name' => '1.5',)),				array('NumberTree' => array('name' => '1.8',)),				array('NumberTree' => array('name' => '1.9',)),				array('NumberTree' => array('name' => '1.10',)));		$this->assertIdentical($result, $expected);	}/** * testSaveNoMove method *  * @access public * @return void */	function testSaveNoMove() {		$this->NumberTree =& new NumberTree();		$this->NumberTree->initialize(1, 10);		$data = $this->NumberTree->find(array('NumberTree.name' => '1.5'), array('id'));		$this->NumberTree->id = $data['NumberTree']['id'];		$this->NumberTree->saveField('name', 'renamed');		$parent = $this->NumberTree->findByName('1. Root', array('id'));		$this->NumberTree->id = $parent['NumberTree']['id'];		$result = $this->NumberTree->children(null, true, array('name'));		$expected = array(				array('NumberTree' => array('name' => '1.1',)),				array('NumberTree' => array('name' => '1.2',)),				array('NumberTree' => array('name' => '1.3',)),				array('NumberTree' => array('name' => '1.4',)),				array('NumberTree' => array('name' => 'renamed',)),				array('NumberTree' => array('name' => '1.6',)),				array('NumberTree' => array('name' => '1.7',)),				array('NumberTree' => array('name' => '1.8',)),				array('NumberTree' => array('name' => '1.9',)),				array('NumberTree' => array('name' => '1.10',)));		$this->assertIdentical($result, $expected);	}/** * testMoveToRootAndMoveUp method *  * @access public * @return void */	function testMoveToRootAndMoveUp(){		$this->NumberTree =& new NumberTree();		$this->NumberTree->initialize(1, 1);		$data = $this->NumberTree->find(array('NumberTree.name' => '1.1'), array('id'));		$this->NumberTree->id = $data['NumberTree']['id'];		$this->NumberTree->save(array('parent_id' => null));		$result = $this->NumberTree->verify();		$this->assertIdentical($result, true);		$this->NumberTree->moveup();		$result = $this->NumberTree->find('all', array('fields' => 'name', 'order' => 'NumberTree.lft ASC'));		$expected = array(array('NumberTree' => array('name' => '1.1')),						array('NumberTree' => array('name' => '1. Root')));		$this->assertIdentical($result, $expected);	}/** * testDelete method *  * @access public * @return void */	function testDelete() {		$this->NumberTree =& new NumberTree();		$this->NumberTree->initialize(2, 2);		$initialCount = $this->NumberTree->find('count');		$result = $this->NumberTree->findByName('1.1.1');		$return = $this->NumberTree->delete($result['NumberTree']['id']);		$this->assertEqual($return, true);		$laterCount = $this->NumberTree->find('count');		$this->assertEqual($initialCount - 1, $laterCount);		$validTree= $this->NumberTree->verify();		$this->assertIdentical($validTree, true);		$initialCount = $this->NumberTree->find('count');		$result= $this->NumberTree->findByName('1.1');		$return = $this->NumberTree->delete($result['NumberTree']['id']);		$this->assertEqual($return, true);		$laterCount = $this->NumberTree->find('count');		$this->assertEqual($initialCount - 2, $laterCount);		$validTree = $this->NumberTree->verify();		$this->assertIdentical($validTree, true);	}	function testRemove() {		$this->NumberTree =& new NumberTree();		$this->NumberTree->initialize(2, 2);		$initialCount = $this->NumberTree->find('count');		$result = $this->NumberTree->findByName('1.1');		$this->NumberTree->removeFromTree($result['NumberTree']['id']);		$laterCount = $this->NumberTree->find('count');		$this->assertEqual($initialCount, $laterCount);		$children = $this->NumberTree->children($result['NumberTree']['parent_id'], true, array('name'));		$expects = array(array('NumberTree' => array('name' => '1.1.1')),							array('NumberTree' => array('name' => '1.1.2')),							array('NumberTree' => array('name' => '1.2')));		$this->assertEqual($children, $expects);		$topNodes = $this->NumberTree->children(false,true,array('name'));		$expects = array(array('NumberTree' => array('name' => '1. Root')),						array('NumberTree' => array('name' => '1.1')));		$this->assertEqual($topNodes, $expects);		$validTree = $this->NumberTree->verify();		$this->assertIdentical($validTree, true);	}	function testRemoveLastTopParent() {		$this->NumberTree =& new NumberTree();		$this->NumberTree->initialize(2, 2);		$initialCount = $this->NumberTree->find('count');		$initialTopNodes = $this->NumberTree->childCount(false);		$result = $this->NumberTree->findByName('1. Root');		$this->NumberTree->removeFromTree($result['NumberTree']['id']);		$laterCount = $this->NumberTree->find('count');		$laterTopNodes = $this->NumberTree->childCount(false);		$this->assertEqual($initialCount, $laterCount);		$this->assertEqual($initialTopNodes, $laterTopNodes);		$topNodes = $this->NumberTree->children(false,true,array('name'));		$expects = array(array('NumberTree' => array('name' => '1.1')),						array('NumberTree' => array('name' => '1.2')),						array('NumberTree' => array('name' => '1. Root')));		$this->assertEqual($topNodes, $expects);		$validTree = $this->NumberTree->verify();		$this->assertIdentical($validTree, true);	}	function testRemoveAndDelete() {		$this->NumberTree =& new NumberTree();		$this->NumberTree->initialize(2, 2);		$initialCount = $this->NumberTree->find('count');		$result = $this->NumberTree->findByName('1.1');		$this->NumberTree->removeFromTree($result['NumberTree']['id'],true);		$laterCount = $this->NumberTree->find('count');		$this->assertEqual($initialCount-1, $laterCount);		$children = $this->NumberTree->children($result['NumberTree']['parent_id'], true, array('name'), 'lft asc');		$expects= array(array('NumberTree' => array('name' => '1.1.1')),						array('NumberTree' => array('name' => '1.1.2')),						array('NumberTree' => array('name' => '1.2')));		$this->assertEqual($children, $expects);		$topNodes = $this->NumberTree->children(false,true,array('name'));		$expects = array(array('NumberTree' => array('name' => '1. Root')));		$this->assertEqual($topNodes, $expects);		$validTree = $this->NumberTree->verify();		$this->assertIdentical($validTree, true);	}	function testChildren() {		$this->NumberTree =& new NumberTree();		$this->NumberTree->initialize(2, 2);		$data = $this->NumberTree->find(array('NumberTree.name' => '1. Root'));		$this->NumberTree->id= $data['NumberTree']['id'];		$direct = $this->NumberTree->children(null, true, array('id', 'name', 'parent_id', 'lft', 'rght'));		$expects = array(array('NumberTree' => array('id' => 2, 'name' => '1.1', 'parent_id' => 1, 'lft' => 2, 'rght' => 7)),					array('NumberTree' => array('id' => 5, 'name' => '1.2', 'parent_id' => 1, 'lft' => 8, 'rght' => 13)));		$this->assertEqual($direct, $expects);		$total = $this->NumberTree->children(null, null, array('id', 'name', 'parent_id', 'lft', 'rght'));		$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' => 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' => 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)));		$this->assertEqual($total, $expects);	}	function testCountChildren() {		$this->NumberTree =& new NumberTree();		$this->NumberTree->initialize(2, 2);		$data = $this->NumberTree->find(array('NumberTree.name' => '1. Root'));		$this->NumberTree->id = $data['NumberTree']['id'];		$direct = $this->NumberTree->childCount(null, true);		$this->assertEqual($direct, 2);		$expects = $this->NumberTree->find('count') - 1;		$total = $this->NumberTree->childCount();		$this->assertEqual($total, 6);	}	function testGetParentNode() {		$this->NumberTree =& new NumberTree();		$this->NumberTree->initialize(2, 2);		$data = $this->NumberTree->find(array('NumberTree.name' => '1.2.2'));		$this->NumberTree->id= $data['NumberTree']['id'];		$result = $this->NumberTree->getparentNode(null, array('name'));		$expects = array('NumberTree' => array('name' => '1.2'));		$this->assertIdentical($result, $expects);	}	function testGetPath() {		$this->NumberTree =& new NumberTree();		$this->NumberTree->initialize(2, 2);		$data = $this->NumberTree->find(array('NumberTree.name' => '1.2.2'));		$this->NumberTree->id= $data['NumberTree']['id'];		$result = $this->NumberTree->getPath(null, array('name'));		$expects = array(array('NumberTree' => array('name' => '1. Root')),					array('NumberTree' => array('name' => '1.2')),					array('NumberTree' => array('name' => '1.2.2')));		$this->assertIdentical($result, $expects);	}	function testNoAmbiguousColumn() {		$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);		$data = $this->NumberTree->find(array('NumberTree.name' => '1. Root'));		$this->NumberTree->id= $data['NumberTree']['id'];		$direct = $this->NumberTree->children(null, true, 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)),					array('NumberTree' => array('id' => 5, 'name' => '1.2', 'parent_id' => 1, 'lft' => 8, 'rght' => 13)));		$this->assertEqual($direct, $expects);		$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)),			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' => 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' => 7, 'name' => '1.2.2', 'parent_id' => 5, 'lft' => 11, 'rght' => 12))		);		$this->assertEqual($total, $expects);	}	function testReorderTree() {		$this->NumberTree =& new NumberTree();		$this->NumberTree->initialize(3, 3);		$nodes = $this->NumberTree->find('list', array('order' => 'lft'));				$data = $this->NumberTree->find(array('NumberTree.name' => '1.1'), array('id'));		$this->NumberTree->moveDown($data['NumberTree']['id']);		$data = $this->NumberTree->find(array('NumberTree.name' => '1.2.1'), array('id'));		$this->NumberTree->moveDown($data['NumberTree']['id']);		$data = $this->NumberTree->find(array('NumberTree.name' => '1.3.2.2'), array('id'));		$this->NumberTree->moveDown($data['NumberTree']['id']);		$unsortedNodes = $this->NumberTree->find('list', array('order' => 'lft'));		$this->assertNotIdentical($nodes, $unsortedNodes);		$this->NumberTree->reorder();		$sortedNodes = $this->NumberTree->find('list', array('order' => 'lft'));		$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);	}	function testMoveUpWithScope() {		$this->Ad =& new Ad();		$this->Ad->Behaviors->attach('Tree', array('scope'=>'Campaign'));		$this->Ad->moveUp(6);				$this->Ad->id = 4;		$result = $this->Ad->children();		$this->assertEqual(Set::extract('/Ad/id', $result), array(6, 5));		$this->assertEqual(Set::extract('/Campaign/id', $result), array(2, 2));	}	function testMoveDownWithScope() {		$this->Ad =& new Ad();		$this->Ad->Behaviors->attach('Tree', array('scope'=>'Campaign'));		$this->Ad->moveDown(6);		$this->Ad->id = 4;		$result = $this->Ad->children();		$this->assertEqual(Set::extract('/Ad/id', $result), array(5, 6));		$this->assertEqual(Set::extract('/Campaign/id', $result), array(2, 2));	}	function testArraySyntax() {		$this->NumberTree =& new NumberTree();		$this->NumberTree->initialize(3, 3);		$this->assertIdentical($this->NumberTree->childcount(2), $this->NumberTree->childcount(array('id' => 2)));		$this->assertIdentical($this->NumberTree->getparentnode(2), $this->NumberTree->getparentnode(array('id' => 2)));		$this->assertIdentical($this->NumberTree->getpath(4), $this->NumberTree->getpath(array('id' => 4)));	}}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -