better/quicker use setUpBeforeClass to create accounts and update to phpUnit 8

This commit is contained in:
Ralf Becker 2020-03-04 18:46:47 +01:00
parent 4c6e41d479
commit 55a0c2b6bc
5 changed files with 267 additions and 284 deletions

View File

@ -42,14 +42,7 @@ before_script:
- sudo cp -f doc/travis-ci-apache.conf /etc/apache2/sites-available/000-default.conf - sudo cp -f doc/travis-ci-apache.conf /etc/apache2/sites-available/000-default.conf
- sudo sed -e "s?%TRAVIS_BUILD_DIR%?$(pwd)?g" --in-place /etc/apache2/sites-available/000-default.conf - sudo sed -e "s?%TRAVIS_BUILD_DIR%?$(pwd)?g" --in-place /etc/apache2/sites-available/000-default.conf
- sudo service apache2 restart - sudo service apache2 restart
- case $(phpenv version-name) in - curl -i http://localhost/egroupware/groupdav.php/
"7.2")
composer require --ignore-platform-reqs 'phpunit/phpunit:~8';
;;
*)
composer require --ignore-platform-reqs 'phpunit/phpunit:~9';
;;
esac
- php -m - php -m
- php -i - php -i
- php install-cli.php --ignore-platform-reqs - php install-cli.php --ignore-platform-reqs

View File

@ -89,12 +89,12 @@ abstract class CalDAVTest extends TestCase
* *
* Example with boss granting secretary full rights on his calendar, plus one other user: * Example with boss granting secretary full rights on his calendar, plus one other user:
* *
* $this->users = [ * $users = [
* 'boss' => [], * 'boss' => [],
* 'secretary' => ['rights' => ['boss' => Acl::READ|Acl::ADD|Acl::EDIT|Acl::DELETE]], * 'secretary' => ['rights' => ['boss' => Acl::READ|Acl::ADD|Acl::EDIT|Acl::DELETE]],
* 'other' => [], * 'other' => [],
* ]; * ];
* $this->createUsersACL($this->users); * self::createUsersACL($users);
* *
* @param array& $users $account_lid => array with values for keys with (defaults) "firstname" ($_acount_lid), "lastname" ("User"), * @param array& $users $account_lid => array with values for keys with (defaults) "firstname" ($_acount_lid), "lastname" ("User"),
* "email" ("$_account_lid@example.org"), "password" (random string), "primary_group" ("NoGroups" to not set rights) * "email" ("$_account_lid@example.org"), "password" (random string), "primary_group" ("NoGroups" to not set rights)
@ -106,11 +106,11 @@ abstract class CalDAVTest extends TestCase
{ {
foreach($users as $user => $data) foreach($users as $user => $data)
{ {
$data['id'] = $this->createUser($user, $data); $data['id'] = self::createUser($user, $data);
foreach($data['rights'] ?? [] as $grantee => $rights) foreach($data['rights'] ?? [] as $grantee => $rights)
{ {
$this->addAcl('calendar', $data['id'], $grantee, $rights); self::addAcl('calendar', $data['id'], $grantee, $rights);
} }
} }
} }
@ -120,7 +120,7 @@ abstract class CalDAVTest extends TestCase
* *
* @var array $account_lid => array with other data pairs * @var array $account_lid => array with other data pairs
*/ */
private $created_users = []; private static $created_users = [];
/** /**
* Create a user * Create a user
@ -135,7 +135,7 @@ abstract class CalDAVTest extends TestCase
* @return int account_id of created user * @return int account_id of created user
* @throws \Exception * @throws \Exception
*/ */
protected function createUser($_account_lid, array &$data=[]) protected static function createUser($_account_lid, array &$data=[])
{ {
// add some defaults // add some defaults
$data = array_merge([ $data = array_merge([
@ -146,13 +146,13 @@ abstract class CalDAVTest extends TestCase
'primary_group' => 'NoGroup', 'primary_group' => 'NoGroup',
], $data); ], $data);
$data['id'] = $this->getSetup()->add_account($_account_lid, $data['firstname'], $data['lastname'], $data['id'] = self::getSetup()->add_account($_account_lid, $data['firstname'], $data['lastname'],
$data['password'], $data['primary_group'], false, $data['email']); $data['password'], $data['primary_group'], false, $data['email']);
// give use run rights for CalDAV apps, as NoGroup does NOT! // give use run rights for CalDAV apps, as NoGroup does NOT!
$this->addAcl(['groupdav','calendar','infolog','addressbook'], 'run', $data['id']); self::addAcl(['groupdav','calendar','infolog','addressbook'], 'run', $data['id']);
$this->created_users[$_account_lid] = $data; self::$created_users[$_account_lid] = $data;
return $data['id']; return $data['id'];
} }
@ -169,13 +169,13 @@ abstract class CalDAVTest extends TestCase
{ {
$password = 'guest'; $password = 'guest';
} }
elseif (!isset($this->created_users[$_account_lid])) elseif (!isset(self::$created_users[$_account_lid]))
{ {
throw new \InvalidArgumentException("No user '$_account_lid' exist, need to create it with createUser('$_account_lid')"); throw new \InvalidArgumentException("No user '$_account_lid' exist, need to create it with createUser('$_account_lid')");
} }
else else
{ {
$password = $this->created_users[$_account_lid]['password']; $password = self::$created_users[$_account_lid]['password'];
} }
return [RequestOptions::AUTH => [$_account_lid, $password]]; return [RequestOptions::AUTH => [$_account_lid, $password]];
} }
@ -183,15 +183,17 @@ abstract class CalDAVTest extends TestCase
/** /**
* Tear down: * Tear down:
* - delete users created by createUser() incl. their ACL and data * - delete users created by createUser() incl. their ACL and data
*
* @ToDo: implement eg. with admin_cmd_delete_user to also delete ACL and data
*/ */
public function tearDown() public static function tearDownAfterClass() : void
{ {
$setup = $this->getSetup(); $setup = self::getSetup();
foreach($this->created_users as $account_lid => $data) foreach(self::$created_users as $account_lid => $data)
{ {
// if ($id) $setup->accounts->delete($data['id']); // if ($id) $setup->accounts->delete($data['id']);
unset($this->created_users[$account_lid]); unset(self::$created_users[$account_lid]);
} }
} }
@ -203,9 +205,9 @@ abstract class CalDAVTest extends TestCase
* @param int|string $account accountid or account_lid * @param int|string $account accountid or account_lid
* @param int $rights rights to set, default 1 * @param int $rights rights to set, default 1
*/ */
function addAcl($apps, $location, $account, $rights=1) protected static function addAcl($apps, $location, $account, $rights=1)
{ {
return $this->getSetup()->add_acl($apps, $location, $account, $rights); return self::getSetup()->add_acl($apps, $location, $account, $rights);
} }
/** /**
@ -213,7 +215,7 @@ abstract class CalDAVTest extends TestCase
* *
* @return \setup * @return \setup
*/ */
private function getSetup() private static function getSetup()
{ {
if (!isset($_REQUEST['domain'])) if (!isset($_REQUEST['domain']))
{ {
@ -357,19 +359,4 @@ abstract class CalDAVTest extends TestCase
} }
return $msgs; return $msgs;
} }
public static function setUpBeforeClass()
{
parent::setUpBeforeClass();
}
public static function tearDownAfterClass()
{
parent::tearDownAfterClass();
}
public function setUp()
{
}
} }

View File

