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

📄 controller.test.php

📁 Cake Framwork , Excellent
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php/* SVN FILE: $Id: controller.test.php 7118 2008-06-04 20:49:29Z gwoo $ *//** * Short description for file. * * Long description for file * * PHP versions 4 and 5 * * CakePHP(tm) Tests <https://trac.cakephp.org/wiki/Developement/TestSuite> * Copyright 2005-2008, Cake Software Foundation, Inc. *								1785 E. Sahara Avenue, Suite 490-204 *								Las Vegas, Nevada 89104 * *  Licensed under The Open Group Test Suite License *  Redistributions of files must retain the above copyright notice. * * @filesource * @copyright		Copyright 2005-2008, Cake Software Foundation, Inc. * @link				https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests * @package			cake.tests * @subpackage		cake.tests.cases.libs.controller * @since			CakePHP(tm) v 1.2.0.5436 * @version			$Revision: 7118 $ * @modifiedby		$LastChangedBy: gwoo $ * @lastmodified	$Date: 2008-06-04 13:49:29 -0700 (Wed, 04 Jun 2008) $ * @license			http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License */App::import('Core', 'Controller');App::import('Component', 'Security');App::import('Component', 'Cookie');/** * ControllerPost class *  * @package              cake * @subpackage           cake.tests.cases.libs.controller */class ControllerPost extends CakeTestModel {/** * name property *  * @var string 'ControllerPost' * @access public */	var $name = 'ControllerPost';/** * useTable property *  * @var string 'posts' * @access public */	var $useTable = 'posts';/** * invalidFields property *  * @var array * @access public */	var $invalidFields = array('name' => 'error_msg');/** * lastQuery property *  * @var mixed null * @access public */	var $lastQuery = null;/** * beforeFind method *  * @param mixed $query  * @access public * @return void */	function beforeFind($query) {		$this->lastQuery = $query;	}/** * find method *  * @param mixed $type  * @param array $options  * @access public * @return void */	function find($type, $options = array()) {		if ($type == 'popular') {			$conditions = array($this->name . '.' . $this->primaryKey => '> 1');			return parent::find('all', Set::merge($options, compact('conditions')));		}		return parent::find($type, $options);	}}/** * ControllerComment class *  * @package              cake * @subpackage           cake.tests.cases.libs.controller */class ControllerComment extends CakeTestModel {/** * name property *  * @var string 'ControllerComment' * @access public */	var $name = 'ControllerComment';/** * useTable property *  * @var string 'comments' * @access public */	var $useTable = 'comments';/** * data property *  * @var array * @access public */	var $data = array('name' => 'Some Name');/** * alias property *  * @var string 'ControllerComment' * @access public */	var $alias = 'ControllerComment';}if (!class_exists('AppController')) {/** * AppController class *  * @package              cake * @subpackage           cake.tests.cases.libs.controller */	class AppController extends Controller {/** * helpers property *  * @var array * @access public */		var $helpers = array('Html', 'Javascript');/** * uses property *  * @var array * @access public */		var $uses = array('ControllerPost');/** * components property *  * @var array * @access public */		var $components = array('Cookie');	}} else {	define('AppControllerExists', true);}/** * TestController class *  * @package              cake * @subpackage           cake.tests.cases.libs.controller */class TestController extends AppController {/** * helpers property *  * @var array * @access public */	var $helpers = array('Xml');/** * components property *  * @var array * @access public */	var $components = array('Security');/** * uses property *  * @var array * @access public */	var $uses = array('ControllerComment');/** * index method *  * @param mixed $testId  * @param mixed $test2Id  * @access public * @return void */	function index($testId, $test2Id) {		$this->data['testId'] = $testId;		$this->data['test2Id'] = $test2Id;	}}/** * TestComponent class *  * @package              cake * @subpackage           cake.tests.cases.libs.controller */class TestComponent extends Object {/** * beforeRedirect method *  * @access public * @return void */	function beforeRedirect() {		return true;	}}/** * Short description for class. * * @package    cake.tests * @subpackage cake.tests.cases.libs.controller */class ControllerTest extends CakeTestCase {/** * fixtures property *  * @var array * @access public */	var $fixtures = array('core.post', 'core.comment');/** * testConstructClasses method *  * @access public * @return void */	function testConstructClasses() {		$Controller =& new Controller();		$Controller->modelClass = 'ControllerPost';		$Controller->passedArgs[] = '1';		$Controller->constructClasses();		$this->assertEqual($Controller->ControllerPost->id, 1);		unset($Controller);		$Controller =& new Controller();		$Controller->uses = array('ControllerPost', 'ControllerComment');		$Controller->passedArgs[] = '1';		$Controller->constructClasses();		$this->assertTrue(is_a($Controller->ControllerPost, 'ControllerPost'));		$this->assertTrue(is_a($Controller->ControllerComment, 'ControllerComment'));		unset($Controller);	}/** * testPersistent method *  * @access public * @return void */	function testPersistent() {		$Controller =& new Controller();		$Controller->modelClass = 'ControllerPost';		$Controller->persistModel = true;		$Controller->constructClasses();		$this->assertTrue(file_exists(CACHE . 'persistent' . DS .'controllerpost.php'));		$this->assertTrue(is_a($Controller->ControllerPost, 'ControllerPost'));		unlink(CACHE . 'persistent' . DS . 'controllerpost.php');		unlink(CACHE . 'persistent' . DS . 'controllerpostregistry.php');		unset($Controller);	}/** * testPaginate method *  * @access public * @return void */	function testPaginate() {		$Controller =& new Controller();		$Controller->uses = array('ControllerPost', 'ControllerComment');		$Controller->passedArgs[] = '1';		$Controller->params['url'] = array();		$Controller->constructClasses();		$results = Set::extract($Controller->paginate('ControllerPost'), '{n}.ControllerPost.id');		$this->assertEqual($results, array(1, 2, 3));		$results = Set::extract($Controller->paginate('ControllerComment'), '{n}.ControllerComment.id');		$this->assertEqual($results, array(1, 2, 3, 4, 5, 6));		$Controller->modelClass = null;		$Controller->uses[0] = 'Plugin.ControllerPost';		$results = Set::extract($Controller->paginate(), '{n}.ControllerPost.id');		$this->assertEqual($results, array(1, 2, 3));		$Controller->passedArgs = array('page' => '-1');		$results = Set::extract($Controller->paginate('ControllerPost'), '{n}.ControllerPost.id');		$this->assertEqual($Controller->params['paging']['ControllerPost']['page'], 1);		$this->assertEqual($results, array(1, 2, 3));	}/** * testPaginateExtraParams method *  * @access public * @return void */	function testPaginateExtraParams() {		$Controller =& new Controller();		$Controller->uses = array('ControllerPost', 'ControllerComment');		$Controller->passedArgs[] = '1';		$Controller->params['url'] = array();		$Controller->constructClasses();		$Controller->passedArgs = array('page' => '-1', 'contain' => array('ControllerComment'));		$result = $Controller->paginate('ControllerPost');		$this->assertEqual($Controller->params['paging']['ControllerPost']['page'], 1);		$this->assertEqual(Set::extract($result, '{n}.ControllerPost.id'), array(1, 2, 3));		$this->assertTrue(!isset($Controller->ControllerPost->lastQuery['contain']));		$Controller->passedArgs = array('page' => '-1');		$Controller->paginate = array('ControllerPost' => array('contain' => array('ControllerComment')));		$result = $Controller->paginate('ControllerPost');		$this->assertEqual($Controller->params['paging']['ControllerPost']['page'], 1);		$this->assertEqual(Set::extract($result, '{n}.ControllerPost.id'), array(1, 2, 3));		$this->assertFalse(!isset($Controller->ControllerPost->lastQuery['contain']));		$Controller->paginate = array('ControllerPost' => array('popular', 'fields' => array('id', 'title')));		$result = $Controller->paginate('ControllerPost');		$this->assertEqual(Set::extract($result, '{n}.ControllerPost.id'), array(2, 3));		$this->assertEqual($Controller->ControllerPost->lastQuery['conditions'], array('ControllerPost.id' => '> 1'));	}/** * testDefaultPaginateParams method *  * @access public * @return void */	function testDefaultPaginateParams() {		$Controller =& new Controller();		$Controller->modelClass = 'ControllerPost';		$Controller->params['url'] = array();		$Controller->paginate = array('order' => 'ControllerPost.id DESC');		$Controller->constructClasses();		$results = Set::extract($Controller->paginate('ControllerPost'), '{n}.ControllerPost.id');		$this->assertEqual($Controller->params['paging']['ControllerPost']['defaults']['order'], 'ControllerPost.id DESC');		$this->assertEqual($Controller->params['paging']['ControllerPost']['options']['order'], 'ControllerPost.id DESC');		$this->assertEqual($results, array(3, 2, 1));	}/** * testFlash method *  * @access public * @return void */

⌨️ 快捷键说明

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