Skip to content

Commit

Permalink
Merge pull request #12718 from bancer/php-7.3
Browse files Browse the repository at this point in the history
Fix some PHP 7.3 errors
  • Loading branch information
markstory committed Nov 13, 2018
2 parents dd9601d + 22b0386 commit 8573c15
Show file tree
Hide file tree
Showing 7 changed files with 54 additions and 65 deletions.
5 changes: 4 additions & 1 deletion .travis.yml
Expand Up @@ -71,7 +71,10 @@ before_script:
- if [[ ${TRAVIS_PHP_VERSION:0:3} == "5.3" ]] ; then pecl install timezonedb ; 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
- |
if [[ ${TRAVIS_PHP_VERSION} != "7.3" ]]; then
echo "extension = memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini;
fi
- if [[ ${TRAVIS_PHP_VERSION:0:1} == "7" ]] ; then echo "yes" | pecl install apcu-5.1.3 || true; fi
- if [[ ${TRAVIS_PHP_VERSION:0:1} == "5" ]] ; then echo "yes" | pecl install apcu-4.0.11 || true; fi
- echo -e "extension = apcu.so\napc.enable_cli=1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
Expand Down
2 changes: 1 addition & 1 deletion lib/Cake/Console/Command/Task/ModelTask.php
Expand Up @@ -224,7 +224,7 @@ protected function _interactive() {
if (!array_key_exists('id', $fields)) {
$primaryKey = $this->findPrimaryKey($fields);
}

$displayField = null;
if ($knownToExist) {
$displayField = $tempModel->hasField(array('name', 'title'));
if (!$displayField) {
Expand Down
2 changes: 1 addition & 1 deletion lib/Cake/Core/App.php
Expand Up @@ -891,7 +891,7 @@ protected static function _packageFormat() {
/**
* Increases the PHP "memory_limit" ini setting by the specified amount
* in kilobytes
*
*
* @param string $additionalKb Number in kilobytes
* @return void
*/
Expand Down
2 changes: 1 addition & 1 deletion lib/Cake/Model/Permission.php
Expand Up @@ -146,7 +146,7 @@ public function check($aro, $aco, $action = '*') {
case -1:
return false;
case 0:
continue;
break;
case 1:
return true;
}
Expand Down
69 changes: 17 additions & 52 deletions lib/Cake/Test/Case/Console/Command/Task/ExtractTaskTest.php
Expand Up @@ -380,25 +380,12 @@ public function testExtractModelValidation() {

$this->Task->execute();
$result = file_get_contents($this->path . DS . 'default.pot');

$pattern = preg_quote('#Model/PersisterOne.php:validation for field title#', '\\');
$this->assertRegExp($pattern, $result);

$pattern = preg_quote('#Model/PersisterOne.php:validation for field body#', '\\');
$this->assertRegExp($pattern, $result);

$pattern = '#msgid "Post title is required"#';
$this->assertRegExp($pattern, $result);

$pattern = '#msgid "You may enter up to %s chars \(minimum is %s chars\)"#';
$this->assertRegExp($pattern, $result);

$pattern = '#msgid "Post body is required"#';
$this->assertRegExp($pattern, $result);

$pattern = '#msgid "Post body is super required"#';
$this->assertRegExp($pattern, $result);

$this->assertContains('Model/PersisterOne.php:validation for field title', $result);
$this->assertContains('Model/PersisterOne.php:validation for field body', $result);
$this->assertContains('msgid "Post title is required"', $result);
$this->assertContains('msgid "You may enter up to %s chars (minimum is %s chars)"', $result);
$this->assertContains('msgid "Post body is required"', $result);
$this->assertContains('msgid "Post body is super required"', $result);
$this->assertContains('msgid "double \\"quoted\\" validation"', $result, 'Strings with quotes not handled correctly');
$this->assertContains("msgid \"single 'quoted' validation\"", $result, 'Strings with quotes not handled correctly');
}
Expand Down Expand Up @@ -429,21 +416,11 @@ public function testExtractModelValidationWithDomainInModel() {

$this->Task->execute();
$result = file_get_contents($this->path . DS . 'test_plugin.pot');

$pattern = preg_quote('#Plugin/TestPlugin/Model/TestPluginPost.php:validation for field title#', '\\');
$this->assertRegExp($pattern, $result);

$pattern = preg_quote('#Plugin/TestPlugin/Model/TestPluginPost.php:validation for field body#', '\\');
$this->assertRegExp($pattern, $result);

$pattern = '#msgid "Post title is required"#';
$this->assertRegExp($pattern, $result);

$pattern = '#msgid "Post body is required"#';
$this->assertRegExp($pattern, $result);

$pattern = '#msgid "Post body is super required"#';
$this->assertRegExp($pattern, $result);
$this->assertContains('Plugin/TestPlugin/Model/TestPluginPost.php:validation for field title', $result);
$this->assertContains('Plugin/TestPlugin/Model/TestPluginPost.php:validation for field body', $result);
$this->assertContains('msgid "Post title is required"', $result);
$this->assertContains('msgid "Post body is required"', $result);
$this->assertContains('msgid "Post body is super required"', $result);
}

/**
Expand All @@ -468,24 +445,12 @@ public function testExtractModelValidationInPlugin() {

$this->Task->execute();
$result = file_get_contents($this->path . DS . 'test_plugin.pot');

$pattern = preg_quote('#Model/TestPluginPost.php:validation for field title#', '\\');
$this->assertRegExp($pattern, $result);

$pattern = preg_quote('#Model/TestPluginPost.php:validation for field body#', '\\');
$this->assertRegExp($pattern, $result);

$pattern = '#msgid "Post title is required"#';
$this->assertRegExp($pattern, $result);

$pattern = '#msgid "Post body is required"#';
$this->assertRegExp($pattern, $result);

$pattern = '#msgid "Post body is super required"#';
$this->assertRegExp($pattern, $result);

$pattern = '#Plugin/TestPlugin/Model/TestPluginPost.php:validation for field title#';
$this->assertNotRegExp($pattern, $result);
$this->assertContains('Model/TestPluginPost.php:validation for field title', $result);
$this->assertContains('Model/TestPluginPost.php:validation for field body', $result);
$this->assertContains('msgid "Post title is required"', $result);
$this->assertContains('msgid "Post body is required"', $result);
$this->assertContains('msgid "Post body is super required"', $result);
$this->assertNotContains('Plugin/TestPlugin/Model/TestPluginPost.php:validation for field title', $result);
}

/**
Expand Down
37 changes: 29 additions & 8 deletions lib/Cake/Test/Case/I18n/MultibyteTest.php
Expand Up @@ -7623,26 +7623,47 @@ public function testUsingMbStrtoupper() {
$expected = 'ԀԂԄԆԈԊԌԎԐԒ';
$this->assertEquals($expected, $result);

$string = 'աբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆև';
$string = 'ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ';
$result = mb_strtoupper($string);
$expected = 'ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖև';
$expected = 'ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ';
$this->assertEquals($expected, $result);

$string = 'ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ';
$string = 'ωkå';
$result = mb_strtoupper($string);
$expected = 'ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ';
$expected = 'ΩKÅ';
$this->assertEquals($expected, $result);
}

$string = 'ḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕẖẗẘẙẚạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹ';
/**
* testUsingMbStrtoupperArmenian method
*
* @return void
*/
public function testUsingMbStrtoupperArmenian() {
$string = 'աբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆև';
$result = mb_strtoupper($string);
$expected = 'ḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẖẗẘẙẚẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸ';
$expected = 'ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖև';
$this->assertEquals($expected, $result);
}

$string = 'ωkå';
/**
* testUsingMbStrtoupperDiacritic method
*
* @return void
*/
public function testUsingMbStrtoupperDiacritic() {
$string = 'ḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕẖẗẘẙẚạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹ';
$result = mb_strtoupper($string);
$expected = 'ΩKÅ';
$expected = 'ḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẖẗẘẙẚẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸ';
$this->assertEquals($expected, $result);
}

/**
* testUsingMbStrtoupperLigatures method
*
* @return void
*/
public function testUsingMbStrtoupperLigatures() {
$string = 'fffiflffifflſtstﬓﬔﬕﬖﬗ';
$result = mb_strtoupper($string);
$expected = 'fffiflffifflſtstﬓﬔﬕﬖﬗ';
Expand Down
2 changes: 1 addition & 1 deletion lib/Cake/Utility/Debugger.php
Expand Up @@ -252,7 +252,7 @@ public static function showError($code, $description, $file = null, $line = null
}

$data = compact(
'level', 'error', 'code', 'description', 'file', 'path', 'line', 'context'
'level', 'error', 'code', 'description', 'file', 'line', 'context'
);
echo $self->outputError($data);

Expand Down

0 comments on commit 8573c15

Please sign in to comment.