mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 11:28:25 +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.
|
||||
*/
|
||||
//Configure::write('Asset.timestamp', true);
|
||||
|
||||
/**
|
||||
* 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.
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
* @since CakePHP(tm) v 0.2.9
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
App::uses('Helper', 'View');
|
||||
|
||||
/**
|
||||
|
|
|
@ -374,6 +374,7 @@ class Cache {
|
|||
self::set(null, $config);
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Decrement a number under the key and return decremented value.
|
||||
*
|
||||
|
@ -401,6 +402,7 @@ class Cache {
|
|||
self::set(null, $config);
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
|
|
|
@ -110,6 +110,7 @@ class XcacheEngine extends CacheEngine {
|
|||
public function decrement($key, $offset = 1) {
|
||||
return xcache_dec($key, $offset);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a key from the cache
|
||||
*
|
||||
|
|
|
@ -24,6 +24,8 @@ App::uses('File', 'Utility');
|
|||
/**
|
||||
* 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
|
||||
*/
|
||||
class ApiShell extends AppShell {
|
||||
|
@ -151,6 +153,7 @@ class ApiShell extends AppShell {
|
|||
))->description(__d('cake_console', 'Lookup doc block comments for classes in CakePHP.'));
|
||||
return $parser;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show help for this shell.
|
||||
*
|
||||
|
|
|
@ -24,7 +24,11 @@ App::uses('AppShell', 'Console/Command');
|
|||
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
|
||||
* @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 CakePHP's database management utility. This helps you maintain versions of
|
||||
* of your database.
|
||||
*
|
||||
* @package Cake.Console.Command
|
||||
* @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();
|
||||
}
|
||||
$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->_checkUnitTest()) {
|
||||
$this->bakeFixture($model);
|
||||
$this->bakeFixture($model, $useTable);
|
||||
$this->bakeTest($model);
|
||||
}
|
||||
}
|
||||
|
@ -822,12 +824,14 @@ class ModelTask extends BakeTask {
|
|||
public function listAll($useDbConfig = null) {
|
||||
$this->_tables = (array) $this->getAllTables($useDbConfig);
|
||||
|
||||
if ($this->interactive === true) {
|
||||
$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++) {
|
||||
$this->_modelNames[] = $this->_modelName($this->_tables[$i]);
|
||||
}
|
||||
if ($this->interactive === true) {
|
||||
$this->out(__d('cake_console', 'Possible Models based on your current database:'));
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
$this->out($i + 1 . ". " . $this->_modelNames[$i]);
|
||||
}
|
||||
}
|
||||
|
@ -842,19 +846,19 @@ class ModelTask extends BakeTask {
|
|||
* @return string Table name
|
||||
*/
|
||||
public function getTable($modelName, $useDbConfig = null) {
|
||||
if (!isset($useDbConfig)) {
|
||||
$useDbConfig = $this->connection;
|
||||
}
|
||||
|
||||
$db = ConnectionManager::getDataSource($useDbConfig);
|
||||
$useTable = Inflector::tableize($modelName);
|
||||
if (in_array($modelName, $this->_modelNames)) {
|
||||
$modelNames = array_flip($this->_modelNames);
|
||||
$useTable = $this->_tables[$modelNames[$modelName]];
|
||||
}
|
||||
|
||||
if ($this->interactive === true) {
|
||||
if (!isset($useDbConfig)) {
|
||||
$useDbConfig = $this->connection;
|
||||
}
|
||||
$db = ConnectionManager::getDataSource($useDbConfig);
|
||||
$fullTableName = $db->fullTableName($useTable, false);
|
||||
$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));
|
||||
|
@ -863,6 +867,7 @@ class ModelTask extends BakeTask {
|
|||
if (strtolower($tableIsGood) == 'n') {
|
||||
$useTable = $this->in(__d('cake_console', 'What is the name of the table?'));
|
||||
}
|
||||
}
|
||||
return $useTable;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ App::uses('File', '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
|
||||
*/
|
||||
|
|
|
@ -288,9 +288,7 @@ class ProjectTask extends AppShell {
|
|||
$File = new File($path . 'Config' . DS . 'core.php');
|
||||
$contents = $File->read();
|
||||
if (preg_match('/([\s]*Configure::write\(\'Security.cipherSeed\',[\s\'A-z0-9]*\);)/', $contents, $match)) {
|
||||
if (!class_exists('Security')) {
|
||||
require CAKE . 'Utility' . DS . 'security.php';
|
||||
}
|
||||
App::uses('Security', 'Utility');
|
||||
$string = substr(bin2hex(Security::generateAuthKey()), 0, 30);
|
||||
$result = str_replace($match[0], "\t" . 'Configure::write(\'Security.cipherSeed\', \''.$string.'\');', $contents);
|
||||
if ($File->write($result)) {
|
||||
|
|
|
@ -554,6 +554,7 @@ class UpgradeShell extends AppShell {
|
|||
);
|
||||
$this->_filesRegexpUpdate($patterns);
|
||||
}
|
||||
|
||||
/**
|
||||
* Move application views files to where they now should be
|
||||
*
|
||||
|
|
|
@ -79,6 +79,14 @@ class Shell extends Object {
|
|||
*/
|
||||
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
|
||||
*
|
||||
|
@ -409,7 +417,8 @@ class Shell extends Object {
|
|||
* @link http://book.cakephp.org/2.0/en/console-and-shells.html#Shell::getOptionParser
|
||||
*/
|
||||
public function getOptionParser() {
|
||||
$parser = new ConsoleOptionParser($this->name);
|
||||
$name = ($this->plugin ? $this->plugin . '.' : '') . $this->name;
|
||||
$parser = new ConsoleOptionParser($name);
|
||||
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
|
||||
* @return string Camelized and singularized controller name
|
||||
* @return string Camelized and singularized model name
|
||||
*/
|
||||
protected function _modelName($name) {
|
||||
return Inflector::camelize(Inflector::singularize($name));
|
||||
|
|
|
@ -219,6 +219,7 @@ class ShellDispatcher {
|
|||
));
|
||||
}
|
||||
$Shell = new $class();
|
||||
$Shell->plugin = trim($plugin, '.');
|
||||
return $Shell;
|
||||
}
|
||||
|
||||
|
|
|
@ -200,6 +200,7 @@
|
|||
* timestamping regardless of debug value.
|
||||
*/
|
||||
//Configure::write('Asset.timestamp', true);
|
||||
|
||||
/**
|
||||
* 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.
|
||||
|
|
|
@ -365,6 +365,7 @@ form .submit input[type=submit] {
|
|||
form .submit input[type=submit]:hover {
|
||||
background: #5BA150;
|
||||
}
|
||||
|
||||
/* Form errors */
|
||||
form .error {
|
||||
background: #FFDACC;
|
||||
|
@ -646,6 +647,7 @@ pre {
|
|||
overflow: auto;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
/* excerpt */
|
||||
.cake-code-dump pre,
|
||||
.cake-code-dump pre code {
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
if (!defined('DS')) {
|
||||
define('DS', DIRECTORY_SEPARATOR);
|
||||
}
|
||||
|
||||
/**
|
||||
* These defines should only be edited if you have cake installed in
|
||||
* a directory layout other than the way it is distributed.
|
||||
|
@ -37,6 +38,7 @@
|
|||
if (!defined('ROOT')) {
|
||||
define('ROOT', dirname(dirname(dirname(__FILE__))));
|
||||
}
|
||||
|
||||
/**
|
||||
* The actual directory name for the "app".
|
||||
*
|
||||
|
|
|
@ -24,6 +24,7 @@ ini_set('display_errors', 1);
|
|||
if (!defined('DS')) {
|
||||
define('DS', DIRECTORY_SEPARATOR);
|
||||
}
|
||||
|
||||
/**
|
||||
* These defines should only be edited if you have cake installed in
|
||||
* a directory layout other than the way it is distributed.
|
||||
|
@ -37,6 +38,7 @@ ini_set('display_errors', 1);
|
|||
if (!defined('ROOT')) {
|
||||
define('ROOT', dirname(dirname(dirname(__FILE__))));
|
||||
}
|
||||
|
||||
/**
|
||||
* The actual directory name for the "app".
|
||||
*
|
||||
|
|
|
@ -18,6 +18,14 @@
|
|||
* @since CakePHP(tm) v 2.0
|
||||
* @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 {
|
||||
|
||||
/**
|
||||
|
|
|
@ -100,6 +100,7 @@ class DigestAuthenticate extends BaseAuthenticate {
|
|||
$this->settings['opaque'] = md5($this->settings['realm']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Authenticate a user using Digest HTTP auth. Will use the configured User model and attempt a
|
||||
* login using Digest HTTP auth.
|
||||
|
@ -142,6 +143,7 @@ class DigestAuthenticate extends BaseAuthenticate {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Find a user record using the standard options.
|
||||
*
|
||||
|
|
|
@ -22,7 +22,11 @@
|
|||
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
|
||||
* @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');
|
||||
|
||||
/**
|
||||
* 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
|
||||
* @link http://book.cakephp.org/2.0/en/core-libraries/components/security-component.html
|
||||
|
|
|
@ -21,9 +21,9 @@ App::uses('Component', 'Controller');
|
|||
App::uses('CakeSession', 'Model/Datasource');
|
||||
|
||||
/**
|
||||
* Session Component.
|
||||
*
|
||||
* Session handling from the controller.
|
||||
* 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
|
||||
* convenience methods for several `$_SESSION` related functions.
|
||||
*
|
||||
* @package Cake.Controller.Component
|
||||
* @link http://book.cakephp.org/2.0/en/core-libraries/components/sessions.html
|
||||
|
|
|
@ -19,6 +19,12 @@
|
|||
App::uses('ObjectCollection', 'Utility');
|
||||
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 {
|
||||
|
||||
/**
|
||||
|
|
|
@ -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
|
||||
* @link http://book.cakephp.org/2.0/en/plugins.html
|
||||
|
|
|
@ -152,9 +152,7 @@ class Object {
|
|||
* @return boolean Success of log write
|
||||
*/
|
||||
public function log($msg, $type = LOG_ERROR) {
|
||||
if (!class_exists('CakeLog')) {
|
||||
require CAKE . 'cake_log.php';
|
||||
}
|
||||
App::uses('CakeLog', 'Log');
|
||||
if (!is_string($msg)) {
|
||||
$msg = print_r($msg, true);
|
||||
}
|
||||
|
|
|
@ -224,7 +224,7 @@ class ExceptionRenderer {
|
|||
public function error500($error) {
|
||||
$message = $error->getMessage();
|
||||
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();
|
||||
$code = ($error->getCode() > 500 && $error->getCode() < 506) ? $error->getCode() : 500;
|
||||
|
|
|
@ -226,6 +226,7 @@ class MissingActionException extends CakeException {
|
|||
parent::__construct($message, $code);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Private Action exception - used when a controller action
|
||||
* starts with a `_`.
|
||||
|
|
|
@ -96,7 +96,7 @@ class I18n {
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function __construct() {
|
||||
public function __construct() {
|
||||
$this->l10n = new L10n();
|
||||
}
|
||||
|
||||
|
|
|
@ -16,15 +16,11 @@
|
|||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
/**
|
||||
* Load Model and AppModel
|
||||
*/
|
||||
App::uses('AppModel', 'Model');
|
||||
|
||||
/**
|
||||
* ACL Node
|
||||
*
|
||||
*
|
||||
* @package Cake.Model
|
||||
*/
|
||||
class AclNode extends AppModel {
|
||||
|
|
|
@ -16,9 +16,6 @@
|
|||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
/**
|
||||
* Load Model and AppModel
|
||||
*/
|
||||
App::uses('AppModel', 'Model');
|
||||
|
||||
/**
|
||||
|
|
|
@ -16,9 +16,6 @@
|
|||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
/**
|
||||
* Load Model and AppModel
|
||||
*/
|
||||
App::uses('AppModel', 'Model');
|
||||
|
||||
/**
|
||||
|
|
|
@ -16,9 +16,6 @@
|
|||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
/**
|
||||
* Load Model and AppModel
|
||||
*/
|
||||
App::uses('AppModel', 'Model');
|
||||
|
||||
/**
|
||||
|
|
|
@ -23,6 +23,8 @@ App::uses('AclNode', 'Model');
|
|||
/**
|
||||
* ACL behavior
|
||||
*
|
||||
* Enables objects to easily tie into an ACL system
|
||||
*
|
||||
* @package Cake.Model.Behavior
|
||||
* @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
|
||||
* the amount of associations and data returned.
|
||||
* Behavior to allow for dynamic and atomic manipulation of a Model's associations
|
||||
* used for a find call. Most useful for limiting the amount of associations and
|
||||
* data returned.
|
||||
*
|
||||
* @package Cake.Model.Behavior
|
||||
* @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
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
App::uses('Model', 'Model');
|
||||
App::uses('AppModel', 'Model');
|
||||
App::uses('ConnectionManager', 'Model');
|
||||
|
@ -247,7 +248,12 @@ class CakeSchema extends Object {
|
|||
continue;
|
||||
}
|
||||
|
||||
try {
|
||||
$Object = ClassRegistry::init(array('class' => $model, 'ds' => $connection));
|
||||
} catch (CakeException $e) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$db = $Object->getDataSource();
|
||||
if (is_object($Object) && $Object->useTable !== false) {
|
||||
$fulltable = $table = $db->fullTableName($Object, false, false);
|
||||
|
|
|
@ -24,6 +24,9 @@ App::uses('DataSource', 'Model/Datasource');
|
|||
/**
|
||||
* Manages loaded instances of DataSource objects
|
||||
*
|
||||
* Provides an interface for loading and enumerating connections defined in
|
||||
* app/Config/database.php
|
||||
*
|
||||
* @package Cake.Model
|
||||
*/
|
||||
class ConnectionManager {
|
||||
|
|
|
@ -22,8 +22,6 @@ App::uses('DboSource', 'Model/Datasource');
|
|||
/**
|
||||
* PostgreSQL layer for DBO.
|
||||
*
|
||||
* Long description for class
|
||||
*
|
||||
* @package Cake.Model.Datasource.Database
|
||||
*/
|
||||
class Postgres extends DboSource {
|
||||
|
@ -300,9 +298,9 @@ class Postgres extends DboSource {
|
|||
* and if 1, sequences are not modified
|
||||
* @return boolean SQL TRUNCATE TABLE statement, false if not applicable.
|
||||
*/
|
||||
public function truncate($table, $reset = 0) {
|
||||
$table = $this->fullTableName($table, false, false);
|
||||
if (!isset($this->_sequenceMap[$table])) {
|
||||
public function truncate($table, $reset = false) {
|
||||
$fullTable = $this->fullTableName($table, false);
|
||||
if (!isset($this->_sequenceMap[$fullTable])) {
|
||||
$cache = $this->cacheSources;
|
||||
$this->cacheSources = false;
|
||||
$this->describe($table);
|
||||
|
@ -310,9 +308,8 @@ class Postgres extends DboSource {
|
|||
}
|
||||
if ($this->execute('DELETE FROM ' . $this->fullTableName($table))) {
|
||||
$schema = $this->config['schema'];
|
||||
$table = $this->fullTableName($table, false, false);
|
||||
if (isset($this->_sequenceMap[$table]) && $reset !== 1) {
|
||||
foreach ($this->_sequenceMap[$table] as $field => $sequence) {
|
||||
if (isset($this->_sequenceMap[$fullTable]) && $reset != true) {
|
||||
foreach ($this->_sequenceMap[$fullTable] as $field => $sequence) {
|
||||
$this->_execute("ALTER SEQUENCE \"{$schema}\".\"{$sequence}\" RESTART WITH 1");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -585,6 +585,7 @@ class Sqlserver extends DboSource {
|
|||
return parent::value($data, $column);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an array of all result rows for a given SQL query.
|
||||
* Returns false if no rows matched.
|
||||
|
@ -742,6 +743,7 @@ class Sqlserver extends DboSource {
|
|||
}
|
||||
return $affected;
|
||||
}
|
||||
|
||||
/**
|
||||
* Executes given SQL statement.
|
||||
*
|
||||
|
|
|
@ -19,9 +19,6 @@
|
|||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
/**
|
||||
* Included libs
|
||||
*/
|
||||
App::uses('ClassRegistry', 'Utility');
|
||||
App::uses('Validation', 'Utility');
|
||||
App::uses('String', 'Utility');
|
||||
|
@ -709,6 +706,11 @@ class Model extends Object {
|
|||
} elseif ($this->table === false) {
|
||||
$this->table = Inflector::tableize($this->name);
|
||||
}
|
||||
|
||||
if ($this->tablePrefix === null) {
|
||||
unset($this->tablePrefix);
|
||||
}
|
||||
|
||||
$this->_createLinks();
|
||||
$this->Behaviors->init($this->alias, $this->actsAs);
|
||||
}
|
||||
|
@ -808,6 +810,13 @@ class Model extends Object {
|
|||
if ($name === 'displayField') {
|
||||
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})) {
|
||||
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)) {
|
||||
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;
|
||||
|
@ -3090,6 +3101,7 @@ class Model extends Object {
|
|||
}
|
||||
return $valid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Marks a field as invalid, optionally setting the name of validation
|
||||
* 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)
|
||||
*/
|
||||
|
||||
/**
|
||||
* Load Model and AppModel
|
||||
*/
|
||||
App::uses('AppModel', 'Model');
|
||||
|
||||
/**
|
||||
|
|
|
@ -223,7 +223,7 @@ class CakeRequest implements ArrayAccess {
|
|||
$uri = substr($uri, strlen($base));
|
||||
}
|
||||
if (strpos($uri, '?') !== false) {
|
||||
$uri = parse_url($uri, PHP_URL_PATH);
|
||||
list($uri) = explode('?', $uri, 2);
|
||||
}
|
||||
if (empty($uri) || $uri == '/' || $uri == '//') {
|
||||
return '/';
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
* @since CakePHP(tm) v 1.2.0
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
App::uses('Validation', 'Utility');
|
||||
|
||||
/**
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* Abstract class
|
||||
* Abstract transport for sending email
|
||||
*
|
||||
* @package Cake.Network.Email
|
||||
*/
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
* @since CakePHP(tm) v 2.0.0
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
App::uses('Validation', 'Utility');
|
||||
App::uses('Multibyte', 'I18n');
|
||||
App::uses('AbstractTransport', 'Network/Email');
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* Mail class
|
||||
* Send mail using mail() function
|
||||
*
|
||||
* @package Cake.Network.Email
|
||||
*/
|
||||
|
|
|
@ -16,10 +16,11 @@
|
|||
* @since CakePHP(tm) v 2.0.0
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
App::uses('CakeSocket', 'Network');
|
||||
|
||||
/**
|
||||
* SendEmail class
|
||||
* Send mail using SMTP protocol
|
||||
*
|
||||
* @package Cake.Network.Email
|
||||
*/
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* HTTP Response
|
||||
* HTTP Response from HttpSocket.
|
||||
*
|
||||
* @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 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'])) {
|
||||
$cookies = $this->buildCookies($this->request['cookies']);
|
||||
}
|
||||
$schema = '';
|
||||
$scheme = '';
|
||||
$port = 0;
|
||||
if (isset($this->request['uri']['schema'])) {
|
||||
$schema = $this->request['uri']['schema'];
|
||||
if (isset($this->request['uri']['scheme'])) {
|
||||
$scheme = $this->request['uri']['scheme'];
|
||||
}
|
||||
if (isset($this->request['uri']['port'])) {
|
||||
$port = $this->request['uri']['port'];
|
||||
}
|
||||
if (
|
||||
($schema === 'http' && $port != 80) ||
|
||||
($schema === 'https' && $port != 443) ||
|
||||
($scheme === 'http' && $port != 80) ||
|
||||
($scheme === 'https' && $port != 443) ||
|
||||
($port != 80 && $port != 443)
|
||||
) {
|
||||
$Host .= ':' . $port;
|
||||
|
|
|
@ -20,9 +20,6 @@
|
|||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
/**
|
||||
* List of helpers to include
|
||||
*/
|
||||
App::uses('Router', 'Routing');
|
||||
App::uses('CakeRequest', 'Network');
|
||||
App::uses('CakeResponse', 'Network');
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
* @since CakePHP(tm) v 1.3
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
App::uses('Set', 'Utility');
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,11 +1,5 @@
|
|||
<?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)
|
||||
* Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
|
@ -14,10 +8,18 @@ App::uses('CakeRoute', 'Routing/Route');
|
|||
*
|
||||
* @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @package Cake.Routing.Route
|
||||
* @since CakePHP(tm) v 1.3
|
||||
* @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 {
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,14 +1,5 @@
|
|||
<?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)
|
||||
* 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
|
||||
* @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 {
|
||||
|
||||
/**
|
||||
|
|
|
@ -80,6 +80,7 @@ class BasicsTest extends CakeTestCase {
|
|||
$this->assertEquals($result, array());
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* testHttpBase method
|
||||
*
|
||||
|
|
|
@ -45,7 +45,7 @@ class FileEngineTest extends CakeTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* teardown method
|
||||
* tearDown method
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
|
|
@ -364,6 +364,7 @@ class MemcacheEngineTest extends CakeTestCase {
|
|||
|
||||
Cache::clear(false, 'memcache2');
|
||||
}
|
||||
|
||||
/**
|
||||
* test that a 0 duration can succesfully write.
|
||||
*
|
||||
|
|
|
@ -32,8 +32,8 @@ class IniReaderTest extends CakeTestCase {
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setup() {
|
||||
parent::setup();
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
$this->path = CAKE . 'Test' . DS . 'test_app' . DS . 'Config'. DS;
|
||||
}
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@ class PhpReaderTest extends CakeTestCase {
|
|||
parent::setUp();
|
||||
$this->path = CAKE . 'Test' . DS . 'test_app' . DS . 'Config'. DS;
|
||||
}
|
||||
|
||||
/**
|
||||
* test reading files
|
||||
*
|
||||
|
|
|
@ -37,11 +37,12 @@ class AclShellTest extends CakeTestCase {
|
|||
public $fixtures = array('core.aco', 'core.aro', 'core.aros_aco');
|
||||
|
||||
/**
|
||||
* setup method
|
||||
* setUp method
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
Configure::write('Acl.database', 'test');
|
||||
Configure::write('Acl.classname', 'DbAcl');
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ class BakeShellTest extends CakeTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* teardown method
|
||||
* tearDown method
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
|
|
@ -60,7 +60,7 @@ class CommandListShellTest extends CakeTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* teardown
|
||||
* tearDown
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
|
|
@ -97,7 +97,7 @@ class SchemaShellTest extends CakeTestCase {
|
|||
);
|
||||
|
||||
/**
|
||||
* setup method
|
||||
* setUp method
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
|
|
@ -64,6 +64,7 @@ class ControllerTaskTest extends CakeTestCase {
|
|||
* @return void
|
||||
*/
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
||||
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
||||
$this->Task = $this->getMock('ControllerTask',
|
||||
|
@ -86,14 +87,15 @@ class ControllerTaskTest extends CakeTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* teardown method
|
||||
* tearDown method
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function teardown() {
|
||||
public function tearDown() {
|
||||
unset($this->Task);
|
||||
ClassRegistry::flush();
|
||||
App::build();
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -31,7 +31,7 @@ App::uses('DbConfigTask', 'Console/Command/Task');
|
|||
class DbConfigTaskTest extends CakeTestCase {
|
||||
|
||||
/**
|
||||
* setup method
|
||||
* setUp method
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
|
|
@ -95,7 +95,7 @@ class ModelTaskTest extends CakeTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* teardown method
|
||||
* tearDown method
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
@ -205,7 +205,7 @@ class ModelTaskTest extends CakeTestCase {
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testGetTableOddTable() {
|
||||
public function testGetTableOddTableInteractive() {
|
||||
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
||||
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
||||
$this->Task = $this->getMock('ModelTask',
|
||||
|
@ -233,6 +233,34 @@ class ModelTaskTest extends CakeTestCase {
|
|||
$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.
|
||||
*
|
||||
|
@ -970,6 +998,61 @@ STRINGEND;
|
|||
$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.
|
||||
*
|
||||
|
|
|
@ -36,7 +36,7 @@ App::uses('File', 'Utility');
|
|||
class PluginTaskTest extends CakeTestCase {
|
||||
|
||||
/**
|
||||
* setup method
|
||||
* setUp method
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
|
|
@ -35,7 +35,7 @@ App::uses('File', 'Utility');
|
|||
class ProjectTaskTest extends CakeTestCase {
|
||||
|
||||
/**
|
||||
* setup method
|
||||
* setUp method
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
@ -52,7 +52,7 @@ class ProjectTaskTest extends CakeTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* teardown method
|
||||
* tearDown method
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
|
|
@ -19,12 +19,12 @@
|
|||
* @since CakePHP(tm) v 1.3
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
App::uses('ShellDispatcher', 'Console');
|
||||
App::uses('ConsoleOutput', 'Console');
|
||||
App::uses('ConsoleInput', 'Console');
|
||||
App::uses('Shell', 'Console');
|
||||
App::uses('TemplateTask', 'Console/Command/Task');
|
||||
|
||||
/**
|
||||
* TemplateTaskTest class
|
||||
*
|
||||
|
@ -33,11 +33,11 @@ App::uses('TemplateTask', 'Console/Command/Task');
|
|||
class TemplateTaskTest extends CakeTestCase {
|
||||
|
||||
/**
|
||||
* setup method
|
||||
* setUp method
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setup() {
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
||||
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
||||
|
@ -49,7 +49,7 @@ class TemplateTaskTest extends CakeTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* teardown method
|
||||
* tearDown method
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
|
|
@ -220,12 +220,12 @@ class TestTaskTest extends CakeTestCase {
|
|||
public $fixtures = array('core.article', 'core.comment', 'core.articles_tag', 'core.tag');
|
||||
|
||||
/**
|
||||
* setup method
|
||||
* setUp method
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setup() {
|
||||
parent::setup();
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
||||
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ class ConsoleErrorHandlerTest extends CakeTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* teardown
|
||||
* tearDown
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
|
|
@ -422,6 +422,8 @@ class ShellDispatcherTest extends CakeTestCase {
|
|||
$Dispatcher = new TestShellDispatcher();
|
||||
$result = $Dispatcher->getShell('test_plugin.example');
|
||||
$this->assertInstanceOf('ExampleShell', $result);
|
||||
$this->assertEquals('TestPlugin', $result->plugin);
|
||||
$this->assertEquals('Example', $result->name);
|
||||
|
||||
$Dispatcher = new TestShellDispatcher();
|
||||
$result = $Dispatcher->getShell('TestPlugin.example');
|
||||
|
|
|
@ -841,4 +841,17 @@ TEXT;
|
|||
$expected = 'TestApple';
|
||||
$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 {
|
||||
/**
|
||||
* setup
|
||||
* setUp
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setup() {
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
$shell = $this->getMock('Shell', array(), array(), '', false);
|
||||
$dispatcher = $this->getMock('ShellDispatcher', array(), array(), '', false);
|
||||
$this->Tasks = new TaskCollection($shell, $dispatcher);
|
||||
}
|
||||
|
||||
/**
|
||||
* teardown
|
||||
* tearDown
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function teardown() {
|
||||
public function tearDown() {
|
||||
unset($this->Tasks);
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -55,6 +57,19 @@ class TaskCollectionTest extends CakeTestCase {
|
|||
$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
|
||||
*
|
||||
|
|
|
@ -26,7 +26,7 @@ App::uses('CakeResponse', 'Network');
|
|||
class ActionsAuthorizeTest extends CakeTestCase {
|
||||
|
||||
/**
|
||||
* setup
|
||||
* setUp
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
|
|
@ -57,7 +57,7 @@ class BasicAuthenticateTest extends CakeTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* teardown
|
||||
* tearDown
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
@ -163,6 +163,7 @@ class BasicAuthenticateTest extends CakeTestCase {
|
|||
$result = $this->auth->authenticate($request, $this->response);
|
||||
$this->assertFalse($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* test authenticate sucesss
|
||||
*
|
||||
|
|
|
@ -59,7 +59,7 @@ class DigestAuthenticateTest extends CakeTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* teardown
|
||||
* tearDown
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
|
|
@ -499,6 +499,7 @@ class CookieComponentTest extends CakeTestCase {
|
|||
$this->assertNull($this->Cookie->read('User.email'));
|
||||
$this->Cookie->destroy();
|
||||
}
|
||||
|
||||
/**
|
||||
* 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');
|
||||
}
|
||||
|
||||
/**
|
||||
* debug function - to help editing/creating test cases for the ACL component
|
||||
*
|
||||
|
|
|
@ -45,6 +45,7 @@ class RequestHandlerTestController extends Controller {
|
|||
$this->viewPath = 'Posts';
|
||||
$this->render('index');
|
||||
}
|
||||
|
||||
/**
|
||||
* test method for ajax redirection + parameter parsing
|
||||
*
|
||||
|
|
|
@ -29,21 +29,23 @@ class CookieAliasComponent extends CookieComponent {
|
|||
|
||||
class ComponentCollectionTest extends CakeTestCase {
|
||||
/**
|
||||
* setup
|
||||
* setUp
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setup() {
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
$this->Components = new ComponentCollection();
|
||||
}
|
||||
|
||||
/**
|
||||
* teardown
|
||||
* tearDown
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function teardown() {
|
||||
public function tearDown() {
|
||||
unset($this->Components);
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -108,6 +110,7 @@ class ComponentCollectionTest extends CakeTestCase {
|
|||
|
||||
$this->assertFalse($this->Components->enabled('Cookie'), 'Cookie should be disabled');
|
||||
}
|
||||
|
||||
/**
|
||||
* test missingcomponent exception
|
||||
*
|
||||
|
|
|
@ -34,6 +34,7 @@ class MergeVarsAppController extends Controller {
|
|||
* @var array
|
||||
*/
|
||||
public $components = array('MergeVar' => array('flag', 'otherFlag', 'redirect' => false));
|
||||
|
||||
/**
|
||||
* helpers
|
||||
*
|
||||
|
@ -42,7 +43,6 @@ class MergeVarsAppController extends Controller {
|
|||
public $helpers = array('MergeVar' => array('format' => 'html', 'terse'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* MergeVar Component
|
||||
*
|
||||
|
|
|
@ -35,12 +35,14 @@ class ControllerTestAppController extends Controller {
|
|||
* @var array
|
||||
*/
|
||||
public $helpers = array('Html');
|
||||
|
||||
/**
|
||||
* uses property
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public $uses = array('ControllerPost');
|
||||
|
||||
/**
|
||||
* components property
|
||||
*
|
||||
|
@ -305,6 +307,7 @@ class TestComponent extends Object {
|
|||
*/
|
||||
public function beforeRedirect() {
|
||||
}
|
||||
|
||||
/**
|
||||
* initialize method
|
||||
*
|
||||
|
@ -320,6 +323,7 @@ class TestComponent extends Object {
|
|||
*/
|
||||
public function startup(&$controller) {
|
||||
}
|
||||
|
||||
/**
|
||||
* shutdown method
|
||||
*
|
||||
|
@ -327,6 +331,7 @@ class TestComponent extends Object {
|
|||
*/
|
||||
public function shutdown(&$controller) {
|
||||
}
|
||||
|
||||
/**
|
||||
* beforeRender callback
|
||||
*
|
||||
|
@ -351,6 +356,7 @@ class AnotherTestController extends ControllerTestAppController {
|
|||
* @var string 'Name'
|
||||
*/
|
||||
public $name = 'AnotherTest';
|
||||
|
||||
/**
|
||||
* uses property
|
||||
*
|
||||
|
@ -358,6 +364,11 @@ class AnotherTestController extends ControllerTestAppController {
|
|||
*/
|
||||
public $uses = null;
|
||||
|
||||
/**
|
||||
* merge parent
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $_mergeParent = 'ControllerTestAppController';
|
||||
}
|
||||
|
||||
|
@ -381,19 +392,21 @@ class ControllerTest extends CakeTestCase {
|
|||
* @return void
|
||||
*/
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
App::objects('plugin', null, false);
|
||||
App::build();
|
||||
Router::reload();
|
||||
}
|
||||
|
||||
/**
|
||||
* teardown
|
||||
* tearDown
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function teardown() {
|
||||
public function tearDown() {
|
||||
CakePlugin::unload();
|
||||
App::build();
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1112,6 +1125,7 @@ class ControllerTest extends CakeTestCase {
|
|||
|
||||
$Controller->startupProcess();
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the shutdown process calls the correct functions
|
||||
*
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
* @since CakePHP(tm) v 1.2.0.5436
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
App::uses('Router', 'Routing');
|
||||
App::uses('Controller', 'Controller');
|
||||
App::uses('Scaffold', 'Controller');
|
||||
|
@ -105,8 +104,6 @@ class TestScaffoldMock extends Scaffold {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Scaffold Test class
|
||||
*
|
||||
|
@ -127,6 +124,7 @@ class ScaffoldTest extends CakeTestCase {
|
|||
* @var array
|
||||
*/
|
||||
public $fixtures = array('core.article', 'core.user', 'core.comment', 'core.join_thing', 'core.tag');
|
||||
|
||||
/**
|
||||
* setUp method
|
||||
*
|
||||
|
@ -273,6 +271,7 @@ class ScaffoldTest extends CakeTestCase {
|
|||
$result = ob_get_clean();
|
||||
$this->assertRegExp('/Scaffold Mock has been updated/', $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* test that habtm relationship keys get added to scaffoldFields.
|
||||
*
|
||||
|
@ -308,6 +307,7 @@ class ScaffoldTest extends CakeTestCase {
|
|||
$result = $Scaffold->controller->viewVars;
|
||||
$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
|
||||
*
|
||||
|
|
|
@ -29,12 +29,14 @@ App::uses('Router', 'Routing');
|
|||
class ErrorHandlerTest extends CakeTestCase {
|
||||
|
||||
public $_restoreError = false;
|
||||
|
||||
/**
|
||||
* setup create a request object to get out of router later.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
App::build(array(
|
||||
'View' => array(
|
||||
CAKE . 'Test' . DS . 'test_app' . DS . 'View'. DS
|
||||
|
@ -51,17 +53,18 @@ class ErrorHandlerTest extends CakeTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* teardown
|
||||
* tearDown
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function teardown() {
|
||||
public function tearDown() {
|
||||
Configure::write('debug', $this->_debug);
|
||||
Configure::write('Error', $this->_error);
|
||||
App::build();
|
||||
if ($this->_restoreError) {
|
||||
restore_error_handler();
|
||||
}
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -126,6 +126,7 @@ class MyCustomExceptionRenderer extends ExceptionRenderer {
|
|||
echo 'widget thing is missing';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Exception class for testing app error handlers and custom errors.
|
||||
*
|
||||
|
@ -142,12 +143,14 @@ class MissingWidgetThingException extends NotFoundException { }
|
|||
class ExceptionRendererTest extends CakeTestCase {
|
||||
|
||||
public $_restoreError = false;
|
||||
|
||||
/**
|
||||
* setup create a request object to get out of router later.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
App::build(array(
|
||||
'views' => array(
|
||||
CAKE . 'Test' . DS . 'test_app' . DS . 'View'. DS
|
||||
|
@ -164,17 +167,18 @@ class ExceptionRendererTest extends CakeTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* teardown
|
||||
* tearDown
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function teardown() {
|
||||
public function tearDown() {
|
||||
Configure::write('debug', $this->_debug);
|
||||
Configure::write('Error', $this->_error);
|
||||
App::build();
|
||||
if ($this->_restoreError) {
|
||||
restore_error_handler();
|
||||
}
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -406,6 +410,7 @@ class ExceptionRendererTest extends CakeTestCase {
|
|||
$result = ob_get_clean();
|
||||
$this->assertContains('Not Found', $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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]['User']['password']), 'password found %s');
|
||||
}
|
||||
|
||||
/**
|
||||
* testFindConditionalBinding method
|
||||
*
|
||||
|
@ -3568,6 +3569,7 @@ class ContainableBehaviorTest extends CakeTestCase {
|
|||
$this->assertTrue(isset($result[0]['Article']));
|
||||
$this->assertTrue(isset($result[0]['User']));
|
||||
}
|
||||
|
||||
/**
|
||||
* 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);
|
||||
}
|
||||
|
||||
/**
|
||||
* testTranslateTableWithPrefix method
|
||||
* 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->Tree->cacheQueries = $original;
|
||||
}
|
||||
|
||||
/**
|
||||
* testGenerateTreeListWithSelfJoin method
|
||||
*
|
||||
|
|
|
@ -254,6 +254,7 @@ class TestBehavior extends ModelBehavior {
|
|||
}
|
||||
echo "onError trigger success";
|
||||
}
|
||||
|
||||
/**
|
||||
* beforeTest method
|
||||
*
|
||||
|
|
|
@ -440,12 +440,14 @@ class SchemaPrefixAuthUser extends CakeTestModel {
|
|||
* @var string
|
||||
*/
|
||||
public $name = 'SchemaPrefixAuthUser';
|
||||
|
||||
/**
|
||||
* table prefix
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $tablePrefix = 'auth_';
|
||||
|
||||
/**
|
||||
* useTable
|
||||
*
|
||||
|
@ -640,8 +642,11 @@ class CakeSchemaTest extends CakeTestCase {
|
|||
*/
|
||||
public function testSchemaReadWithConfigPrefix() {
|
||||
$this->skipIf($this->db instanceof Sqlite, 'Cannot open 2 connections to Sqlite');
|
||||
|
||||
$db = ConnectionManager::getDataSource('test');
|
||||
$config = $db->config;
|
||||
$this->skipIf(!empty($config['prefix']), 'This test can not be executed with datasource prefix set.');
|
||||
|
||||
$config['prefix'] = 'schema_test_prefix_';
|
||||
ConnectionManager::create('schema_prefix', $config);
|
||||
$read = $this->Schema->read(array('connection' => 'schema_prefix', 'models' => false));
|
||||
|
@ -743,6 +748,7 @@ class CakeSchemaTest extends CakeTestCase {
|
|||
$result = $this->Schema->generateTable('posts', $posts);
|
||||
$this->assertRegExp('/public \$posts/', $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* testSchemaWrite method
|
||||
*
|
||||
|
|
|
@ -24,7 +24,6 @@ App::uses('ConnectionManager', 'Model');
|
|||
*/
|
||||
class ConnectionManagerTest extends CakeTestCase {
|
||||
|
||||
|
||||
/**
|
||||
* tearDown method
|
||||
*
|
||||
|
@ -34,6 +33,7 @@ class ConnectionManagerTest extends CakeTestCase {
|
|||
parent::tearDown();
|
||||
CakePlugin::unload();
|
||||
}
|
||||
|
||||
/**
|
||||
* testEnumConnectionObjects method
|
||||
*
|
||||
|
|
|
@ -71,8 +71,8 @@ class CakeSessionTest extends CakeTestCase {
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setup() {
|
||||
parent::setup();
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
Configure::write('Session', array(
|
||||
'defaults' => 'php',
|
||||
'cookie' => 'cakephp',
|
||||
|
@ -382,7 +382,7 @@ class CakeSessionTest extends CakeTestCase {
|
|||
*/
|
||||
public function testCheckKeyWithSpaces() {
|
||||
$this->assertTrue(TestCakeSession::write('Session Test', "test"));
|
||||
$this->assertEquals('test', TestCakeSession::check('Session Test'));
|
||||
$this->assertTrue(TestCakeSession::check('Session Test'));
|
||||
TestCakeSession::delete('Session Test');
|
||||
|
||||
$this->assertTrue(TestCakeSession::write('Session Test.Test Case', "test"));
|
||||
|
@ -526,6 +526,7 @@ class CakeSessionTest extends CakeTestCase {
|
|||
App::build(array(
|
||||
'plugins' => array(CAKE . 'Test' . DS . 'test_app' . DS . 'Plugin' . DS)
|
||||
), true);
|
||||
CakePlugin::load('TestPlugin');
|
||||
|
||||
Configure::write('Session', array(
|
||||
'defaults' => 'cake',
|
||||
|
|
|
@ -225,6 +225,7 @@ class MysqlTest extends CakeTestCase {
|
|||
|
||||
$this->Dbo->rawQuery('DROP TABLE ' . $this->Dbo->fullTableName($tableName));
|
||||
}
|
||||
|
||||
/**
|
||||
* testLastAffected method
|
||||
*
|
||||
|
|
|
@ -206,6 +206,7 @@ class PostgresTest extends CakeTestCase {
|
|||
'core.tag', 'core.articles_tag', 'core.attachment', 'core.person', 'core.post', 'core.author',
|
||||
'core.datatype',
|
||||
);
|
||||
|
||||
/**
|
||||
* Actual DB connection used in testing
|
||||
*
|
||||
|
|
|
@ -163,6 +163,7 @@ class SqlserverTestModel extends Model {
|
|||
'foreignKey' => 'client_id'
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* find method
|
||||
*
|
||||
|
@ -302,6 +303,7 @@ class SqlserverTest extends CakeTestCase {
|
|||
$result = $this->db->value('', 'binary');
|
||||
$this->assertSame($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* testFields method
|
||||
*
|
||||
|
@ -459,6 +461,7 @@ class SqlserverTest extends CakeTestCase {
|
|||
);
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* testBuildColumn
|
||||
*
|
||||
|
@ -521,6 +524,7 @@ class SqlserverTest extends CakeTestCase {
|
|||
$expected = '[body] nvarchar(MAX)';
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* testBuildIndex method
|
||||
*
|
||||
|
@ -547,6 +551,7 @@ class SqlserverTest extends CakeTestCase {
|
|||
$expected = array('ALTER TABLE items ADD CONSTRAINT client_id UNIQUE([client_id], [period_id]);');
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* testUpdateAllSyntax method
|
||||
*
|
||||
|
|
|
@ -63,7 +63,7 @@ class CacheSessionTest extends CakeTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* teardown
|
||||
* tearDown
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
|
|
@ -66,22 +66,24 @@ class DatabaseSessionTest extends CakeTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* setup
|
||||
* setUp
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setup() {
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
$this->storage = new DatabaseSession();
|
||||
}
|
||||
|
||||
/**
|
||||
* teardown
|
||||
* tearDown
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function teardown() {
|
||||
public function tearDown() {
|
||||
unset($this->storage);
|
||||
ClassRegistry::flush();
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -135,6 +137,7 @@ class DatabaseSessionTest extends CakeTestCase {
|
|||
$result = $this->storage->write('', 'This is a Test');
|
||||
$this->assertFalse($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* test read()
|
||||
*
|
||||
|
@ -169,11 +172,14 @@ class DatabaseSessionTest extends CakeTestCase {
|
|||
* @return void
|
||||
*/
|
||||
public function testGc() {
|
||||
ClassRegistry::flush();
|
||||
Configure::write('Session.timeout', 0);
|
||||
$this->storage->write('foo', 'Some value');
|
||||
|
||||
$storage = new DatabaseSession();
|
||||
$storage->write('foo', 'Some value');
|
||||
|
||||
sleep(1);
|
||||
$this->storage->gc();
|
||||
$this->assertFalse($this->storage->read('foo'));
|
||||
$storage->gc();
|
||||
$this->assertFalse($storage->read('foo'));
|
||||
}
|
||||
}
|
|
@ -186,6 +186,7 @@ class DbAroUserTest extends CakeTestModel {
|
|||
* @var string 'auth_users'
|
||||
*/
|
||||
public $useTable = 'auth_users';
|
||||
|
||||
/**
|
||||
* bindNode method
|
||||
*
|
||||
|
|
|
@ -32,6 +32,7 @@ class DboMock extends DboSource {
|
|||
public function name($field) {
|
||||
return $field;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true to fake a database connection
|
||||
*/
|
||||
|
@ -2048,6 +2049,7 @@ class ModelIntegrationTest extends BaseModelTest {
|
|||
$result = $TestModel->escapeField('DomainHandle', 'Domain');
|
||||
$expected = $db->name('Domain.DomainHandle');
|
||||
$this->assertEquals($expected, $result);
|
||||
ConnectionManager::drop('mock');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -7447,6 +7447,7 @@ class ModelReadTest extends BaseModelTest {
|
|||
);
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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…
Reference in a new issue