mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-01-19 02:56:15 +00:00
Merge branch '2.0' into 2.1
Conflicts: lib/Cake/Model/Datasource/Database/Postgres.php lib/Cake/Test/Case/Console/TaskCollectionTest.php lib/Cake/Test/Case/Model/ModelIntegrationTest.php lib/Cake/Test/Case/Utility/ClassRegistryTest.php lib/Cake/Utility/ClassRegistry.php
This commit is contained in:
commit
2e8498e166
162 changed files with 920 additions and 306 deletions
|
@ -200,6 +200,7 @@
|
||||||
* timestamping regardless of debug value.
|
* timestamping regardless of debug value.
|
||||||
*/
|
*/
|
||||||
//Configure::write('Asset.timestamp', true);
|
//Configure::write('Asset.timestamp', true);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compress CSS output by removing comments, whitespace, repeating tags, etc.
|
* Compress CSS output by removing comments, whitespace, repeating tags, etc.
|
||||||
* This requires a/var/cache directory to be writable by the web server for caching.
|
* This requires a/var/cache directory to be writable by the web server for caching.
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
* @since CakePHP(tm) v 0.2.9
|
* @since CakePHP(tm) v 0.2.9
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
App::uses('Helper', 'View');
|
App::uses('Helper', 'View');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -374,6 +374,7 @@ class Cache {
|
||||||
self::set(null, $config);
|
self::set(null, $config);
|
||||||
return $success;
|
return $success;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decrement a number under the key and return decremented value.
|
* Decrement a number under the key and return decremented value.
|
||||||
*
|
*
|
||||||
|
@ -401,6 +402,7 @@ class Cache {
|
||||||
self::set(null, $config);
|
self::set(null, $config);
|
||||||
return $success;
|
return $success;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a key from the cache.
|
* Delete a key from the cache.
|
||||||
*
|
*
|
||||||
|
|
|
@ -21,7 +21,11 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* File Storage engine for cache
|
* File Storage engine for cache. Filestorage is the slowest cache storage
|
||||||
|
* to read and write. However, it is good for servers that don't have other storage
|
||||||
|
* engine available, or have content which is not performance sensitive.
|
||||||
|
*
|
||||||
|
* You can configure a FileEngine cache, using Cache::config()
|
||||||
*
|
*
|
||||||
* @package Cake.Cache.Engine
|
* @package Cake.Cache.Engine
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -110,6 +110,7 @@ class XcacheEngine extends CacheEngine {
|
||||||
public function decrement($key, $offset = 1) {
|
public function decrement($key, $offset = 1) {
|
||||||
return xcache_dec($key, $offset);
|
return xcache_dec($key, $offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a key from the cache
|
* Delete a key from the cache
|
||||||
*
|
*
|
||||||
|
|
|
@ -24,6 +24,8 @@ App::uses('File', 'Utility');
|
||||||
/**
|
/**
|
||||||
* API shell to show method signatures of CakePHP core classes.
|
* API shell to show method signatures of CakePHP core classes.
|
||||||
*
|
*
|
||||||
|
* Implementation of a Cake Shell to show CakePHP core method signatures.
|
||||||
|
*
|
||||||
* @package Cake.Console.Command
|
* @package Cake.Console.Command
|
||||||
*/
|
*/
|
||||||
class ApiShell extends AppShell {
|
class ApiShell extends AppShell {
|
||||||
|
@ -151,6 +153,7 @@ class ApiShell extends AppShell {
|
||||||
))->description(__d('cake_console', 'Lookup doc block comments for classes in CakePHP.'));
|
))->description(__d('cake_console', 'Lookup doc block comments for classes in CakePHP.'));
|
||||||
return $parser;
|
return $parser;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show help for this shell.
|
* Show help for this shell.
|
||||||
*
|
*
|
||||||
|
|
|
@ -24,7 +24,11 @@ App::uses('AppShell', 'Console/Command');
|
||||||
App::uses('Model', 'Model');
|
App::uses('Model', 'Model');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bake is a command-line code generation utility for automating programmer chores.
|
* Command-line code generation utility to automate programmer chores.
|
||||||
|
*
|
||||||
|
* Bake is CakePHP's code generation script, which can help you kickstart
|
||||||
|
* application development by writing fully functional skeleton controllers,
|
||||||
|
* models, and views. Going further, Bake can also write Unit Tests for you.
|
||||||
*
|
*
|
||||||
* @package Cake.Console.Command
|
* @package Cake.Console.Command
|
||||||
* @link http://book.cakephp.org/2.0/en/console-and-shells/code-generation-with-bake.html
|
* @link http://book.cakephp.org/2.0/en/console-and-shells/code-generation-with-bake.html
|
||||||
|
|
|
@ -27,6 +27,9 @@ App::uses('CakeSchema', 'Model');
|
||||||
/**
|
/**
|
||||||
* Schema is a command-line database management utility for automating programmer chores.
|
* Schema is a command-line database management utility for automating programmer chores.
|
||||||
*
|
*
|
||||||
|
* Schema is CakePHP's database management utility. This helps you maintain versions of
|
||||||
|
* of your database.
|
||||||
|
*
|
||||||
* @package Cake.Console.Command
|
* @package Cake.Console.Command
|
||||||
* @link http://book.cakephp.org/2.0/en/console-and-shells/schema-management-and-migrations.html
|
* @link http://book.cakephp.org/2.0/en/console-and-shells/schema-management-and-migrations.html
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -101,10 +101,12 @@ class ModelTask extends BakeTask {
|
||||||
return $this->all();
|
return $this->all();
|
||||||
}
|
}
|
||||||
$model = $this->_modelName($this->args[0]);
|
$model = $this->_modelName($this->args[0]);
|
||||||
$object = $this->_getModelObject($model);
|
$this->listAll($this->connection);
|
||||||
|
$useTable = $this->getTable($model);
|
||||||
|
$object = $this->_getModelObject($model, $useTable);
|
||||||
if ($this->bake($object, false)) {
|
if ($this->bake($object, false)) {
|
||||||
if ($this->_checkUnitTest()) {
|
if ($this->_checkUnitTest()) {
|
||||||
$this->bakeFixture($model);
|
$this->bakeFixture($model, $useTable);
|
||||||
$this->bakeTest($model);
|
$this->bakeTest($model);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -822,12 +824,14 @@ class ModelTask extends BakeTask {
|
||||||
public function listAll($useDbConfig = null) {
|
public function listAll($useDbConfig = null) {
|
||||||
$this->_tables = (array) $this->getAllTables($useDbConfig);
|
$this->_tables = (array) $this->getAllTables($useDbConfig);
|
||||||
|
|
||||||
|
$this->_modelNames = array();
|
||||||
|
$count = count($this->_tables);
|
||||||
|
for ($i = 0; $i < $count; $i++) {
|
||||||
|
$this->_modelNames[] = $this->_modelName($this->_tables[$i]);
|
||||||
|
}
|
||||||
if ($this->interactive === true) {
|
if ($this->interactive === true) {
|
||||||
$this->out(__d('cake_console', 'Possible Models based on your current database:'));
|
$this->out(__d('cake_console', 'Possible Models based on your current database:'));
|
||||||
$this->_modelNames = array();
|
|
||||||
$count = count($this->_tables);
|
|
||||||
for ($i = 0; $i < $count; $i++) {
|
for ($i = 0; $i < $count; $i++) {
|
||||||
$this->_modelNames[] = $this->_modelName($this->_tables[$i]);
|
|
||||||
$this->out($i + 1 . ". " . $this->_modelNames[$i]);
|
$this->out($i + 1 . ". " . $this->_modelNames[$i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -842,26 +846,27 @@ class ModelTask extends BakeTask {
|
||||||
* @return string Table name
|
* @return string Table name
|
||||||
*/
|
*/
|
||||||
public function getTable($modelName, $useDbConfig = null) {
|
public function getTable($modelName, $useDbConfig = null) {
|
||||||
if (!isset($useDbConfig)) {
|
|
||||||
$useDbConfig = $this->connection;
|
|
||||||
}
|
|
||||||
|
|
||||||
$db = ConnectionManager::getDataSource($useDbConfig);
|
|
||||||
$useTable = Inflector::tableize($modelName);
|
$useTable = Inflector::tableize($modelName);
|
||||||
if (in_array($modelName, $this->_modelNames)) {
|
if (in_array($modelName, $this->_modelNames)) {
|
||||||
$modelNames = array_flip($this->_modelNames);
|
$modelNames = array_flip($this->_modelNames);
|
||||||
$useTable = $this->_tables[$modelNames[$modelName]];
|
$useTable = $this->_tables[$modelNames[$modelName]];
|
||||||
}
|
}
|
||||||
$fullTableName = $db->fullTableName($useTable, false);
|
|
||||||
$tableIsGood = false;
|
|
||||||
|
|
||||||
if (array_search($useTable, $this->_tables) === false) {
|
if ($this->interactive === true) {
|
||||||
$this->out();
|
if (!isset($useDbConfig)) {
|
||||||
$this->out(__d('cake_console', "Given your model named '%s',\nCake would expect a database table named '%s'", $modelName, $fullTableName));
|
$useDbConfig = $this->connection;
|
||||||
$tableIsGood = $this->in(__d('cake_console', 'Do you want to use this table?'), array('y', 'n'), 'y');
|
}
|
||||||
}
|
$db = ConnectionManager::getDataSource($useDbConfig);
|
||||||
if (strtolower($tableIsGood) == 'n') {
|
$fullTableName = $db->fullTableName($useTable, false);
|
||||||
$useTable = $this->in(__d('cake_console', 'What is the name of the table?'));
|
$tableIsGood = false;
|
||||||
|
if (array_search($useTable, $this->_tables) === false) {
|
||||||
|
$this->out();
|
||||||
|
$this->out(__d('cake_console', "Given your model named '%s',\nCake would expect a database table named '%s'", $modelName, $fullTableName));
|
||||||
|
$tableIsGood = $this->in(__d('cake_console', 'Do you want to use this table?'), array('y', 'n'), 'y');
|
||||||
|
}
|
||||||
|
if (strtolower($tableIsGood) == 'n') {
|
||||||
|
$useTable = $this->in(__d('cake_console', 'What is the name of the table?'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return $useTable;
|
return $useTable;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ App::uses('File', 'Utility');
|
||||||
App::uses('Folder', 'Utility');
|
App::uses('Folder', 'Utility');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Task class for creating a plugin
|
* The Plugin Task handles creating an empty plugin, ready to be used
|
||||||
*
|
*
|
||||||
* @package Cake.Console.Command.Task
|
* @package Cake.Console.Command.Task
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -288,9 +288,7 @@ class ProjectTask extends AppShell {
|
||||||
$File = new File($path . 'Config' . DS . 'core.php');
|
$File = new File($path . 'Config' . DS . 'core.php');
|
||||||
$contents = $File->read();
|
$contents = $File->read();
|
||||||
if (preg_match('/([\s]*Configure::write\(\'Security.cipherSeed\',[\s\'A-z0-9]*\);)/', $contents, $match)) {
|
if (preg_match('/([\s]*Configure::write\(\'Security.cipherSeed\',[\s\'A-z0-9]*\);)/', $contents, $match)) {
|
||||||
if (!class_exists('Security')) {
|
App::uses('Security', 'Utility');
|
||||||
require CAKE . 'Utility' . DS . 'security.php';
|
|
||||||
}
|
|
||||||
$string = substr(bin2hex(Security::generateAuthKey()), 0, 30);
|
$string = substr(bin2hex(Security::generateAuthKey()), 0, 30);
|
||||||
$result = str_replace($match[0], "\t" . 'Configure::write(\'Security.cipherSeed\', \''.$string.'\');', $contents);
|
$result = str_replace($match[0], "\t" . 'Configure::write(\'Security.cipherSeed\', \''.$string.'\');', $contents);
|
||||||
if ($File->write($result)) {
|
if ($File->write($result)) {
|
||||||
|
|
|
@ -554,6 +554,7 @@ class UpgradeShell extends AppShell {
|
||||||
);
|
);
|
||||||
$this->_filesRegexpUpdate($patterns);
|
$this->_filesRegexpUpdate($patterns);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Move application views files to where they now should be
|
* Move application views files to where they now should be
|
||||||
*
|
*
|
||||||
|
|
|
@ -79,6 +79,14 @@ class Shell extends Object {
|
||||||
*/
|
*/
|
||||||
public $name = null;
|
public $name = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The name of the plugin the shell belongs to.
|
||||||
|
* Is automatically set by ShellDispatcher when a shell is constructed.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public $plugin = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contains tasks to load and instantiate
|
* Contains tasks to load and instantiate
|
||||||
*
|
*
|
||||||
|
@ -409,7 +417,8 @@ class Shell extends Object {
|
||||||
* @link http://book.cakephp.org/2.0/en/console-and-shells.html#Shell::getOptionParser
|
* @link http://book.cakephp.org/2.0/en/console-and-shells.html#Shell::getOptionParser
|
||||||
*/
|
*/
|
||||||
public function getOptionParser() {
|
public function getOptionParser() {
|
||||||
$parser = new ConsoleOptionParser($this->name);
|
$name = ($this->plugin ? $this->plugin . '.' : '') . $this->name;
|
||||||
|
$parser = new ConsoleOptionParser($name);
|
||||||
return $parser;
|
return $parser;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -716,10 +725,10 @@ class Shell extends Object {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates the proper controller camelized name (singularized) for the specified name
|
* Creates the proper model camelized name (singularized) for the specified name
|
||||||
*
|
*
|
||||||
* @param string $name Name
|
* @param string $name Name
|
||||||
* @return string Camelized and singularized controller name
|
* @return string Camelized and singularized model name
|
||||||
*/
|
*/
|
||||||
protected function _modelName($name) {
|
protected function _modelName($name) {
|
||||||
return Inflector::camelize(Inflector::singularize($name));
|
return Inflector::camelize(Inflector::singularize($name));
|
||||||
|
|
|
@ -219,6 +219,7 @@ class ShellDispatcher {
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
$Shell = new $class();
|
$Shell = new $class();
|
||||||
|
$Shell->plugin = trim($plugin, '.');
|
||||||
return $Shell;
|
return $Shell;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -200,6 +200,7 @@
|
||||||
* timestamping regardless of debug value.
|
* timestamping regardless of debug value.
|
||||||
*/
|
*/
|
||||||
//Configure::write('Asset.timestamp', true);
|
//Configure::write('Asset.timestamp', true);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compress CSS output by removing comments, whitespace, repeating tags, etc.
|
* Compress CSS output by removing comments, whitespace, repeating tags, etc.
|
||||||
* This requires a/var/cache directory to be writable by the web server for caching.
|
* This requires a/var/cache directory to be writable by the web server for caching.
|
||||||
|
|
|
@ -365,6 +365,7 @@ form .submit input[type=submit] {
|
||||||
form .submit input[type=submit]:hover {
|
form .submit input[type=submit]:hover {
|
||||||
background: #5BA150;
|
background: #5BA150;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Form errors */
|
/* Form errors */
|
||||||
form .error {
|
form .error {
|
||||||
background: #FFDACC;
|
background: #FFDACC;
|
||||||
|
@ -646,6 +647,7 @@ pre {
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* excerpt */
|
/* excerpt */
|
||||||
.cake-code-dump pre,
|
.cake-code-dump pre,
|
||||||
.cake-code-dump pre code {
|
.cake-code-dump pre code {
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
if (!defined('DS')) {
|
if (!defined('DS')) {
|
||||||
define('DS', DIRECTORY_SEPARATOR);
|
define('DS', DIRECTORY_SEPARATOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* These defines should only be edited if you have cake installed in
|
* These defines should only be edited if you have cake installed in
|
||||||
* a directory layout other than the way it is distributed.
|
* a directory layout other than the way it is distributed.
|
||||||
|
@ -37,6 +38,7 @@
|
||||||
if (!defined('ROOT')) {
|
if (!defined('ROOT')) {
|
||||||
define('ROOT', dirname(dirname(dirname(__FILE__))));
|
define('ROOT', dirname(dirname(dirname(__FILE__))));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The actual directory name for the "app".
|
* The actual directory name for the "app".
|
||||||
*
|
*
|
||||||
|
|
|
@ -24,6 +24,7 @@ ini_set('display_errors', 1);
|
||||||
if (!defined('DS')) {
|
if (!defined('DS')) {
|
||||||
define('DS', DIRECTORY_SEPARATOR);
|
define('DS', DIRECTORY_SEPARATOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* These defines should only be edited if you have cake installed in
|
* These defines should only be edited if you have cake installed in
|
||||||
* a directory layout other than the way it is distributed.
|
* a directory layout other than the way it is distributed.
|
||||||
|
@ -37,6 +38,7 @@ ini_set('display_errors', 1);
|
||||||
if (!defined('ROOT')) {
|
if (!defined('ROOT')) {
|
||||||
define('ROOT', dirname(dirname(dirname(__FILE__))));
|
define('ROOT', dirname(dirname(dirname(__FILE__))));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The actual directory name for the "app".
|
* The actual directory name for the "app".
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,6 +18,14 @@
|
||||||
* @since CakePHP(tm) v 2.0
|
* @since CakePHP(tm) v 2.0
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error Handling Controller
|
||||||
|
*
|
||||||
|
* Controller used by ErrorHandler to render error views.
|
||||||
|
*
|
||||||
|
* @package Cake.Controller
|
||||||
|
*/
|
||||||
class CakeErrorController extends AppController {
|
class CakeErrorController extends AppController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -100,6 +100,7 @@ class DigestAuthenticate extends BaseAuthenticate {
|
||||||
$this->settings['opaque'] = md5($this->settings['realm']);
|
$this->settings['opaque'] = md5($this->settings['realm']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Authenticate a user using Digest HTTP auth. Will use the configured User model and attempt a
|
* Authenticate a user using Digest HTTP auth. Will use the configured User model and attempt a
|
||||||
* login using Digest HTTP auth.
|
* login using Digest HTTP auth.
|
||||||
|
@ -142,6 +143,7 @@ class DigestAuthenticate extends BaseAuthenticate {
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find a user record using the standard options.
|
* Find a user record using the standard options.
|
||||||
*
|
*
|
||||||
|
|
|
@ -22,7 +22,11 @@
|
||||||
App::uses('Xml', 'Utility');
|
App::uses('Xml', 'Utility');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Request object for handling HTTP requests
|
* Request object for handling alternative HTTP requests
|
||||||
|
*
|
||||||
|
* Alternative HTTP requests can come from wireless units like mobile phones, palmtop computers,
|
||||||
|
* and the like. These units have no use for Ajax requests, and this Component can tell how Cake
|
||||||
|
* should respond to the different needs of a handheld computer and a desktop machine.
|
||||||
*
|
*
|
||||||
* @package Cake.Controller.Component
|
* @package Cake.Controller.Component
|
||||||
* @link http://book.cakephp.org/2.0/en/core-libraries/components/request-handling.html
|
* @link http://book.cakephp.org/2.0/en/core-libraries/components/request-handling.html
|
||||||
|
|
|
@ -22,7 +22,14 @@ App::uses('String', 'Utility');
|
||||||
App::uses('Security', 'Utility');
|
App::uses('Security', 'Utility');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SecurityComponent
|
* The Security Component creates an easy way to integrate tighter security in
|
||||||
|
* your application. It provides methods for various tasks like:
|
||||||
|
*
|
||||||
|
* - Restricting which HTTP methods your application accepts.
|
||||||
|
* - CSRF protection.
|
||||||
|
* - Form tampering protection
|
||||||
|
* - Requiring that SSL be used.
|
||||||
|
* - Limiting cross controller communication.
|
||||||
*
|
*
|
||||||
* @package Cake.Controller.Component
|
* @package Cake.Controller.Component
|
||||||
* @link http://book.cakephp.org/2.0/en/core-libraries/components/security-component.html
|
* @link http://book.cakephp.org/2.0/en/core-libraries/components/security-component.html
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* SessionComponent. Provides access to Sessions from the Controller layer
|
* SessionComponent. Provides access to Sessions from the Controller layer
|
||||||
*
|
*
|
||||||
* PHP 5
|
* PHP 5
|
||||||
*
|
*
|
||||||
|
@ -21,9 +21,9 @@ App::uses('Component', 'Controller');
|
||||||
App::uses('CakeSession', 'Model/Datasource');
|
App::uses('CakeSession', 'Model/Datasource');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Session Component.
|
* The CakePHP SessionComponent provides a way to persist client data between
|
||||||
*
|
* page requests. It acts as a wrapper for the `$_SESSION` as well as providing
|
||||||
* Session handling from the controller.
|
* convenience methods for several `$_SESSION` related functions.
|
||||||
*
|
*
|
||||||
* @package Cake.Controller.Component
|
* @package Cake.Controller.Component
|
||||||
* @link http://book.cakephp.org/2.0/en/core-libraries/components/sessions.html
|
* @link http://book.cakephp.org/2.0/en/core-libraries/components/sessions.html
|
||||||
|
|
|
@ -19,6 +19,12 @@
|
||||||
App::uses('ObjectCollection', 'Utility');
|
App::uses('ObjectCollection', 'Utility');
|
||||||
App::uses('Component', 'Controller');
|
App::uses('Component', 'Controller');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Components collection is used as a registry for loaded components and handles loading
|
||||||
|
* and constructing component class objects.
|
||||||
|
*
|
||||||
|
* @package Cake.Controller
|
||||||
|
*/
|
||||||
class ComponentCollection extends ObjectCollection {
|
class ComponentCollection extends ObjectCollection {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -18,7 +18,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CakePlugin class
|
* CakePlugin is responsible for loading and unloading plugins. It also can
|
||||||
|
* retrieve plugin paths and load their bootstrap and routes files.
|
||||||
*
|
*
|
||||||
* @package Cake.Core
|
* @package Cake.Core
|
||||||
* @link http://book.cakephp.org/2.0/en/plugins.html
|
* @link http://book.cakephp.org/2.0/en/plugins.html
|
||||||
|
|
|
@ -152,9 +152,7 @@ class Object {
|
||||||
* @return boolean Success of log write
|
* @return boolean Success of log write
|
||||||
*/
|
*/
|
||||||
public function log($msg, $type = LOG_ERROR) {
|
public function log($msg, $type = LOG_ERROR) {
|
||||||
if (!class_exists('CakeLog')) {
|
App::uses('CakeLog', 'Log');
|
||||||
require CAKE . 'cake_log.php';
|
|
||||||
}
|
|
||||||
if (!is_string($msg)) {
|
if (!is_string($msg)) {
|
||||||
$msg = print_r($msg, true);
|
$msg = print_r($msg, true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -224,7 +224,7 @@ class ExceptionRenderer {
|
||||||
public function error500($error) {
|
public function error500($error) {
|
||||||
$message = $error->getMessage();
|
$message = $error->getMessage();
|
||||||
if (Configure::read('debug') == 0) {
|
if (Configure::read('debug') == 0) {
|
||||||
$message = __d('cake', 'An Internal Error Has Occurred');
|
$message = __d('cake', 'An Internal Error Has Occurred.');
|
||||||
}
|
}
|
||||||
$url = $this->controller->request->here();
|
$url = $this->controller->request->here();
|
||||||
$code = ($error->getCode() > 500 && $error->getCode() < 506) ? $error->getCode() : 500;
|
$code = ($error->getCode() > 500 && $error->getCode() < 506) ? $error->getCode() : 500;
|
||||||
|
|
|
@ -226,6 +226,7 @@ class MissingActionException extends CakeException {
|
||||||
parent::__construct($message, $code);
|
parent::__construct($message, $code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Private Action exception - used when a controller action
|
* Private Action exception - used when a controller action
|
||||||
* starts with a `_`.
|
* starts with a `_`.
|
||||||
|
|
|
@ -96,7 +96,7 @@ class I18n {
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
protected function __construct() {
|
public function __construct() {
|
||||||
$this->l10n = new L10n();
|
$this->l10n = new L10n();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,15 +16,11 @@
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* Load Model and AppModel
|
|
||||||
*/
|
|
||||||
App::uses('AppModel', 'Model');
|
App::uses('AppModel', 'Model');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ACL Node
|
* ACL Node
|
||||||
*
|
*
|
||||||
*
|
|
||||||
* @package Cake.Model
|
* @package Cake.Model
|
||||||
*/
|
*/
|
||||||
class AclNode extends AppModel {
|
class AclNode extends AppModel {
|
||||||
|
|
|
@ -16,9 +16,6 @@
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* Load Model and AppModel
|
|
||||||
*/
|
|
||||||
App::uses('AppModel', 'Model');
|
App::uses('AppModel', 'Model');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -16,9 +16,6 @@
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* Load Model and AppModel
|
|
||||||
*/
|
|
||||||
App::uses('AppModel', 'Model');
|
App::uses('AppModel', 'Model');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -16,9 +16,6 @@
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* Load Model and AppModel
|
|
||||||
*/
|
|
||||||
App::uses('AppModel', 'Model');
|
App::uses('AppModel', 'Model');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -23,6 +23,8 @@ App::uses('AclNode', 'Model');
|
||||||
/**
|
/**
|
||||||
* ACL behavior
|
* ACL behavior
|
||||||
*
|
*
|
||||||
|
* Enables objects to easily tie into an ACL system
|
||||||
|
*
|
||||||
* @package Cake.Model.Behavior
|
* @package Cake.Model.Behavior
|
||||||
* @link http://book.cakephp.org/2.0/en/core-libraries/behaviors/acl.html
|
* @link http://book.cakephp.org/2.0/en/core-libraries/behaviors/acl.html
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -20,8 +20,9 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Behavior to allow for dynamic and atomic manipulation of a Model's associations used for a find call. Most useful for limiting
|
* Behavior to allow for dynamic and atomic manipulation of a Model's associations
|
||||||
* the amount of associations and data returned.
|
* used for a find call. Most useful for limiting the amount of associations and
|
||||||
|
* data returned.
|
||||||
*
|
*
|
||||||
* @package Cake.Model.Behavior
|
* @package Cake.Model.Behavior
|
||||||
* @link http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html
|
* @link http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
* @since CakePHP(tm) v 1.2.0.5550
|
* @since CakePHP(tm) v 1.2.0.5550
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
App::uses('Model', 'Model');
|
App::uses('Model', 'Model');
|
||||||
App::uses('AppModel', 'Model');
|
App::uses('AppModel', 'Model');
|
||||||
App::uses('ConnectionManager', 'Model');
|
App::uses('ConnectionManager', 'Model');
|
||||||
|
@ -247,7 +248,12 @@ class CakeSchema extends Object {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$Object = ClassRegistry::init(array('class' => $model, 'ds' => $connection));
|
try {
|
||||||
|
$Object = ClassRegistry::init(array('class' => $model, 'ds' => $connection));
|
||||||
|
} catch (CakeException $e) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$db = $Object->getDataSource();
|
$db = $Object->getDataSource();
|
||||||
if (is_object($Object) && $Object->useTable !== false) {
|
if (is_object($Object) && $Object->useTable !== false) {
|
||||||
$fulltable = $table = $db->fullTableName($Object, false, false);
|
$fulltable = $table = $db->fullTableName($Object, false, false);
|
||||||
|
|
|
@ -24,6 +24,9 @@ App::uses('DataSource', 'Model/Datasource');
|
||||||
/**
|
/**
|
||||||
* Manages loaded instances of DataSource objects
|
* Manages loaded instances of DataSource objects
|
||||||
*
|
*
|
||||||
|
* Provides an interface for loading and enumerating connections defined in
|
||||||
|
* app/Config/database.php
|
||||||
|
*
|
||||||
* @package Cake.Model
|
* @package Cake.Model
|
||||||
*/
|
*/
|
||||||
class ConnectionManager {
|
class ConnectionManager {
|
||||||
|
|
|
@ -22,8 +22,6 @@ App::uses('DboSource', 'Model/Datasource');
|
||||||
/**
|
/**
|
||||||
* PostgreSQL layer for DBO.
|
* PostgreSQL layer for DBO.
|
||||||
*
|
*
|
||||||
* Long description for class
|
|
||||||
*
|
|
||||||
* @package Cake.Model.Datasource.Database
|
* @package Cake.Model.Datasource.Database
|
||||||
*/
|
*/
|
||||||
class Postgres extends DboSource {
|
class Postgres extends DboSource {
|
||||||
|
@ -297,12 +295,12 @@ class Postgres extends DboSource {
|
||||||
*
|
*
|
||||||
* @param mixed $table A string or model class representing the table to be truncated
|
* @param mixed $table A string or model class representing the table to be truncated
|
||||||
* @param boolean $reset true for resetting the sequence, false to leave it as is.
|
* @param boolean $reset true for resetting the sequence, false to leave it as is.
|
||||||
* and if 1, sequences are not modified
|
* and if 1, sequences are not modified
|
||||||
* @return boolean SQL TRUNCATE TABLE statement, false if not applicable.
|
* @return boolean SQL TRUNCATE TABLE statement, false if not applicable.
|
||||||
*/
|
*/
|
||||||
public function truncate($table, $reset = 0) {
|
public function truncate($table, $reset = false) {
|
||||||
$table = $this->fullTableName($table, false, false);
|
$fullTable = $this->fullTableName($table, false);
|
||||||
if (!isset($this->_sequenceMap[$table])) {
|
if (!isset($this->_sequenceMap[$fullTable])) {
|
||||||
$cache = $this->cacheSources;
|
$cache = $this->cacheSources;
|
||||||
$this->cacheSources = false;
|
$this->cacheSources = false;
|
||||||
$this->describe($table);
|
$this->describe($table);
|
||||||
|
@ -310,9 +308,8 @@ class Postgres extends DboSource {
|
||||||
}
|
}
|
||||||
if ($this->execute('DELETE FROM ' . $this->fullTableName($table))) {
|
if ($this->execute('DELETE FROM ' . $this->fullTableName($table))) {
|
||||||
$schema = $this->config['schema'];
|
$schema = $this->config['schema'];
|
||||||
$table = $this->fullTableName($table, false, false);
|
if (isset($this->_sequenceMap[$fullTable]) && $reset != true) {
|
||||||
if (isset($this->_sequenceMap[$table]) && $reset !== 1) {
|
foreach ($this->_sequenceMap[$fullTable] as $field => $sequence) {
|
||||||
foreach ($this->_sequenceMap[$table] as $field => $sequence) {
|
|
||||||
$this->_execute("ALTER SEQUENCE \"{$schema}\".\"{$sequence}\" RESTART WITH 1");
|
$this->_execute("ALTER SEQUENCE \"{$schema}\".\"{$sequence}\" RESTART WITH 1");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -585,6 +585,7 @@ class Sqlserver extends DboSource {
|
||||||
return parent::value($data, $column);
|
return parent::value($data, $column);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an array of all result rows for a given SQL query.
|
* Returns an array of all result rows for a given SQL query.
|
||||||
* Returns false if no rows matched.
|
* Returns false if no rows matched.
|
||||||
|
@ -742,6 +743,7 @@ class Sqlserver extends DboSource {
|
||||||
}
|
}
|
||||||
return $affected;
|
return $affected;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Executes given SQL statement.
|
* Executes given SQL statement.
|
||||||
*
|
*
|
||||||
|
|
|
@ -19,9 +19,6 @@
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* Included libs
|
|
||||||
*/
|
|
||||||
App::uses('ClassRegistry', 'Utility');
|
App::uses('ClassRegistry', 'Utility');
|
||||||
App::uses('Validation', 'Utility');
|
App::uses('Validation', 'Utility');
|
||||||
App::uses('String', 'Utility');
|
App::uses('String', 'Utility');
|
||||||
|
@ -709,6 +706,11 @@ class Model extends Object {
|
||||||
} elseif ($this->table === false) {
|
} elseif ($this->table === false) {
|
||||||
$this->table = Inflector::tableize($this->name);
|
$this->table = Inflector::tableize($this->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($this->tablePrefix === null) {
|
||||||
|
unset($this->tablePrefix);
|
||||||
|
}
|
||||||
|
|
||||||
$this->_createLinks();
|
$this->_createLinks();
|
||||||
$this->Behaviors->init($this->alias, $this->actsAs);
|
$this->Behaviors->init($this->alias, $this->actsAs);
|
||||||
}
|
}
|
||||||
|
@ -808,6 +810,13 @@ class Model extends Object {
|
||||||
if ($name === 'displayField') {
|
if ($name === 'displayField') {
|
||||||
return $this->displayField = $this->hasField(array('title', 'name', $this->primaryKey));
|
return $this->displayField = $this->hasField(array('title', 'name', $this->primaryKey));
|
||||||
}
|
}
|
||||||
|
if ($name === 'tablePrefix') {
|
||||||
|
$this->setDataSource();
|
||||||
|
if (property_exists($this, 'tablePrefix')) {
|
||||||
|
return $this->tablePrefix;
|
||||||
|
}
|
||||||
|
return $this->tablePrefix = null;
|
||||||
|
}
|
||||||
if (isset($this->{$name})) {
|
if (isset($this->{$name})) {
|
||||||
return $this->{$name};
|
return $this->{$name};
|
||||||
}
|
}
|
||||||
|
@ -1193,12 +1202,14 @@ class Model extends Object {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$format = $this->getDataSource()->columns[$type]['format'];
|
|
||||||
$day = empty($date['Y']) ? null : $date['Y'] . '-' . $date['m'] . '-' . $date['d'] . ' ';
|
|
||||||
$hour = empty($date['H']) ? null : $date['H'] . ':' . $date['i'] . ':' . $date['s'];
|
|
||||||
$date = new DateTime($day . $hour);
|
|
||||||
if ($useNewDate && !empty($date)) {
|
if ($useNewDate && !empty($date)) {
|
||||||
return $date->format($format);
|
$format = $this->getDataSource()->columns[$type]['format'];
|
||||||
|
foreach (array('m', 'd', 'H', 'i', 's') as $index) {
|
||||||
|
if (isset($date[$index])) {
|
||||||
|
$date[$index] = sprintf('%02d', $date[$index]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return str_replace(array_keys($date), array_values($date), $format);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $data;
|
return $data;
|
||||||
|
@ -3090,6 +3101,7 @@ class Model extends Object {
|
||||||
}
|
}
|
||||||
return $valid;
|
return $valid;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Marks a field as invalid, optionally setting the name of validation
|
* Marks a field as invalid, optionally setting the name of validation
|
||||||
* rule (in case of multiple validation for field) that was broken.
|
* rule (in case of multiple validation for field) that was broken.
|
||||||
|
|
|
@ -16,9 +16,6 @@
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* Load Model and AppModel
|
|
||||||
*/
|
|
||||||
App::uses('AppModel', 'Model');
|
App::uses('AppModel', 'Model');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -223,7 +223,7 @@ class CakeRequest implements ArrayAccess {
|
||||||
$uri = substr($uri, strlen($base));
|
$uri = substr($uri, strlen($base));
|
||||||
}
|
}
|
||||||
if (strpos($uri, '?') !== false) {
|
if (strpos($uri, '?') !== false) {
|
||||||
$uri = parse_url($uri, PHP_URL_PATH);
|
list($uri) = explode('?', $uri, 2);
|
||||||
}
|
}
|
||||||
if (empty($uri) || $uri == '/' || $uri == '//') {
|
if (empty($uri) || $uri == '/' || $uri == '//') {
|
||||||
return '/';
|
return '/';
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
* @since CakePHP(tm) v 1.2.0
|
* @since CakePHP(tm) v 1.2.0
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
App::uses('Validation', 'Utility');
|
App::uses('Validation', 'Utility');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract class
|
* Abstract transport for sending email
|
||||||
*
|
*
|
||||||
* @package Cake.Network.Email
|
* @package Cake.Network.Email
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
* @since CakePHP(tm) v 2.0.0
|
* @since CakePHP(tm) v 2.0.0
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
App::uses('Validation', 'Utility');
|
App::uses('Validation', 'Utility');
|
||||||
App::uses('Multibyte', 'I18n');
|
App::uses('Multibyte', 'I18n');
|
||||||
App::uses('AbstractTransport', 'Network/Email');
|
App::uses('AbstractTransport', 'Network/Email');
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mail class
|
* Send mail using mail() function
|
||||||
*
|
*
|
||||||
* @package Cake.Network.Email
|
* @package Cake.Network.Email
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -16,10 +16,11 @@
|
||||||
* @since CakePHP(tm) v 2.0.0
|
* @since CakePHP(tm) v 2.0.0
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
App::uses('CakeSocket', 'Network');
|
App::uses('CakeSocket', 'Network');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SendEmail class
|
* Send mail using SMTP protocol
|
||||||
*
|
*
|
||||||
* @package Cake.Network.Email
|
* @package Cake.Network.Email
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* HTTP Response
|
* HTTP Response from HttpSocket.
|
||||||
*
|
*
|
||||||
* @package Cake.Network.Http
|
* @package Cake.Network.Http
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -159,7 +159,30 @@ class HttpSocket extends CakeSocket {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set authentication settings
|
* Set authentication settings.
|
||||||
|
*
|
||||||
|
* Accepts two forms of parameters. If all you need is a username + password, as with
|
||||||
|
* Basic authentication you can do the following:
|
||||||
|
*
|
||||||
|
* {{{
|
||||||
|
* $http->configAuth('Basic', 'mark', 'secret');
|
||||||
|
* }}}
|
||||||
|
*
|
||||||
|
* If you are using an authentication strategy that requires more inputs, like Digest authentication
|
||||||
|
* you can call `configAuth()` with an array of user information.
|
||||||
|
*
|
||||||
|
* {{{
|
||||||
|
* $http->configAuth('Digest', array(
|
||||||
|
* 'user' => 'mark',
|
||||||
|
* 'pass' => 'secret',
|
||||||
|
* 'realm' => 'my-realm',
|
||||||
|
* 'nonce' => 1235
|
||||||
|
* ));
|
||||||
|
* }}}
|
||||||
|
*
|
||||||
|
* To remove any set authentication strategy, call `configAuth()` with no parameters:
|
||||||
|
*
|
||||||
|
* `$http->configAuth();`
|
||||||
*
|
*
|
||||||
* @param string $method Authentication method (ie. Basic, Digest). If empty, disable authentication
|
* @param string $method Authentication method (ie. Basic, Digest). If empty, disable authentication
|
||||||
* @param mixed $user Username for authentication. Can be an array with settings to authentication class
|
* @param mixed $user Username for authentication. Can be an array with settings to authentication class
|
||||||
|
@ -275,17 +298,17 @@ class HttpSocket extends CakeSocket {
|
||||||
if (!empty($this->request['cookies'])) {
|
if (!empty($this->request['cookies'])) {
|
||||||
$cookies = $this->buildCookies($this->request['cookies']);
|
$cookies = $this->buildCookies($this->request['cookies']);
|
||||||
}
|
}
|
||||||
$schema = '';
|
$scheme = '';
|
||||||
$port = 0;
|
$port = 0;
|
||||||
if (isset($this->request['uri']['schema'])) {
|
if (isset($this->request['uri']['scheme'])) {
|
||||||
$schema = $this->request['uri']['schema'];
|
$scheme = $this->request['uri']['scheme'];
|
||||||
}
|
}
|
||||||
if (isset($this->request['uri']['port'])) {
|
if (isset($this->request['uri']['port'])) {
|
||||||
$port = $this->request['uri']['port'];
|
$port = $this->request['uri']['port'];
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
($schema === 'http' && $port != 80) ||
|
($scheme === 'http' && $port != 80) ||
|
||||||
($schema === 'https' && $port != 443) ||
|
($scheme === 'https' && $port != 443) ||
|
||||||
($port != 80 && $port != 443)
|
($port != 80 && $port != 443)
|
||||||
) {
|
) {
|
||||||
$Host .= ':' . $port;
|
$Host .= ':' . $port;
|
||||||
|
|
|
@ -20,9 +20,6 @@
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* List of helpers to include
|
|
||||||
*/
|
|
||||||
App::uses('Router', 'Routing');
|
App::uses('Router', 'Routing');
|
||||||
App::uses('CakeRequest', 'Network');
|
App::uses('CakeRequest', 'Network');
|
||||||
App::uses('CakeResponse', 'Network');
|
App::uses('CakeResponse', 'Network');
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
* @since CakePHP(tm) v 1.3
|
* @since CakePHP(tm) v 1.3
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
App::uses('Set', 'Utility');
|
App::uses('Set', 'Utility');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,11 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
App::uses('CakeRoute', 'Routing/Route');
|
|
||||||
/**
|
/**
|
||||||
* Plugin short route, that copies the plugin param to the controller parameters
|
|
||||||
* It is used for supporting /:plugin routes.
|
|
||||||
*
|
|
||||||
* PHP5
|
|
||||||
*
|
|
||||||
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
|
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
|
||||||
* Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
* Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||||
*
|
*
|
||||||
|
@ -14,14 +8,22 @@ App::uses('CakeRoute', 'Routing/Route');
|
||||||
*
|
*
|
||||||
* @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
* @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||||
* @link http://cakephp.org CakePHP(tm) Project
|
* @link http://cakephp.org CakePHP(tm) Project
|
||||||
* @package Cake.Routing.Route
|
|
||||||
* @since CakePHP(tm) v 1.3
|
* @since CakePHP(tm) v 1.3
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
App::uses('CakeRoute', 'Routing/Route');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Plugin short route, that copies the plugin param to the controller parameters
|
||||||
|
* It is used for supporting /:plugin routes.
|
||||||
|
*
|
||||||
|
* @package Cake.Routing.Route
|
||||||
|
*/
|
||||||
class PluginShortRoute extends CakeRoute {
|
class PluginShortRoute extends CakeRoute {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses a string url into an array. If a plugin key is found, it will be copied to the
|
* Parses a string url into an array. If a plugin key is found, it will be copied to the
|
||||||
* controller parameter
|
* controller parameter
|
||||||
*
|
*
|
||||||
* @param string $url The url to parse
|
* @param string $url The url to parse
|
||||||
|
@ -37,7 +39,7 @@ class PluginShortRoute extends CakeRoute {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reverse route plugin shortcut urls. If the plugin and controller
|
* Reverse route plugin shortcut urls. If the plugin and controller
|
||||||
* are not the same the match is an auto fail.
|
* are not the same the match is an auto fail.
|
||||||
*
|
*
|
||||||
* @param array $url Array of parameters to convert to a string.
|
* @param array $url Array of parameters to convert to a string.
|
||||||
|
|
|
@ -1,14 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
App::uses('CakeResponse', 'Network');
|
|
||||||
App::uses('CakeRoute', 'Routing/Route');
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Redirect route will perform an immediate redirect. Redirect routes
|
|
||||||
* are useful when you want to have Routing layer redirects occur in your
|
|
||||||
* application, for when URLs move.
|
|
||||||
*
|
|
||||||
* PHP5
|
|
||||||
*
|
|
||||||
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
|
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
|
||||||
* Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
* Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||||
*
|
*
|
||||||
|
@ -21,6 +12,17 @@ App::uses('CakeRoute', 'Routing/Route');
|
||||||
* @since CakePHP(tm) v 2.0
|
* @since CakePHP(tm) v 2.0
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
App::uses('CakeResponse', 'Network');
|
||||||
|
App::uses('CakeRoute', 'Routing/Route');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Redirect route will perform an immediate redirect. Redirect routes
|
||||||
|
* are useful when you want to have Routing layer redirects occur in your
|
||||||
|
* application, for when URLs move.
|
||||||
|
*
|
||||||
|
* @package Cake.Routing.Route
|
||||||
|
*/
|
||||||
class RedirectRoute extends CakeRoute {
|
class RedirectRoute extends CakeRoute {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -31,7 +33,7 @@ class RedirectRoute extends CakeRoute {
|
||||||
public $response = null;
|
public $response = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The location to redirect to. Either a string or a cake array url.
|
* The location to redirect to. Either a string or a cake array url.
|
||||||
*
|
*
|
||||||
* @var mixed
|
* @var mixed
|
||||||
*/
|
*/
|
||||||
|
@ -100,7 +102,7 @@ class RedirectRoute extends CakeRoute {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stop execution of the current script. Wraps exit() making
|
* Stop execution of the current script. Wraps exit() making
|
||||||
* testing easier.
|
* testing easier.
|
||||||
*
|
*
|
||||||
* @param integer|string $status see http://php.net/exit for values
|
* @param integer|string $status see http://php.net/exit for values
|
||||||
|
|
|
@ -80,6 +80,7 @@ class BasicsTest extends CakeTestCase {
|
||||||
$this->assertEquals($result, array());
|
$this->assertEquals($result, array());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* testHttpBase method
|
* testHttpBase method
|
||||||
*
|
*
|
||||||
|
|
|
@ -45,7 +45,7 @@ class FileEngineTest extends CakeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown method
|
* tearDown method
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -364,6 +364,7 @@ class MemcacheEngineTest extends CakeTestCase {
|
||||||
|
|
||||||
Cache::clear(false, 'memcache2');
|
Cache::clear(false, 'memcache2');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test that a 0 duration can succesfully write.
|
* test that a 0 duration can succesfully write.
|
||||||
*
|
*
|
||||||
|
|
|
@ -32,8 +32,8 @@ class IniReaderTest extends CakeTestCase {
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setup() {
|
public function setUp() {
|
||||||
parent::setup();
|
parent::setUp();
|
||||||
$this->path = CAKE . 'Test' . DS . 'test_app' . DS . 'Config'. DS;
|
$this->path = CAKE . 'Test' . DS . 'test_app' . DS . 'Config'. DS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@ class PhpReaderTest extends CakeTestCase {
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
$this->path = CAKE . 'Test' . DS . 'test_app' . DS . 'Config'. DS;
|
$this->path = CAKE . 'Test' . DS . 'test_app' . DS . 'Config'. DS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test reading files
|
* test reading files
|
||||||
*
|
*
|
||||||
|
|
|
@ -37,11 +37,12 @@ class AclShellTest extends CakeTestCase {
|
||||||
public $fixtures = array('core.aco', 'core.aro', 'core.aros_aco');
|
public $fixtures = array('core.aco', 'core.aro', 'core.aros_aco');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setup method
|
* setUp method
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setUp() {
|
public function setUp() {
|
||||||
|
parent::setUp();
|
||||||
Configure::write('Acl.database', 'test');
|
Configure::write('Acl.database', 'test');
|
||||||
Configure::write('Acl.classname', 'DbAcl');
|
Configure::write('Acl.classname', 'DbAcl');
|
||||||
|
|
||||||
|
|
|
@ -59,7 +59,7 @@ class BakeShellTest extends CakeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown method
|
* tearDown method
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -60,7 +60,7 @@ class CommandListShellTest extends CakeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown
|
* tearDown
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -97,7 +97,7 @@ class SchemaShellTest extends CakeTestCase {
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setup method
|
* setUp method
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -64,6 +64,7 @@ class ControllerTaskTest extends CakeTestCase {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setUp() {
|
public function setUp() {
|
||||||
|
parent::setUp();
|
||||||
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
||||||
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
||||||
$this->Task = $this->getMock('ControllerTask',
|
$this->Task = $this->getMock('ControllerTask',
|
||||||
|
@ -86,14 +87,15 @@ class ControllerTaskTest extends CakeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown method
|
* tearDown method
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function teardown() {
|
public function tearDown() {
|
||||||
unset($this->Task);
|
unset($this->Task);
|
||||||
ClassRegistry::flush();
|
ClassRegistry::flush();
|
||||||
App::build();
|
App::build();
|
||||||
|
parent::tearDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -31,7 +31,7 @@ App::uses('DbConfigTask', 'Console/Command/Task');
|
||||||
class DbConfigTaskTest extends CakeTestCase {
|
class DbConfigTaskTest extends CakeTestCase {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setup method
|
* setUp method
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -95,7 +95,7 @@ class ModelTaskTest extends CakeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown method
|
* tearDown method
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
@ -205,7 +205,7 @@ class ModelTaskTest extends CakeTestCase {
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function testGetTableOddTable() {
|
public function testGetTableOddTableInteractive() {
|
||||||
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
||||||
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
||||||
$this->Task = $this->getMock('ModelTask',
|
$this->Task = $this->getMock('ModelTask',
|
||||||
|
@ -233,6 +233,34 @@ class ModelTaskTest extends CakeTestCase {
|
||||||
$this->assertEquals($expected, $result);
|
$this->assertEquals($expected, $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test getTable with non-conventional tablenames
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function testGetTableOddTable() {
|
||||||
|
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
||||||
|
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
||||||
|
$this->Task = $this->getMock('ModelTask',
|
||||||
|
array('in', 'err', '_stop', '_checkUnitTest', 'getAllTables'),
|
||||||
|
array($out, $out, $in)
|
||||||
|
);
|
||||||
|
$this->_setupOtherMocks();
|
||||||
|
|
||||||
|
$this->Task->connection = 'test';
|
||||||
|
$this->Task->path = '/my/path/';
|
||||||
|
$this->Task->interactive = false;
|
||||||
|
$this->Task->args = array('BakeOdd');
|
||||||
|
|
||||||
|
$this->Task->expects($this->once())->method('getAllTables')->will($this->returnValue(array('articles', 'bake_odd')));
|
||||||
|
|
||||||
|
$this->Task->listAll();
|
||||||
|
|
||||||
|
$result = $this->Task->getTable('BakeOdd');
|
||||||
|
$expected = 'bake_odd';
|
||||||
|
$this->assertEquals($expected, $result);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test that initializing the validations works.
|
* test that initializing the validations works.
|
||||||
*
|
*
|
||||||
|
@ -970,6 +998,61 @@ STRINGEND;
|
||||||
$this->Task->execute();
|
$this->Task->execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test that odd tablenames arent inflected back from modelname
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function testExecuteIntoBakeOddTables() {
|
||||||
|
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
||||||
|
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
||||||
|
$this->Task = $this->getMock('ModelTask',
|
||||||
|
array('in', 'err', '_stop', '_checkUnitTest', 'getAllTables', '_getModelObject', 'bake', 'bakeFixture'),
|
||||||
|
array($out, $out, $in)
|
||||||
|
);
|
||||||
|
$this->_setupOtherMocks();
|
||||||
|
|
||||||
|
$this->Task->connection = 'test';
|
||||||
|
$this->Task->path = '/my/path/';
|
||||||
|
$this->Task->args = array('BakeOdd');
|
||||||
|
$this->Task->expects($this->once())->method('_checkUnitTest')->will($this->returnValue(true));
|
||||||
|
$this->Task->expects($this->once())->method('getAllTables')->will($this->returnValue(array('articles', 'bake_odd')));
|
||||||
|
$object = new Model(array('name' => 'BakeOdd', 'table' => 'bake_odd', 'ds' => 'test'));
|
||||||
|
$this->Task->expects($this->once())->method('_getModelObject')->with('BakeOdd', 'bake_odd')->will($this->returnValue($object));
|
||||||
|
$this->Task->expects($this->once())->method('bake')->with($object, false)->will($this->returnValue(true));
|
||||||
|
$this->Task->expects($this->once())->method('bakeFixture')->with('BakeOdd', 'bake_odd');
|
||||||
|
|
||||||
|
$this->Task->execute();
|
||||||
|
|
||||||
|
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
||||||
|
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
||||||
|
$this->Task = $this->getMock('ModelTask',
|
||||||
|
array('in', 'err', '_stop', '_checkUnitTest', 'getAllTables', '_getModelObject', 'doAssociations', 'doValidation', 'createFile'),
|
||||||
|
array($out, $out, $in)
|
||||||
|
);
|
||||||
|
$this->_setupOtherMocks();
|
||||||
|
|
||||||
|
$this->Task->connection = 'test';
|
||||||
|
$this->Task->path = '/my/path/';
|
||||||
|
$this->Task->args = array('BakeOdd');
|
||||||
|
$this->Task->expects($this->once())->method('_checkUnitTest')->will($this->returnValue(true));
|
||||||
|
$this->Task->expects($this->once())->method('getAllTables')->will($this->returnValue(array('articles', 'bake_odd')));
|
||||||
|
$object = new Model(array('name' => 'BakeOdd', 'table' => 'bake_odd', 'ds' => 'test'));
|
||||||
|
$this->Task->expects($this->once())->method('_getModelObject')->will($this->returnValue($object));
|
||||||
|
$this->Task->expects($this->once())->method('doAssociations')->will($this->returnValue(array()));
|
||||||
|
$this->Task->expects($this->once())->method('doValidation')->will($this->returnValue(array()));
|
||||||
|
|
||||||
|
$filename = '/my/path/BakeOdd.php';
|
||||||
|
$this->Task->expects($this->once())->method('createFile')
|
||||||
|
->with($filename, $this->stringContains('class BakeOdd'));
|
||||||
|
|
||||||
|
$filename = '/my/path/BakeOdd.php';
|
||||||
|
$this->Task->expects($this->once())->method('createFile')
|
||||||
|
->with($filename, $this->stringContains('public $useTable = \'bake_odd\''));
|
||||||
|
|
||||||
|
$this->Task->execute();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test that skipTables changes how all() works.
|
* test that skipTables changes how all() works.
|
||||||
*
|
*
|
||||||
|
|
|
@ -36,7 +36,7 @@ App::uses('File', 'Utility');
|
||||||
class PluginTaskTest extends CakeTestCase {
|
class PluginTaskTest extends CakeTestCase {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setup method
|
* setUp method
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -35,7 +35,7 @@ App::uses('File', 'Utility');
|
||||||
class ProjectTaskTest extends CakeTestCase {
|
class ProjectTaskTest extends CakeTestCase {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setup method
|
* setUp method
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
@ -52,7 +52,7 @@ class ProjectTaskTest extends CakeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown method
|
* tearDown method
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -19,12 +19,12 @@
|
||||||
* @since CakePHP(tm) v 1.3
|
* @since CakePHP(tm) v 1.3
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
App::uses('ShellDispatcher', 'Console');
|
App::uses('ShellDispatcher', 'Console');
|
||||||
App::uses('ConsoleOutput', 'Console');
|
App::uses('ConsoleOutput', 'Console');
|
||||||
App::uses('ConsoleInput', 'Console');
|
App::uses('ConsoleInput', 'Console');
|
||||||
App::uses('Shell', 'Console');
|
App::uses('Shell', 'Console');
|
||||||
App::uses('TemplateTask', 'Console/Command/Task');
|
App::uses('TemplateTask', 'Console/Command/Task');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TemplateTaskTest class
|
* TemplateTaskTest class
|
||||||
*
|
*
|
||||||
|
@ -33,11 +33,11 @@ App::uses('TemplateTask', 'Console/Command/Task');
|
||||||
class TemplateTaskTest extends CakeTestCase {
|
class TemplateTaskTest extends CakeTestCase {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setup method
|
* setUp method
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setup() {
|
public function setUp() {
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
||||||
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
||||||
|
@ -49,7 +49,7 @@ class TemplateTaskTest extends CakeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown method
|
* tearDown method
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -220,12 +220,12 @@ class TestTaskTest extends CakeTestCase {
|
||||||
public $fixtures = array('core.article', 'core.comment', 'core.articles_tag', 'core.tag');
|
public $fixtures = array('core.article', 'core.comment', 'core.articles_tag', 'core.tag');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setup method
|
* setUp method
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setup() {
|
public function setUp() {
|
||||||
parent::setup();
|
parent::setUp();
|
||||||
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
||||||
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ class ConsoleErrorHandlerTest extends CakeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown
|
* tearDown
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -422,6 +422,8 @@ class ShellDispatcherTest extends CakeTestCase {
|
||||||
$Dispatcher = new TestShellDispatcher();
|
$Dispatcher = new TestShellDispatcher();
|
||||||
$result = $Dispatcher->getShell('test_plugin.example');
|
$result = $Dispatcher->getShell('test_plugin.example');
|
||||||
$this->assertInstanceOf('ExampleShell', $result);
|
$this->assertInstanceOf('ExampleShell', $result);
|
||||||
|
$this->assertEquals('TestPlugin', $result->plugin);
|
||||||
|
$this->assertEquals('Example', $result->name);
|
||||||
|
|
||||||
$Dispatcher = new TestShellDispatcher();
|
$Dispatcher = new TestShellDispatcher();
|
||||||
$result = $Dispatcher->getShell('TestPlugin.example');
|
$result = $Dispatcher->getShell('TestPlugin.example');
|
||||||
|
|
|
@ -841,4 +841,17 @@ TEXT;
|
||||||
$expected = 'TestApple';
|
$expected = 'TestApple';
|
||||||
$this->assertEquals($expected, $this->Shell->TestApple->name);
|
$this->assertEquals($expected, $this->Shell->TestApple->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test that option parsers are created with the correct name/command.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function testGetOptionParser() {
|
||||||
|
$this->Shell->name = 'test';
|
||||||
|
$this->Shell->plugin = 'plugin';
|
||||||
|
$parser = $this->Shell->getOptionParser();
|
||||||
|
|
||||||
|
$this->assertEquals('plugin.test', $parser->command());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,23 +22,25 @@ App::uses('Shell', 'Console');
|
||||||
|
|
||||||
class TaskCollectionTest extends CakeTestCase {
|
class TaskCollectionTest extends CakeTestCase {
|
||||||
/**
|
/**
|
||||||
* setup
|
* setUp
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setup() {
|
public function setUp() {
|
||||||
|
parent::setUp();
|
||||||
$shell = $this->getMock('Shell', array(), array(), '', false);
|
$shell = $this->getMock('Shell', array(), array(), '', false);
|
||||||
$dispatcher = $this->getMock('ShellDispatcher', array(), array(), '', false);
|
$dispatcher = $this->getMock('ShellDispatcher', array(), array(), '', false);
|
||||||
$this->Tasks = new TaskCollection($shell, $dispatcher);
|
$this->Tasks = new TaskCollection($shell, $dispatcher);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown
|
* tearDown
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function teardown() {
|
public function tearDown() {
|
||||||
unset($this->Tasks);
|
unset($this->Tasks);
|
||||||
|
parent::tearDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -55,6 +57,19 @@ class TaskCollectionTest extends CakeTestCase {
|
||||||
$this->assertEquals(array('DbConfig'), $result, 'attached() results are wrong.');
|
$this->assertEquals(array('DbConfig'), $result, 'attached() results are wrong.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test load and enable = false
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function testLoadWithEnableFalse() {
|
||||||
|
$result = $this->Tasks->load('DbConfig', array('enabled' => false));
|
||||||
|
$this->assertInstanceOf('DbConfigTask', $result);
|
||||||
|
$this->assertInstanceOf('DbConfigTask', $this->Tasks->DbConfig);
|
||||||
|
|
||||||
|
$this->assertFalse($this->Tasks->enabled('DbConfig'), 'DbConfigTask should be disabled');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test missingtask exception
|
* test missingtask exception
|
||||||
*
|
*
|
||||||
|
|
|
@ -26,7 +26,7 @@ App::uses('CakeResponse', 'Network');
|
||||||
class ActionsAuthorizeTest extends CakeTestCase {
|
class ActionsAuthorizeTest extends CakeTestCase {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setup
|
* setUp
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -57,7 +57,7 @@ class BasicAuthenticateTest extends CakeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown
|
* tearDown
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
@ -163,6 +163,7 @@ class BasicAuthenticateTest extends CakeTestCase {
|
||||||
$result = $this->auth->authenticate($request, $this->response);
|
$result = $this->auth->authenticate($request, $this->response);
|
||||||
$this->assertFalse($result);
|
$this->assertFalse($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test authenticate sucesss
|
* test authenticate sucesss
|
||||||
*
|
*
|
||||||
|
|
|
@ -59,7 +59,7 @@ class DigestAuthenticateTest extends CakeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown
|
* tearDown
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -499,6 +499,7 @@ class CookieComponentTest extends CakeTestCase {
|
||||||
$this->assertNull($this->Cookie->read('User.email'));
|
$this->assertNull($this->Cookie->read('User.email'));
|
||||||
$this->Cookie->destroy();
|
$this->Cookie->destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test deleting recursively with keys that don't exist.
|
* Test deleting recursively with keys that don't exist.
|
||||||
*
|
*
|
||||||
|
|
|
@ -470,6 +470,7 @@ class DbAclTest extends CakeTestCase {
|
||||||
|
|
||||||
$this->Acl->deny('Bobs', 'ROOT/printers/DoesNotExist', 'create');
|
$this->Acl->deny('Bobs', 'ROOT/printers/DoesNotExist', 'create');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* debug function - to help editing/creating test cases for the ACL component
|
* debug function - to help editing/creating test cases for the ACL component
|
||||||
*
|
*
|
||||||
|
|
|
@ -45,6 +45,7 @@ class RequestHandlerTestController extends Controller {
|
||||||
$this->viewPath = 'Posts';
|
$this->viewPath = 'Posts';
|
||||||
$this->render('index');
|
$this->render('index');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test method for ajax redirection + parameter parsing
|
* test method for ajax redirection + parameter parsing
|
||||||
*
|
*
|
||||||
|
|
|
@ -29,21 +29,23 @@ class CookieAliasComponent extends CookieComponent {
|
||||||
|
|
||||||
class ComponentCollectionTest extends CakeTestCase {
|
class ComponentCollectionTest extends CakeTestCase {
|
||||||
/**
|
/**
|
||||||
* setup
|
* setUp
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setup() {
|
public function setUp() {
|
||||||
|
parent::setUp();
|
||||||
$this->Components = new ComponentCollection();
|
$this->Components = new ComponentCollection();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown
|
* tearDown
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function teardown() {
|
public function tearDown() {
|
||||||
unset($this->Components);
|
unset($this->Components);
|
||||||
|
parent::tearDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -108,6 +110,7 @@ class ComponentCollectionTest extends CakeTestCase {
|
||||||
|
|
||||||
$this->assertFalse($this->Components->enabled('Cookie'), 'Cookie should be disabled');
|
$this->assertFalse($this->Components->enabled('Cookie'), 'Cookie should be disabled');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test missingcomponent exception
|
* test missingcomponent exception
|
||||||
*
|
*
|
||||||
|
|
|
@ -34,6 +34,7 @@ class MergeVarsAppController extends Controller {
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
public $components = array('MergeVar' => array('flag', 'otherFlag', 'redirect' => false));
|
public $components = array('MergeVar' => array('flag', 'otherFlag', 'redirect' => false));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* helpers
|
* helpers
|
||||||
*
|
*
|
||||||
|
@ -42,7 +43,6 @@ class MergeVarsAppController extends Controller {
|
||||||
public $helpers = array('MergeVar' => array('format' => 'html', 'terse'));
|
public $helpers = array('MergeVar' => array('format' => 'html', 'terse'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MergeVar Component
|
* MergeVar Component
|
||||||
*
|
*
|
||||||
|
|
|
@ -35,12 +35,14 @@ class ControllerTestAppController extends Controller {
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
public $helpers = array('Html');
|
public $helpers = array('Html');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* uses property
|
* uses property
|
||||||
*
|
*
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
public $uses = array('ControllerPost');
|
public $uses = array('ControllerPost');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* components property
|
* components property
|
||||||
*
|
*
|
||||||
|
@ -305,6 +307,7 @@ class TestComponent extends Object {
|
||||||
*/
|
*/
|
||||||
public function beforeRedirect() {
|
public function beforeRedirect() {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* initialize method
|
* initialize method
|
||||||
*
|
*
|
||||||
|
@ -320,6 +323,7 @@ class TestComponent extends Object {
|
||||||
*/
|
*/
|
||||||
public function startup(&$controller) {
|
public function startup(&$controller) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* shutdown method
|
* shutdown method
|
||||||
*
|
*
|
||||||
|
@ -327,6 +331,7 @@ class TestComponent extends Object {
|
||||||
*/
|
*/
|
||||||
public function shutdown(&$controller) {
|
public function shutdown(&$controller) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* beforeRender callback
|
* beforeRender callback
|
||||||
*
|
*
|
||||||
|
@ -351,6 +356,7 @@ class AnotherTestController extends ControllerTestAppController {
|
||||||
* @var string 'Name'
|
* @var string 'Name'
|
||||||
*/
|
*/
|
||||||
public $name = 'AnotherTest';
|
public $name = 'AnotherTest';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* uses property
|
* uses property
|
||||||
*
|
*
|
||||||
|
@ -358,6 +364,11 @@ class AnotherTestController extends ControllerTestAppController {
|
||||||
*/
|
*/
|
||||||
public $uses = null;
|
public $uses = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* merge parent
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
protected $_mergeParent = 'ControllerTestAppController';
|
protected $_mergeParent = 'ControllerTestAppController';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -381,19 +392,21 @@ class ControllerTest extends CakeTestCase {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setUp() {
|
public function setUp() {
|
||||||
|
parent::setUp();
|
||||||
App::objects('plugin', null, false);
|
App::objects('plugin', null, false);
|
||||||
App::build();
|
App::build();
|
||||||
Router::reload();
|
Router::reload();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown
|
* tearDown
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function teardown() {
|
public function tearDown() {
|
||||||
CakePlugin::unload();
|
CakePlugin::unload();
|
||||||
App::build();
|
App::build();
|
||||||
|
parent::tearDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1112,6 +1125,7 @@ class ControllerTest extends CakeTestCase {
|
||||||
|
|
||||||
$Controller->startupProcess();
|
$Controller->startupProcess();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests that the shutdown process calls the correct functions
|
* Tests that the shutdown process calls the correct functions
|
||||||
*
|
*
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
* @since CakePHP(tm) v 1.2.0.5436
|
* @since CakePHP(tm) v 1.2.0.5436
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
App::uses('Router', 'Routing');
|
App::uses('Router', 'Routing');
|
||||||
App::uses('Controller', 'Controller');
|
App::uses('Controller', 'Controller');
|
||||||
App::uses('Scaffold', 'Controller');
|
App::uses('Scaffold', 'Controller');
|
||||||
|
@ -105,8 +104,6 @@ class TestScaffoldMock extends Scaffold {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Scaffold Test class
|
* Scaffold Test class
|
||||||
*
|
*
|
||||||
|
@ -127,6 +124,7 @@ class ScaffoldTest extends CakeTestCase {
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
public $fixtures = array('core.article', 'core.user', 'core.comment', 'core.join_thing', 'core.tag');
|
public $fixtures = array('core.article', 'core.user', 'core.comment', 'core.join_thing', 'core.tag');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setUp method
|
* setUp method
|
||||||
*
|
*
|
||||||
|
@ -273,6 +271,7 @@ class ScaffoldTest extends CakeTestCase {
|
||||||
$result = ob_get_clean();
|
$result = ob_get_clean();
|
||||||
$this->assertRegExp('/Scaffold Mock has been updated/', $result);
|
$this->assertRegExp('/Scaffold Mock has been updated/', $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test that habtm relationship keys get added to scaffoldFields.
|
* test that habtm relationship keys get added to scaffoldFields.
|
||||||
*
|
*
|
||||||
|
@ -308,6 +307,7 @@ class ScaffoldTest extends CakeTestCase {
|
||||||
$result = $Scaffold->controller->viewVars;
|
$result = $Scaffold->controller->viewVars;
|
||||||
$this->assertEquals($result['scaffoldFields'], array('id', 'user_id', 'title', 'body', 'published', 'created', 'updated', 'ScaffoldTag'));
|
$this->assertEquals($result['scaffoldFields'], array('id', 'user_id', 'title', 'body', 'published', 'created', 'updated', 'ScaffoldTag'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test that the proper names and variable values are set by Scaffold
|
* test that the proper names and variable values are set by Scaffold
|
||||||
*
|
*
|
||||||
|
|
|
@ -29,12 +29,14 @@ App::uses('Router', 'Routing');
|
||||||
class ErrorHandlerTest extends CakeTestCase {
|
class ErrorHandlerTest extends CakeTestCase {
|
||||||
|
|
||||||
public $_restoreError = false;
|
public $_restoreError = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setup create a request object to get out of router later.
|
* setup create a request object to get out of router later.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setUp() {
|
public function setUp() {
|
||||||
|
parent::setUp();
|
||||||
App::build(array(
|
App::build(array(
|
||||||
'View' => array(
|
'View' => array(
|
||||||
CAKE . 'Test' . DS . 'test_app' . DS . 'View'. DS
|
CAKE . 'Test' . DS . 'test_app' . DS . 'View'. DS
|
||||||
|
@ -51,17 +53,18 @@ class ErrorHandlerTest extends CakeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown
|
* tearDown
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function teardown() {
|
public function tearDown() {
|
||||||
Configure::write('debug', $this->_debug);
|
Configure::write('debug', $this->_debug);
|
||||||
Configure::write('Error', $this->_error);
|
Configure::write('Error', $this->_error);
|
||||||
App::build();
|
App::build();
|
||||||
if ($this->_restoreError) {
|
if ($this->_restoreError) {
|
||||||
restore_error_handler();
|
restore_error_handler();
|
||||||
}
|
}
|
||||||
|
parent::tearDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -126,6 +126,7 @@ class MyCustomExceptionRenderer extends ExceptionRenderer {
|
||||||
echo 'widget thing is missing';
|
echo 'widget thing is missing';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Exception class for testing app error handlers and custom errors.
|
* Exception class for testing app error handlers and custom errors.
|
||||||
*
|
*
|
||||||
|
@ -142,12 +143,14 @@ class MissingWidgetThingException extends NotFoundException { }
|
||||||
class ExceptionRendererTest extends CakeTestCase {
|
class ExceptionRendererTest extends CakeTestCase {
|
||||||
|
|
||||||
public $_restoreError = false;
|
public $_restoreError = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setup create a request object to get out of router later.
|
* setup create a request object to get out of router later.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setUp() {
|
public function setUp() {
|
||||||
|
parent::setUp();
|
||||||
App::build(array(
|
App::build(array(
|
||||||
'views' => array(
|
'views' => array(
|
||||||
CAKE . 'Test' . DS . 'test_app' . DS . 'View'. DS
|
CAKE . 'Test' . DS . 'test_app' . DS . 'View'. DS
|
||||||
|
@ -164,17 +167,18 @@ class ExceptionRendererTest extends CakeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown
|
* tearDown
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function teardown() {
|
public function tearDown() {
|
||||||
Configure::write('debug', $this->_debug);
|
Configure::write('debug', $this->_debug);
|
||||||
Configure::write('Error', $this->_error);
|
Configure::write('Error', $this->_error);
|
||||||
App::build();
|
App::build();
|
||||||
if ($this->_restoreError) {
|
if ($this->_restoreError) {
|
||||||
restore_error_handler();
|
restore_error_handler();
|
||||||
}
|
}
|
||||||
|
parent::tearDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -406,6 +410,7 @@ class ExceptionRendererTest extends CakeTestCase {
|
||||||
$result = ob_get_clean();
|
$result = ob_get_clean();
|
||||||
$this->assertContains('Not Found', $result);
|
$this->assertContains('Not Found', $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test that error400 doesn't expose XSS
|
* test that error400 doesn't expose XSS
|
||||||
*
|
*
|
||||||
|
|
|
@ -2989,6 +2989,7 @@ class ContainableBehaviorTest extends CakeTestCase {
|
||||||
$this->assertFalse(isset($result[0]['Comment']['published']), 'published found %s');
|
$this->assertFalse(isset($result[0]['Comment']['published']), 'published found %s');
|
||||||
$this->assertFalse(isset($result[0]['User']['password']), 'password found %s');
|
$this->assertFalse(isset($result[0]['User']['password']), 'password found %s');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* testFindConditionalBinding method
|
* testFindConditionalBinding method
|
||||||
*
|
*
|
||||||
|
@ -3568,6 +3569,7 @@ class ContainableBehaviorTest extends CakeTestCase {
|
||||||
$this->assertTrue(isset($result[0]['Article']));
|
$this->assertTrue(isset($result[0]['Article']));
|
||||||
$this->assertTrue(isset($result[0]['User']));
|
$this->assertTrue(isset($result[0]['User']));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test that autoFields doesn't splice in columns that aren't part of the join.
|
* test that autoFields doesn't splice in columns that aren't part of the join.
|
||||||
*
|
*
|
||||||
|
|
|
@ -829,6 +829,7 @@ class TranslateBehaviorTest extends CakeTestCase {
|
||||||
);
|
);
|
||||||
$this->assertEquals($expected, $result);
|
$this->assertEquals($expected, $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* testTranslateTableWithPrefix method
|
* testTranslateTableWithPrefix method
|
||||||
* Tests that is possible to have a translation model with a custom tablePrefix
|
* Tests that is possible to have a translation model with a custom tablePrefix
|
||||||
|
|
|
@ -1202,6 +1202,7 @@ class TreeBehaviorNumberTest extends CakeTestCase {
|
||||||
$this->assertTrue($this->Tree->cacheQueries, 'cacheQueries was not restored after reorder(). %s');
|
$this->assertTrue($this->Tree->cacheQueries, 'cacheQueries was not restored after reorder(). %s');
|
||||||
$this->Tree->cacheQueries = $original;
|
$this->Tree->cacheQueries = $original;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* testGenerateTreeListWithSelfJoin method
|
* testGenerateTreeListWithSelfJoin method
|
||||||
*
|
*
|
||||||
|
|
|
@ -254,6 +254,7 @@ class TestBehavior extends ModelBehavior {
|
||||||
}
|
}
|
||||||
echo "onError trigger success";
|
echo "onError trigger success";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* beforeTest method
|
* beforeTest method
|
||||||
*
|
*
|
||||||
|
|
|
@ -440,12 +440,14 @@ class SchemaPrefixAuthUser extends CakeTestModel {
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $name = 'SchemaPrefixAuthUser';
|
public $name = 'SchemaPrefixAuthUser';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* table prefix
|
* table prefix
|
||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $tablePrefix = 'auth_';
|
public $tablePrefix = 'auth_';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* useTable
|
* useTable
|
||||||
*
|
*
|
||||||
|
@ -640,8 +642,11 @@ class CakeSchemaTest extends CakeTestCase {
|
||||||
*/
|
*/
|
||||||
public function testSchemaReadWithConfigPrefix() {
|
public function testSchemaReadWithConfigPrefix() {
|
||||||
$this->skipIf($this->db instanceof Sqlite, 'Cannot open 2 connections to Sqlite');
|
$this->skipIf($this->db instanceof Sqlite, 'Cannot open 2 connections to Sqlite');
|
||||||
|
|
||||||
$db = ConnectionManager::getDataSource('test');
|
$db = ConnectionManager::getDataSource('test');
|
||||||
$config = $db->config;
|
$config = $db->config;
|
||||||
|
$this->skipIf(!empty($config['prefix']), 'This test can not be executed with datasource prefix set.');
|
||||||
|
|
||||||
$config['prefix'] = 'schema_test_prefix_';
|
$config['prefix'] = 'schema_test_prefix_';
|
||||||
ConnectionManager::create('schema_prefix', $config);
|
ConnectionManager::create('schema_prefix', $config);
|
||||||
$read = $this->Schema->read(array('connection' => 'schema_prefix', 'models' => false));
|
$read = $this->Schema->read(array('connection' => 'schema_prefix', 'models' => false));
|
||||||
|
@ -743,6 +748,7 @@ class CakeSchemaTest extends CakeTestCase {
|
||||||
$result = $this->Schema->generateTable('posts', $posts);
|
$result = $this->Schema->generateTable('posts', $posts);
|
||||||
$this->assertRegExp('/public \$posts/', $result);
|
$this->assertRegExp('/public \$posts/', $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* testSchemaWrite method
|
* testSchemaWrite method
|
||||||
*
|
*
|
||||||
|
|
|
@ -24,7 +24,6 @@ App::uses('ConnectionManager', 'Model');
|
||||||
*/
|
*/
|
||||||
class ConnectionManagerTest extends CakeTestCase {
|
class ConnectionManagerTest extends CakeTestCase {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* tearDown method
|
* tearDown method
|
||||||
*
|
*
|
||||||
|
@ -34,6 +33,7 @@ class ConnectionManagerTest extends CakeTestCase {
|
||||||
parent::tearDown();
|
parent::tearDown();
|
||||||
CakePlugin::unload();
|
CakePlugin::unload();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* testEnumConnectionObjects method
|
* testEnumConnectionObjects method
|
||||||
*
|
*
|
||||||
|
|
|
@ -71,8 +71,8 @@ class CakeSessionTest extends CakeTestCase {
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setup() {
|
public function setUp() {
|
||||||
parent::setup();
|
parent::setUp();
|
||||||
Configure::write('Session', array(
|
Configure::write('Session', array(
|
||||||
'defaults' => 'php',
|
'defaults' => 'php',
|
||||||
'cookie' => 'cakephp',
|
'cookie' => 'cakephp',
|
||||||
|
@ -382,7 +382,7 @@ class CakeSessionTest extends CakeTestCase {
|
||||||
*/
|
*/
|
||||||
public function testCheckKeyWithSpaces() {
|
public function testCheckKeyWithSpaces() {
|
||||||
$this->assertTrue(TestCakeSession::write('Session Test', "test"));
|
$this->assertTrue(TestCakeSession::write('Session Test', "test"));
|
||||||
$this->assertEquals('test', TestCakeSession::check('Session Test'));
|
$this->assertTrue(TestCakeSession::check('Session Test'));
|
||||||
TestCakeSession::delete('Session Test');
|
TestCakeSession::delete('Session Test');
|
||||||
|
|
||||||
$this->assertTrue(TestCakeSession::write('Session Test.Test Case', "test"));
|
$this->assertTrue(TestCakeSession::write('Session Test.Test Case', "test"));
|
||||||
|
@ -526,6 +526,7 @@ class CakeSessionTest extends CakeTestCase {
|
||||||
App::build(array(
|
App::build(array(
|
||||||
'plugins' => array(CAKE . 'Test' . DS . 'test_app' . DS . 'Plugin' . DS)
|
'plugins' => array(CAKE . 'Test' . DS . 'test_app' . DS . 'Plugin' . DS)
|
||||||
), true);
|
), true);
|
||||||
|
CakePlugin::load('TestPlugin');
|
||||||
|
|
||||||
Configure::write('Session', array(
|
Configure::write('Session', array(
|
||||||
'defaults' => 'cake',
|
'defaults' => 'cake',
|
||||||
|
|
|
@ -225,6 +225,7 @@ class MysqlTest extends CakeTestCase {
|
||||||
|
|
||||||
$this->Dbo->rawQuery('DROP TABLE ' . $this->Dbo->fullTableName($tableName));
|
$this->Dbo->rawQuery('DROP TABLE ' . $this->Dbo->fullTableName($tableName));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* testLastAffected method
|
* testLastAffected method
|
||||||
*
|
*
|
||||||
|
|
|
@ -206,6 +206,7 @@ class PostgresTest extends CakeTestCase {
|
||||||
'core.tag', 'core.articles_tag', 'core.attachment', 'core.person', 'core.post', 'core.author',
|
'core.tag', 'core.articles_tag', 'core.attachment', 'core.person', 'core.post', 'core.author',
|
||||||
'core.datatype',
|
'core.datatype',
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Actual DB connection used in testing
|
* Actual DB connection used in testing
|
||||||
*
|
*
|
||||||
|
|
|
@ -163,6 +163,7 @@ class SqlserverTestModel extends Model {
|
||||||
'foreignKey' => 'client_id'
|
'foreignKey' => 'client_id'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* find method
|
* find method
|
||||||
*
|
*
|
||||||
|
@ -302,6 +303,7 @@ class SqlserverTest extends CakeTestCase {
|
||||||
$result = $this->db->value('', 'binary');
|
$result = $this->db->value('', 'binary');
|
||||||
$this->assertSame($expected, $result);
|
$this->assertSame($expected, $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* testFields method
|
* testFields method
|
||||||
*
|
*
|
||||||
|
@ -459,6 +461,7 @@ class SqlserverTest extends CakeTestCase {
|
||||||
);
|
);
|
||||||
$this->assertEquals($expected, $result);
|
$this->assertEquals($expected, $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* testBuildColumn
|
* testBuildColumn
|
||||||
*
|
*
|
||||||
|
@ -521,6 +524,7 @@ class SqlserverTest extends CakeTestCase {
|
||||||
$expected = '[body] nvarchar(MAX)';
|
$expected = '[body] nvarchar(MAX)';
|
||||||
$this->assertEquals($expected, $result);
|
$this->assertEquals($expected, $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* testBuildIndex method
|
* testBuildIndex method
|
||||||
*
|
*
|
||||||
|
@ -547,6 +551,7 @@ class SqlserverTest extends CakeTestCase {
|
||||||
$expected = array('ALTER TABLE items ADD CONSTRAINT client_id UNIQUE([client_id], [period_id]);');
|
$expected = array('ALTER TABLE items ADD CONSTRAINT client_id UNIQUE([client_id], [period_id]);');
|
||||||
$this->assertEquals($expected, $result);
|
$this->assertEquals($expected, $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* testUpdateAllSyntax method
|
* testUpdateAllSyntax method
|
||||||
*
|
*
|
||||||
|
|
|
@ -63,7 +63,7 @@ class CacheSessionTest extends CakeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown
|
* tearDown
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -66,22 +66,24 @@ class DatabaseSessionTest extends CakeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setup
|
* setUp
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setup() {
|
public function setUp() {
|
||||||
|
parent::setUp();
|
||||||
$this->storage = new DatabaseSession();
|
$this->storage = new DatabaseSession();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* teardown
|
* tearDown
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function teardown() {
|
public function tearDown() {
|
||||||
unset($this->storage);
|
unset($this->storage);
|
||||||
ClassRegistry::flush();
|
ClassRegistry::flush();
|
||||||
|
parent::tearDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -135,6 +137,7 @@ class DatabaseSessionTest extends CakeTestCase {
|
||||||
$result = $this->storage->write('', 'This is a Test');
|
$result = $this->storage->write('', 'This is a Test');
|
||||||
$this->assertFalse($result);
|
$this->assertFalse($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test read()
|
* test read()
|
||||||
*
|
*
|
||||||
|
@ -169,11 +172,14 @@ class DatabaseSessionTest extends CakeTestCase {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function testGc() {
|
public function testGc() {
|
||||||
|
ClassRegistry::flush();
|
||||||
Configure::write('Session.timeout', 0);
|
Configure::write('Session.timeout', 0);
|
||||||
$this->storage->write('foo', 'Some value');
|
|
||||||
|
$storage = new DatabaseSession();
|
||||||
|
$storage->write('foo', 'Some value');
|
||||||
|
|
||||||
sleep(1);
|
sleep(1);
|
||||||
$this->storage->gc();
|
$storage->gc();
|
||||||
$this->assertFalse($this->storage->read('foo'));
|
$this->assertFalse($storage->read('foo'));
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -186,6 +186,7 @@ class DbAroUserTest extends CakeTestModel {
|
||||||
* @var string 'auth_users'
|
* @var string 'auth_users'
|
||||||
*/
|
*/
|
||||||
public $useTable = 'auth_users';
|
public $useTable = 'auth_users';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* bindNode method
|
* bindNode method
|
||||||
*
|
*
|
||||||
|
|
|
@ -32,6 +32,7 @@ class DboMock extends DboSource {
|
||||||
public function name($field) {
|
public function name($field) {
|
||||||
return $field;
|
return $field;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true to fake a database connection
|
* Returns true to fake a database connection
|
||||||
*/
|
*/
|
||||||
|
@ -2048,6 +2049,7 @@ class ModelIntegrationTest extends BaseModelTest {
|
||||||
$result = $TestModel->escapeField('DomainHandle', 'Domain');
|
$result = $TestModel->escapeField('DomainHandle', 'Domain');
|
||||||
$expected = $db->name('Domain.DomainHandle');
|
$expected = $db->name('Domain.DomainHandle');
|
||||||
$this->assertEquals($expected, $result);
|
$this->assertEquals($expected, $result);
|
||||||
|
ConnectionManager::drop('mock');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -7447,6 +7447,7 @@ class ModelReadTest extends BaseModelTest {
|
||||||
);
|
);
|
||||||
$this->assertEquals($expected, $result);
|
$this->assertEquals($expected, $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Testing availability of $this->findQueryType in Model callbacks
|
* Testing availability of $this->findQueryType in Model callbacks
|
||||||
*
|
*
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue