Merge pull request #11619 from tenkoma/2.x-build-php72

2.x Build and Pass with PHP7.2
This commit is contained in:
Mark Story 2018-01-19 13:18:42 -05:00 committed by GitHub
commit 1e87526a16
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 33 additions and 14 deletions

View file

@ -41,15 +41,13 @@ matrix:
- php: 7.2
env: DB=mysql PHPUNIT=5.7.19
allow_failures:
exclude:
- php: 7.2
env: DB=mysql
- php: 7.2
env: DB=mysql PHPUNIT=5.7.19
before_script:
- if [[ ${TRAVIS_PHP_VERSION:0:3} == "7.2" ]] ; then pear config-set preferred_state snapshot && yes "" | pecl install mcrypt ; fi
- composer require "phpunit/phpunit=$PHPUNIT"
- echo "require_once 'vendors/autoload.php';" >> app/Config/bootstrap.php
- sudo locale-gen de_DE
@ -62,7 +60,6 @@ before_script:
- sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE SCHEMA test3;' -U postgres -d cakephp_test; fi"
- chmod -R 777 ./app/tmp
- if [[ ${TRAVIS_PHP_VERSION:0:3} == "5.3" ]] ; then pecl install timezonedb ; fi
- if [[ ${TRAVIS_PHP_VERSION:0:3} == "7.2" ]] ; then pecl install mcrypt ; fi
- sh -c "if [ '$PHPCS' = '1' ]; then composer require 'cakephp/cakephp-codesniffer:1.*'; fi"
- sh -c "if [ '$PHPCS' = '1' ]; then vendors/bin/phpcs --config-set installed_paths vendors/cakephp/cakephp-codesniffer; fi"
- echo "extension = memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini

View file

@ -331,6 +331,12 @@ class ControllerTask extends BakeTask {
public function bake($controllerName, $actions = '', $helpers = null, $components = null) {
$this->out("\n" . __d('cake_console', 'Baking controller class for %s...', $controllerName), 1, Shell::QUIET);
if ($helpers === null) {
$helpers = array();
}
if ($components === null) {
$components = array();
}
$isScaffold = ($actions === 'scaffold') ? true : false;
$this->Template->set(array(

View file

@ -554,7 +554,7 @@ class Multibyte {
if (!empty($keys)) {
foreach ($keys as $key => $value) {
if ($keys[$key]['upper'] == $char && count($keys[$key]['lower'][0]) === 1) {
if ($keys[$key]['upper'] == $char && count($keys[$key]['lower']) > 0) {
$lowerCase[] = $keys[$key]['lower'][0];
$matched = true;
break 1;

View file

@ -552,6 +552,12 @@ class CakeSession {
if (!empty($sessionConfig['handler'])) {
$sessionConfig['ini']['session.save_handler'] = 'user';
// In PHP7.2.0+ session.save_handler can't be set to 'user' by the user.
// https://github.com/php/php-src/commit/a93a51c3bf4ea1638ce0adc4a899cb93531b9f0d
if (version_compare(PHP_VERSION, '7.2.0', '>=')) {
unset($sessionConfig['ini']['session.save_handler']);
}
} elseif (!empty($sessionConfig['session.save_path']) && Configure::read('debug')) {
if (!is_dir($sessionConfig['session.save_path'])) {
mkdir($sessionConfig['session.save_path'], 0775, true);

View file

@ -415,6 +415,7 @@ class AuthComponentTest extends CakeTestCase {
TestAuthComponent::clearUser();
$this->Auth->Session->delete('Auth');
$this->Auth->Session->delete('Message.auth');
$this->Auth->Session->destroy();
unset($this->Controller, $this->Auth);
}

View file

@ -120,11 +120,11 @@ class ControllerPaginateModel extends CakeTestModel {
/**
* paginate method
*
* @return bool
* @return array
*/
public function paginate($conditions, $fields, $order, $limit, $page, $recursive, $extra) {
$this->extra = $extra;
return true;
return array(true);
}
/**

View file

@ -186,6 +186,7 @@ class SecurityComponentTest extends CakeTestCase {
public function tearDown() {
parent::tearDown();
$this->Controller->Session->delete('_Token');
$this->Controller->Session->destroy();
unset($this->Controller->Security);
unset($this->Controller->Component);
unset($this->Controller);

View file

@ -17,6 +17,7 @@
*/
App::uses('Router', 'Routing');
App::uses('CakeSession', 'Model/Datasource');
App::uses('Controller', 'Controller');
App::uses('Scaffold', 'Controller');
App::uses('ScaffoldView', 'View');
@ -175,6 +176,7 @@ class ScaffoldTest extends CakeTestCase {
*/
public function tearDown() {
parent::tearDown();
CakeSession::destroy();
unset($this->Controller);
}

View file

@ -51,6 +51,7 @@ class I18nTest extends CakeTestCase {
parent::tearDown();
Cache::delete('object_map', '_cake_core_');
CakeSession::destroy();
App::build();
CakePlugin::unload();
}

View file

@ -64,7 +64,7 @@ class ConnectionManagerTest extends CakeTestCase {
ConnectionManager::create($name, $config);
$connections = ConnectionManager::enumConnectionObjects();
$this->assertTrue((bool)(count(array_keys($connections) >= 1)));
$this->assertTrue(count(array_keys($connections)) >= 1);
$source = ConnectionManager::getDataSource('test_get_datasource');
$this->assertTrue(is_object($source));
@ -239,7 +239,7 @@ class ConnectionManagerTest extends CakeTestCase {
$name = 'test_created_connection';
$connections = ConnectionManager::enumConnectionObjects();
$this->assertTrue((bool)(count(array_keys($connections) >= 1)));
$this->assertTrue(count(array_keys($connections)) >= 1);
$source = ConnectionManager::getDataSource('test');
$this->assertTrue(is_object($source));

View file

@ -3367,7 +3367,9 @@ class ModelWriteTest extends BaseModelTest {
array(
'comment' => 'Article comment',
'user_id' => 1
)));
)
)
);
$Article = new Article();
$result = $Article->saveAll($data);
$this->assertFalse(empty($result));
@ -3376,7 +3378,7 @@ class ModelWriteTest extends BaseModelTest {
$this->assertEquals(2, count($result['Tag']));
$this->assertEquals('tag1', $result['Tag'][0]['tag']);
$this->assertEquals(1, count($result['Comment']));
$this->assertEquals(1, count($result['Comment'][0]['comment']));
$this->assertEquals('Article comment', $result['Comment'][0]['comment']);
}
/**
@ -5647,7 +5649,9 @@ class ModelWriteTest extends BaseModelTest {
array(
'comment' => 'Article comment',
'user_id' => 1
)));
)
)
);
$Article = new Article();
$result = $Article->saveAssociated($data);
$this->assertFalse(empty($result));
@ -5656,7 +5660,7 @@ class ModelWriteTest extends BaseModelTest {
$this->assertEquals(2, count($result['Tag']));
$this->assertEquals('tag1', $result['Tag'][0]['tag']);
$this->assertEquals(1, count($result['Comment']));
$this->assertEquals(1, count($result['Comment'][0]['comment']));
$this->assertEquals('Article comment', $result['Comment'][0]['comment']);
}
/**

View file

@ -87,6 +87,7 @@ class SessionHelperTest extends CakeTestCase {
public function tearDown() {
$_SESSION = array();
unset($this->View, $this->Session);
CakeSession::destroy();
CakePlugin::unload();
parent::tearDown();
}