@ -38,7 +38,7 @@ class CalDAVsingleDELETE extends CalDAVTest
* *
* @var array * @var array
*/ */
protected $users = [ protected static $users = [
'boss' => [], 'boss' => [],
'secretary' => [ 'secretary' => [
'rights' => [ 'rights' => [
@ -51,11 +51,11 @@ class CalDAVsingleDELETE extends CalDAVTest
/** /**
* Create some users incl. ACL * Create some users incl. ACL
*/ */
public function setUp() public static function setUpBeforeClass() : void
{ {
parent::setUp(); parent::setUpBeforeClass();
$this->createUsersACL($this->users, 'calendar'); self::createUsersACL(self::$users, 'calendar');
} }
/** /**
@ -63,7 +63,7 @@ class CalDAVsingleDELETE extends CalDAVTest
*/ */
public function testPrincipals() public function testPrincipals()
{ {
foreach($this->users as $user => &$data) foreach(self::$users as $user => &$data)
{ {
$response = $this->getClient()->propfind($this->url('/principals/users/'.$user.'/'), [ $response = $this->getClient()->propfind($this->url('/principals/users/'.$user.'/'), [
RequestOptions::HEADERS => [ RequestOptions::HEADERS => [

View File

@ -45,12 +45,12 @@
], ],
"config": { "config": {
"platform": { "platform": {
"php": "7.0" "php": "7.2"
}, },
"sort-packages": true "sort-packages": true
}, },
"require": { "require": {
"php": ">=7.0,<=8.0.0alpha1", "php": ">=7.2,<=8.0.0alpha1",
"ext-gd": "*", "ext-gd": "*",
"ext-json": "*", "ext-json": "*",
"ext-mysqli": "*", "ext-mysqli": "*",
@ -102,7 +102,7 @@
}, },
"require-dev": { "require-dev": {
"guzzlehttp/guzzle": "^6.5", "guzzlehttp/guzzle": "^6.5",
"phpunit/phpunit": "^6.5" "phpunit/phpunit": "~8"
}, },
"suggests": { "suggests": {
"ext-opcache": "Opcode cache to speed up PHP", "ext-opcache": "Opcode cache to speed up PHP",

473
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "27faeaf9e9bc34e41c89222565e6db06", "content-hash": "92e5456bf6c24dfb568926895cf688bd",
"packages": [ "packages": [
{ {
"name": "adldap2/adldap2", "name": "adldap2/adldap2",
@ -3980,32 +3980,34 @@
"packages-dev": [ "packages-dev": [
{ {
"name": "doctrine/instantiator", "name": "doctrine/instantiator",
"version": "1.0.5", "version": "1.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/instantiator.git", "url": "https://github.com/doctrine/instantiator.git",
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" "reference": "ae466f726242e637cebdd526a7d991b9433bacf1"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1",
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", "reference": "ae466f726242e637cebdd526a7d991b9433bacf1",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.3,<8.0-DEV" "php": "^7.1"
}, },
"require-dev": { "require-dev": {
"athletic/athletic": "~0.1.8", "doctrine/coding-standard": "^6.0",
"ext-pdo": "*", "ext-pdo": "*",
"ext-phar": "*", "ext-phar": "*",
"phpunit/phpunit": "~4.0", "phpbench/phpbench": "^0.13",
"squizlabs/php_codesniffer": "~2.0" "phpstan/phpstan-phpunit": "^0.11",
"phpstan/phpstan-shim": "^0.11",
"phpunit/phpunit": "^7.0"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.0.x-dev" "dev-master": "1.2.x-dev"
} }
}, },
"autoload": { "autoload": {
@ -4025,12 +4027,12 @@
} }
], ],
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
"homepage": "https://github.com/doctrine/instantiator", "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
"keywords": [ "keywords": [
"constructor", "constructor",
"instantiate" "instantiate"
], ],
"time": "2015-06-14T21:17:01+00:00" "time": "2019-10-21T16:45:58+00:00"
}, },
{ {
"name": "guzzlehttp/guzzle", "name": "guzzlehttp/guzzle",
@ -4223,25 +4225,28 @@
}, },
{ {
"name": "myclabs/deep-copy", "name": "myclabs/deep-copy",
"version": "1.7.0", "version": "1.9.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/myclabs/DeepCopy.git", "url": "https://github.com/myclabs/DeepCopy.git",
"reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/b2c28789e80a97badd14145fda39b545d83ca3ef",
"reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^5.6 || ^7.0" "php": "^7.1"
},
"replace": {
"myclabs/deep-copy": "self.version"
}, },
"require-dev": { "require-dev": {
"doctrine/collections": "^1.0", "doctrine/collections": "^1.0",
"doctrine/common": "^2.6", "doctrine/common": "^2.6",
"phpunit/phpunit": "^4.1" "phpunit/phpunit": "^7.1"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -4264,26 +4269,26 @@
"object", "object",
"object graph" "object graph"
], ],
"time": "2017-10-19T19:58:43+00:00" "time": "2020-01-17T21:11:47+00:00"
}, },
{ {
"name": "phar-io/manifest", "name": "phar-io/manifest",
"version": "1.0.1", "version": "1.0.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phar-io/manifest.git", "url": "https://github.com/phar-io/manifest.git",
"reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
"reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-dom": "*", "ext-dom": "*",
"ext-phar": "*", "ext-phar": "*",
"phar-io/version": "^1.0.1", "phar-io/version": "^2.0",
"php": "^5.6 || ^7.0" "php": "^5.6 || ^7.0"
}, },
"type": "library", "type": "library",
@ -4319,20 +4324,20 @@
} }
], ],
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
"time": "2017-03-05T18:14:27+00:00" "time": "2018-07-08T19:23:20+00:00"
}, },
{ {
"name": "phar-io/version", "name": "phar-io/version",
"version": "1.0.1", "version": "2.0.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phar-io/version.git", "url": "https://github.com/phar-io/version.git",
"reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6",
"reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4366,39 +4371,37 @@
} }
], ],
"description": "Library for handling version information and constraints", "description": "Library for handling version information and constraints",
"time": "2017-03-05T17:38:23+00:00" "time": "2018-07-08T19:19:57+00:00"
}, },
{ {
"name": "phpdocumentor/reflection-common", "name": "phpdocumentor/reflection-common",
"version": "1.0.1", "version": "2.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/ReflectionCommon.git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
"reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a",
"reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.5" "php": ">=7.1"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^4.6" "phpunit/phpunit": "~6"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.0.x-dev" "dev-master": "2.x-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"phpDocumentor\\Reflection\\": [ "phpDocumentor\\Reflection\\": "src/"
"src"
]
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
@ -4420,45 +4423,42 @@
"reflection", "reflection",
"static analysis" "static analysis"
], ],
"time": "2017-09-11T18:02:19+00:00" "time": "2018-08-07T13:53:10+00:00"
}, },
{ {
"name": "phpdocumentor/reflection-docblock", "name": "phpdocumentor/reflection-docblock",
"version": "4.3.4", "version": "5.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c" "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c", "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e",
"reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c", "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.0", "ext-filter": "^7.1",
"phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", "php": "^7.2",
"phpdocumentor/type-resolver": "~0.4 || ^1.0.0", "phpdocumentor/reflection-common": "^2.0",
"webmozart/assert": "^1.0" "phpdocumentor/type-resolver": "^1.0",
"webmozart/assert": "^1"
}, },
"require-dev": { "require-dev": {
"doctrine/instantiator": "^1.0.5", "doctrine/instantiator": "^1",
"mockery/mockery": "^1.0", "mockery/mockery": "^1"
"phpdocumentor/type-resolver": "0.4.*",
"phpunit/phpunit": "^6.4"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "4.x-dev" "dev-master": "5.x-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"phpDocumentor\\Reflection\\": [ "phpDocumentor\\Reflection\\": "src"
"src/"
]
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
@ -4469,37 +4469,41 @@
{ {
"name": "Mike van Riel", "name": "Mike van Riel",
"email": "me@mikevanriel.com" "email": "me@mikevanriel.com"
},
{
"name": "Jaap van Otterdijk",
"email": "account@ijaap.nl"
} }
], ],
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"time": "2019-12-28T18:55:12+00:00" "time": "2020-02-22T12:28:44+00:00"
}, },
{ {
"name": "phpdocumentor/type-resolver", "name": "phpdocumentor/type-resolver",
"version": "0.5.1", "version": "1.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git", "url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "cf842904952e64e703800d094cdf34e715a8a3ae" "reference": "7462d5f123dfc080dfdf26897032a6513644fc95"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/cf842904952e64e703800d094cdf34e715a8a3ae", "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/7462d5f123dfc080dfdf26897032a6513644fc95",
"reference": "cf842904952e64e703800d094cdf34e715a8a3ae", "reference": "7462d5f123dfc080dfdf26897032a6513644fc95",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.0", "php": "^7.2",
"phpdocumentor/reflection-common": "^1.0" "phpdocumentor/reflection-common": "^2.0"
}, },
"require-dev": { "require-dev": {
"mockery/mockery": "^1.0", "ext-tokenizer": "^7.2",
"phpunit/phpunit": "^6.4" "mockery/mockery": "~1"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.0.x-dev" "dev-master": "1.x-dev"
} }
}, },
"autoload": { "autoload": {
@ -4517,7 +4521,8 @@
"email": "me@mikevanriel.com" "email": "me@mikevanriel.com"
} }
], ],
"time": "2017-12-30T13:23:38+00:00" "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"time": "2020-02-18T18:59:58+00:00"
}, },
{ {
"name": "phpspec/prophecy", "name": "phpspec/prophecy",
@ -4584,40 +4589,40 @@
}, },
{ {
"name": "phpunit/php-code-coverage", "name": "phpunit/php-code-coverage",
"version": "5.3.2", "version": "7.0.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "c89677919c5dd6d3b3852f230a663118762218ac" "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c89677919c5dd6d3b3852f230a663118762218ac", "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f1884187926fbb755a9aaf0b3836ad3165b478bf",
"reference": "c89677919c5dd6d3b3852f230a663118762218ac", "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-dom": "*", "ext-dom": "*",
"ext-xmlwriter": "*", "ext-xmlwriter": "*",
"php": "^7.0", "php": "^7.2",
"phpunit/php-file-iterator": "^1.4.2", "phpunit/php-file-iterator": "^2.0.2",
"phpunit/php-text-template": "^1.2.1", "phpunit/php-text-template": "^1.2.1",
"phpunit/php-token-stream": "^2.0.1", "phpunit/php-token-stream": "^3.1.1",
"sebastian/code-unit-reverse-lookup": "^1.0.1", "sebastian/code-unit-reverse-lookup": "^1.0.1",
"sebastian/environment": "^3.0", "sebastian/environment": "^4.2.2",
"sebastian/version": "^2.0.1", "sebastian/version": "^2.0.1",
"theseer/tokenizer": "^1.1" "theseer/tokenizer": "^1.1.3"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^6.0" "phpunit/phpunit": "^8.2.2"
}, },
"suggest": { "suggest": {
"ext-xdebug": "^2.5.5" "ext-xdebug": "^2.7.2"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "5.3.x-dev" "dev-master": "7.0-dev"
} }
}, },
"autoload": { "autoload": {
@ -4643,29 +4648,32 @@
"testing", "testing",
"xunit" "xunit"
], ],
"time": "2018-04-06T15:36:58+00:00" "time": "2019-11-20T13:55:58+00:00"
}, },
{ {
"name": "phpunit/php-file-iterator", "name": "phpunit/php-file-iterator",
"version": "1.4.5", "version": "2.0.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" "reference": "050bedf145a257b1ff02746c31894800e5122946"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946",
"reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", "reference": "050bedf145a257b1ff02746c31894800e5122946",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.3.3" "php": "^7.1"
},
"require-dev": {
"phpunit/phpunit": "^7.1"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.4.x-dev" "dev-master": "2.0.x-dev"
} }
}, },
"autoload": { "autoload": {
@ -4680,7 +4688,7 @@
"authors": [ "authors": [
{ {
"name": "Sebastian Bergmann", "name": "Sebastian Bergmann",
"email": "sb@sebastian-bergmann.de", "email": "sebastian@phpunit.de",
"role": "lead" "role": "lead"
} }
], ],
@ -4690,7 +4698,7 @@
"filesystem", "filesystem",
"iterator" "iterator"
], ],
"time": "2017-11-27T13:52:08+00:00" "time": "2018-09-13T20:33:42+00:00"
}, },
{ {
"name": "phpunit/php-text-template", "name": "phpunit/php-text-template",
@ -4735,28 +4743,28 @@
}, },
{ {
"name": "phpunit/php-timer", "name": "phpunit/php-timer",
"version": "1.0.9", "version": "2.1.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git", "url": "https://github.com/sebastianbergmann/php-timer.git",
"reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" "reference": "1038454804406b0b5f5f520358e78c1c2f71501e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e",
"reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", "reference": "1038454804406b0b5f5f520358e78c1c2f71501e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^5.3.3 || ^7.0" "php": "^7.1"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" "phpunit/phpunit": "^7.0"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.0-dev" "dev-master": "2.1-dev"
} }
}, },
"autoload": { "autoload": {
@ -4771,7 +4779,7 @@
"authors": [ "authors": [
{ {
"name": "Sebastian Bergmann", "name": "Sebastian Bergmann",
"email": "sb@sebastian-bergmann.de", "email": "sebastian@phpunit.de",
"role": "lead" "role": "lead"
} }
], ],
@ -4780,33 +4788,33 @@
"keywords": [ "keywords": [
"timer" "timer"
], ],
"time": "2017-02-26T11:10:40+00:00" "time": "2019-06-07T04:22:29+00:00"
}, },
{ {
"name": "phpunit/php-token-stream", "name": "phpunit/php-token-stream",
"version": "2.0.2", "version": "3.1.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-token-stream.git", "url": "https://github.com/sebastianbergmann/php-token-stream.git",
"reference": "791198a2c6254db10131eecfe8c06670700904db" "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db", "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff",
"reference": "791198a2c6254db10131eecfe8c06670700904db", "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-tokenizer": "*", "ext-tokenizer": "*",
"php": "^7.0" "php": "^7.1"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^6.2.4" "phpunit/phpunit": "^7.0"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.0-dev" "dev-master": "3.1-dev"
} }
}, },
"autoload": { "autoload": {
@ -4829,57 +4837,56 @@
"keywords": [ "keywords": [
"tokenizer" "tokenizer"
], ],
"time": "2017-11-27T05:48:46+00:00" "time": "2019-09-17T06:23:10+00:00"
}, },
{ {
"name": "phpunit/phpunit", "name": "phpunit/phpunit",
"version": "6.5.14", "version": "8.5.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git", "url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7" "reference": "018b6ac3c8ab20916db85fa91bf6465acb64d1e0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/bac23fe7ff13dbdb461481f706f0e9fe746334b7", "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/018b6ac3c8ab20916db85fa91bf6465acb64d1e0",
"reference": "bac23fe7ff13dbdb461481f706f0e9fe746334b7", "reference": "018b6ac3c8ab20916db85fa91bf6465acb64d1e0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/instantiator": "^1.2.0",
"ext-dom": "*", "ext-dom": "*",
"ext-json": "*", "ext-json": "*",
"ext-libxml": "*", "ext-libxml": "*",
"ext-mbstring": "*", "ext-mbstring": "*",
"ext-xml": "*", "ext-xml": "*",
"myclabs/deep-copy": "^1.6.1", "ext-xmlwriter": "*",
"phar-io/manifest": "^1.0.1", "myclabs/deep-copy": "^1.9.1",
"phar-io/version": "^1.0", "phar-io/manifest": "^1.0.3",
"php": "^7.0", "phar-io/version": "^2.0.1",
"phpspec/prophecy": "^1.7", "php": "^7.2",
"phpunit/php-code-coverage": "^5.3", "phpspec/prophecy": "^1.8.1",
"phpunit/php-file-iterator": "^1.4.3", "phpunit/php-code-coverage": "^7.0.7",
"phpunit/php-file-iterator": "^2.0.2",
"phpunit/php-text-template": "^1.2.1", "phpunit/php-text-template": "^1.2.1",
"phpunit/php-timer": "^1.0.9", "phpunit/php-timer": "^2.1.2",
"phpunit/phpunit-mock-objects": "^5.0.9", "sebastian/comparator": "^3.0.2",
"sebastian/comparator": "^2.1", "sebastian/diff": "^3.0.2",
"sebastian/diff": "^2.0", "sebastian/environment": "^4.2.2",
"sebastian/environment": "^3.1", "sebastian/exporter": "^3.1.1",
"sebastian/exporter": "^3.1", "sebastian/global-state": "^3.0.0",
"sebastian/global-state": "^2.0",
"sebastian/object-enumerator": "^3.0.3", "sebastian/object-enumerator": "^3.0.3",
"sebastian/resource-operations": "^1.0", "sebastian/resource-operations": "^2.0.1",
"sebastian/type": "^1.1.3",
"sebastian/version": "^2.0.1" "sebastian/version": "^2.0.1"
}, },
"conflict": {
"phpdocumentor/reflection-docblock": "3.0.2",
"phpunit/dbunit": "<3.0"
},
"require-dev": { "require-dev": {
"ext-pdo": "*" "ext-pdo": "*"
}, },
"suggest": { "suggest": {
"ext-soap": "*",
"ext-xdebug": "*", "ext-xdebug": "*",
"phpunit/php-invoker": "^1.1" "phpunit/php-invoker": "^2.0.0"
}, },
"bin": [ "bin": [
"phpunit" "phpunit"
@ -4887,7 +4894,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "6.5.x-dev" "dev-master": "8.5-dev"
} }
}, },
"autoload": { "autoload": {
@ -4913,67 +4920,7 @@
"testing", "testing",
"xunit" "xunit"
], ],
"time": "2019-02-01T05:22:47+00:00" "time": "2020-01-08T08:49:49+00:00"
},
{
"name": "phpunit/phpunit-mock-objects",
"version": "5.0.10",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
"reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/cd1cf05c553ecfec36b170070573e540b67d3f1f",
"reference": "cd1cf05c553ecfec36b170070573e540b67d3f1f",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.0.5",
"php": "^7.0",
"phpunit/php-text-template": "^1.2.1",
"sebastian/exporter": "^3.1"
},
"conflict": {
"phpunit/phpunit": "<6.0"
},
"require-dev": {
"phpunit/phpunit": "^6.5.11"
},
"suggest": {
"ext-soap": "*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "5.0.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "lead"
}
],
"description": "Mock Object library for PHPUnit",
"homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
"keywords": [
"mock",
"xunit"
],
"abandoned": true,
"time": "2018-08-09T05:50:03+00:00"
}, },
{ {
"name": "ralouphie/getallheaders", "name": "ralouphie/getallheaders",
@ -5062,30 +5009,30 @@
}, },
{ {
"name": "sebastian/comparator", "name": "sebastian/comparator",
"version": "2.1.3", "version": "3.0.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git", "url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "34369daee48eafb2651bea869b4b15d75ccc35f9" "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9", "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
"reference": "34369daee48eafb2651bea869b4b15d75ccc35f9", "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.0", "php": "^7.1",
"sebastian/diff": "^2.0 || ^3.0", "sebastian/diff": "^3.0",
"sebastian/exporter": "^3.1" "sebastian/exporter": "^3.1"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^6.4" "phpunit/phpunit": "^7.1"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.1.x-dev" "dev-master": "3.0-dev"
} }
}, },
"autoload": { "autoload": {
@ -5122,32 +5069,33 @@
"compare", "compare",
"equality" "equality"
], ],
"time": "2018-02-01T13:46:46+00:00" "time": "2018-07-12T15:12:46+00:00"
}, },
{ {
"name": "sebastian/diff", "name": "sebastian/diff",
"version": "2.0.1", "version": "3.0.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/diff.git", "url": "https://github.com/sebastianbergmann/diff.git",
"reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd" "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29",
"reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.0" "php": "^7.1"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^6.2" "phpunit/phpunit": "^7.5 || ^8.0",
"symfony/process": "^2 || ^3.3 || ^4"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.0-dev" "dev-master": "3.0-dev"
} }
}, },
"autoload": { "autoload": {
@ -5172,34 +5120,40 @@
"description": "Diff implementation", "description": "Diff implementation",
"homepage": "https://github.com/sebastianbergmann/diff", "homepage": "https://github.com/sebastianbergmann/diff",
"keywords": [ "keywords": [
"diff" "diff",
"udiff",
"unidiff",
"unified diff"
], ],
"time": "2017-08-03T08:09:46+00:00" "time": "2019-02-04T06:01:07+00:00"
}, },
{ {
"name": "sebastian/environment", "name": "sebastian/environment",
"version": "3.1.0", "version": "4.2.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/environment.git", "url": "https://github.com/sebastianbergmann/environment.git",
"reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368",
"reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.0" "php": "^7.1"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^6.1" "phpunit/phpunit": "^7.5"
},
"suggest": {
"ext-posix": "*"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "3.1.x-dev" "dev-master": "4.2-dev"
} }
}, },
"autoload": { "autoload": {
@ -5224,7 +5178,7 @@
"environment", "environment",
"hhvm" "hhvm"
], ],
"time": "2017-07-01T08:51:00+00:00" "time": "2019-11-20T08:46:58+00:00"
}, },
{ {
"name": "sebastian/exporter", "name": "sebastian/exporter",
@ -5295,23 +5249,26 @@
}, },
{ {
"name": "sebastian/global-state", "name": "sebastian/global-state",
"version": "2.0.0", "version": "3.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git", "url": "https://github.com/sebastianbergmann/global-state.git",
"reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4",
"reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.0" "php": "^7.2",
"sebastian/object-reflector": "^1.1.1",
"sebastian/recursion-context": "^3.0"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^6.0" "ext-dom": "*",
"phpunit/phpunit": "^8.0"
}, },
"suggest": { "suggest": {
"ext-uopz": "*" "ext-uopz": "*"
@ -5319,7 +5276,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.0-dev" "dev-master": "3.0-dev"
} }
}, },
"autoload": { "autoload": {
@ -5342,7 +5299,7 @@
"keywords": [ "keywords": [
"global state" "global state"
], ],
"time": "2017-04-27T15:39:26+00:00" "time": "2019-02-01T05:30:01+00:00"
}, },
{ {
"name": "sebastian/object-enumerator", "name": "sebastian/object-enumerator",
@ -5491,25 +5448,25 @@
}, },
{ {
"name": "sebastian/resource-operations", "name": "sebastian/resource-operations",
"version": "1.0.0", "version": "2.0.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/resource-operations.git", "url": "https://github.com/sebastianbergmann/resource-operations.git",
"reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
"reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.6.0" "php": "^7.1"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.0.x-dev" "dev-master": "2.0-dev"
} }
}, },
"autoload": { "autoload": {
@ -5529,7 +5486,53 @@
], ],
"description": "Provides a list of PHP built-in functions that operate on resources", "description": "Provides a list of PHP built-in functions that operate on resources",
"homepage": "https://www.github.com/sebastianbergmann/resource-operations", "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
"time": "2015-07-28T20:34:47+00:00" "time": "2018-10-04T04:07:39+00:00"
},
{
"name": "sebastian/type",
"version": "1.1.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
"reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/3aaaa15fa71d27650d62a948be022fe3b48541a3",
"reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3",
"shasum": ""
},
"require": {
"php": "^7.2"
},
"require-dev": {
"phpunit/phpunit": "^8.2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "lead"
}
],
"description": "Collection of value objects that represent the types of the PHP type system",
"homepage": "https://github.com/sebastianbergmann/type",
"time": "2019-07-02T08:10:15+00:00"
}, },
{ {
"name": "sebastian/version", "name": "sebastian/version",
@ -5739,7 +5742,7 @@
"prefer-stable": true, "prefer-stable": true,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {
"php": ">=7.0,<=8.0.0alpha1", "php": ">=7.2,<=8.0.0alpha1",
"ext-gd": "*", "ext-gd": "*",
"ext-json": "*", "ext-json": "*",
"ext-mysqli": "*", "ext-mysqli": "*",
@ -5751,6 +5754,6 @@
}, },
"platform-dev": [], "platform-dev": [],
"platform-overrides": { "platform-overrides": {
"php": "7.0" "php": "7.2"
} }
} }