define('TEST_APP', CORE_TESTS . 'test_app' . DS); // Point app constants to the test app. define('APP', TEST_APP . 'TestApp' . DS); define('WWW_ROOT', TEST_APP . 'webroot' . DS); define('CONFIG', TEST_APP . 'config' . DS); //@codingStandardsIgnoreStart @mkdir(LOGS); @mkdir(SESSIONS); @mkdir(CACHE); @mkdir(CACHE . 'views'); @mkdir(CACHE . 'models'); //@codingStandardsIgnoreEnd require_once CORE_PATH . 'config/bootstrap.php'; date_default_timezone_set('UTC'); mb_internal_encoding('UTF-8'); Configure::write('debug', true); Configure::write('App', ['namespace' => 'App', 'encoding' => 'UTF-8', 'base' => false, 'baseUrl' => false, 'dir' => APP_DIR, 'webroot' => 'webroot', 'wwwRoot' => WWW_ROOT, 'fullBaseUrl' => 'http://localhost', 'imageBaseUrl' => 'img/', 'jsBaseUrl' => 'js/', 'cssBaseUrl' => 'css/', 'paths' => ['plugins' => [TEST_APP . 'Plugin' . DS], 'templates' => [APP . 'Template' . DS], 'locales' => [APP . 'Locale' . DS]]]); Cache::config(['_cake_core_' => ['engine' => 'File', 'prefix' => 'cake_core_', 'serialize' => true], '_cake_model_' => ['engine' => 'File', 'prefix' => 'cake_model_', 'serialize' => true]]); // Ensure default test connection is defined if (!getenv('db_dsn')) { putenv('db_dsn=sqlite:///:memory:'); } ConnectionManager::config('test', ['url' => getenv('db_dsn')]); ConnectionManager::config('test_custom_i18n_datasource', ['url' => getenv('db_dsn')]); Configure::write('Session', ['defaults' => 'php']); Log::config(['debug' => ['engine' => 'Cake\\Log\\Engine\\FileLog', 'levels' => ['notice', 'info', 'debug'], 'file' => 'debug'], 'error' => ['engine' => 'Cake\\Log\\Engine\\FileLog', 'levels' => ['warning', 'error', 'critical', 'alert', 'emergency'], 'file' => 'error']]); Chronos::setTestNow(Chronos::now()); MutableDateTime::setTestNow(MutableDateTime::now()); Date::setTestNow(Date::now()); MutableDate::setTestNow(MutableDate::now()); ini_set('intl.default_locale', 'en_US');
/** * Returns true this instance happened within the specified interval * * This overridden method provides backwards compatible behavior for integers, * or strings with trailing spaces. This behavior is *deprecated* and will be * removed in future versions of CakePHP. * * @param string|int $timeInterval the numeric value with space then time type. * Example of valid types: 6 hours, 2 days, 1 minute. * @return bool */ public function isWithinNext($timeInterval) { $tmp = trim($timeInterval); if (is_numeric($tmp)) { $timeInterval = $tmp . ' days'; } return parent::isWithinNext($timeInterval); }
/** * Create a new mutable instance from current immutable instance. * * @return \Cake\Chronos\MutableDateTime */ public function toMutable() { return MutableDateTime::instance($this); }