From b715778fa774139882a2cb3cc95c9c18f5334433 Mon Sep 17 00:00:00 2001 From: Ruud Boon Date: Mon, 6 Jan 2020 11:03:10 +0100 Subject: [PATCH 01/28] - Removed composer.lock - Updated dependencies - Updated SQL schema --- CHANGELOG.md | 6 + composer.json | 15 +- composer.lock | 4472 ------------------------------------- tests/_data/structure.sql | 3 +- 4 files changed, 17 insertions(+), 4479 deletions(-) delete mode 100644 composer.lock diff --git a/CHANGELOG.md b/CHANGELOG.md index 224bf26..3c99c8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +#### 1.0.1 + +- Removed composer.lock +- Updated dependencies +- Updated SQL schema + #### 1.0.0 * Support Phalcon 4.0.0-RC.3 diff --git a/composer.json b/composer.json index 7edda2c..33e3d4e 100644 --- a/composer.json +++ b/composer.json @@ -1,17 +1,22 @@ { "name":"codeception/module-phalcon4", "description":"Codeception module for Phalcon 4 framework", - "keywords":["codeception", "phalcon"], + "keywords":["codeception", "phalcon", "phalcon4"], "homepage":"https://codeception.com/", "type":"library", "license":"MIT", - "authors":[ + "authors": [ { - "name":"Ruud Boon" + "name": "Phalcon Team", + "email": "team@phalcon.io", + "homepage": "https://phalcon.io/en/team" + }, + { + "name": "Codeception Team", + "email": "team@codeception.com", + "homepage": "http://codeception.com/" } ], - "minimum-stability": "RC", - "require": { "php": ">=7.2.0 <8.0", "codeception/lib-innerbrowser": "dev-master | ^1.0", diff --git a/composer.lock b/composer.lock deleted file mode 100644 index b6ec3e5..0000000 --- a/composer.lock +++ /dev/null @@ -1,4472 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "b986e5c602aa7d0b8ad250512123a4af", - "packages": [ - { - "name": "behat/gherkin", - "version": "v4.6.0", - "source": { - "type": "git", - "url": "https://github.com/Behat/Gherkin.git", - "reference": "ab0a02ea14893860bca00f225f5621d351a3ad07" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Behat/Gherkin/zipball/ab0a02ea14893860bca00f225f5621d351a3ad07", - "reference": "ab0a02ea14893860bca00f225f5621d351a3ad07", - "shasum": "" - }, - "require": { - "php": ">=5.3.1" - }, - "require-dev": { - "phpunit/phpunit": "~4.5|~5", - "symfony/phpunit-bridge": "~2.7|~3|~4", - "symfony/yaml": "~2.3|~3|~4" - }, - "suggest": { - "symfony/yaml": "If you want to parse features, represented in YAML files" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-0": { - "Behat\\Gherkin": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Gherkin DSL parser for PHP 5.3", - "homepage": "http://behat.org/", - "keywords": [ - "BDD", - "Behat", - "Cucumber", - "DSL", - "gherkin", - "parser" - ], - "time": "2019-01-16T14:22:17+00:00" - }, - { - "name": "codeception/codeception", - "version": "4.0.x-dev", - "source": { - "type": "git", - "url": "https://github.com/Codeception/Codeception.git", - "reference": "c145d60a0dc1e42e346d084ac0c00a761aabc2f6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/Codeception/zipball/c145d60a0dc1e42e346d084ac0c00a761aabc2f6", - "reference": "c145d60a0dc1e42e346d084ac0c00a761aabc2f6", - "shasum": "" - }, - "require": { - "behat/gherkin": "^4.4.0", - "codeception/lib-asserts": "^1.0", - "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.1.0", - "codeception/stub": "^2.0 | ^3.0", - "ext-curl": "*", - "ext-json": "*", - "ext-mbstring": "*", - "guzzlehttp/psr7": "~1.4", - "php": ">=5.6.0 <8.0", - "symfony/console": ">=2.7 <6.0", - "symfony/css-selector": ">=2.7 <6.0", - "symfony/event-dispatcher": ">=2.7 <6.0", - "symfony/finder": ">=2.7 <6.0", - "symfony/yaml": ">=2.7 <6.0" - }, - "require-dev": { - "codeception/module-asserts": "*@dev", - "codeception/module-cli": "*@dev", - "codeception/module-db": "*@dev", - "codeception/module-filesystem": "*@dev", - "codeception/module-phpbrowser": "*@dev", - "codeception/specify": "~0.3", - "codeception/util-universalframework": "*@dev", - "monolog/monolog": "~1.8", - "squizlabs/php_codesniffer": "~2.0", - "symfony/process": ">=2.7 <6.0", - "vlucas/phpdotenv": "^2.0 | ^3.0 | ^4.0" - }, - "suggest": { - "codeception/specify": "BDD-style code blocks", - "codeception/verify": "BDD-style assertions", - "hoa/console": "For interactive console functionality", - "stecman/symfony-console-completion": "For BASH autocompletion", - "symfony/phpunit-bridge": "For phpunit-bridge support" - }, - "bin": [ - "codecept" - ], - "type": "library", - "extra": { - "branch-alias": [] - }, - "autoload": { - "psr-4": { - "Codeception\\": "src/Codeception", - "Codeception\\Extension\\": "ext" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Bodnarchuk", - "email": "davert@mail.ua", - "homepage": "http://codegyre.com" - } - ], - "description": "BDD-style testing framework", - "homepage": "http://codeception.com/", - "keywords": [ - "BDD", - "TDD", - "acceptance testing", - "functional testing", - "unit testing" - ], - "time": "2019-12-07T08:51:35+00:00" - }, - { - "name": "codeception/lib-asserts", - "version": "1.10.1", - "source": { - "type": "git", - "url": "https://github.com/Codeception/lib-asserts.git", - "reference": "f052dfebad3e9bcafc66c22a7ef39cb1a30cebd2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/lib-asserts/zipball/f052dfebad3e9bcafc66c22a7ef39cb1a30cebd2", - "reference": "f052dfebad3e9bcafc66c22a7ef39cb1a30cebd2", - "shasum": "" - }, - "require": { - "php": ">=7.2.0 <8.0", - "phpunit/phpunit": "^8.4" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Bodnarchuk", - "email": "davert@mail.ua", - "homepage": "http://codegyre.com" - }, - { - "name": "Gintautas Miselis" - } - ], - "description": "Assertion methods used by Codeception core and Asserts module", - "homepage": "http://codeception.com/", - "keywords": [ - "codeception" - ], - "time": "2019-11-23T20:16:40+00:00" - }, - { - "name": "codeception/lib-innerbrowser", - "version": "1.2.3", - "source": { - "type": "git", - "url": "https://github.com/Codeception/lib-innerbrowser.git", - "reference": "289028f011dcc954c530e946ea34bb7ce4ec2721" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/lib-innerbrowser/zipball/289028f011dcc954c530e946ea34bb7ce4ec2721", - "reference": "289028f011dcc954c530e946ea34bb7ce4ec2721", - "shasum": "" - }, - "require": { - "codeception/codeception": "*@dev", - "php": ">=5.6.0 <8.0", - "symfony/browser-kit": ">=2.7 <6.0", - "symfony/dom-crawler": ">=2.7 <6.0" - }, - "conflict": { - "codeception/codeception": "<4.0" - }, - "require-dev": { - "codeception/util-universalframework": "dev-master" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Bodnarchuk", - "email": "davert@mail.ua", - "homepage": "http://codegyre.com" - }, - { - "name": "Gintautas Miselis" - } - ], - "description": "Parent library for all Codeception framework modules and PhpBrowser", - "homepage": "http://codeception.com/", - "keywords": [ - "codeception" - ], - "time": "2019-11-26T16:50:12+00:00" - }, - { - "name": "codeception/phpunit-wrapper", - "version": "8.1.0", - "source": { - "type": "git", - "url": "https://github.com/Codeception/phpunit-wrapper.git", - "reference": "ee0c1fa08ef6e7f86e3592eccb57139110e5913d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/ee0c1fa08ef6e7f86e3592eccb57139110e5913d", - "reference": "ee0c1fa08ef6e7f86e3592eccb57139110e5913d", - "shasum": "" - }, - "require": { - "php": ">=7.2", - "phpunit/php-code-coverage": "^7.0", - "phpunit/phpunit": "^8.0", - "sebastian/comparator": "^3.0", - "sebastian/diff": "^3.0" - }, - "require-dev": { - "codeception/specify": "*", - "vlucas/phpdotenv": "^3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Codeception\\PHPUnit\\": "src\\" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Davert", - "email": "davert.php@resend.cc" - } - ], - "description": "PHPUnit classes used by Codeception", - "time": "2019-11-24T15:30:35+00:00" - }, - { - "name": "codeception/stub", - "version": "3.6.0", - "source": { - "type": "git", - "url": "https://github.com/Codeception/Stub.git", - "reference": "94874f511ab1025b1f4cb927884cdda5004ece64" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/Stub/zipball/94874f511ab1025b1f4cb927884cdda5004ece64", - "reference": "94874f511ab1025b1f4cb927884cdda5004ece64", - "shasum": "" - }, - "require": { - "phpunit/phpunit": "^8.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Codeception\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", - "time": "2019-11-23T20:11:30+00:00" - }, - { - "name": "doctrine/instantiator", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^0.13", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-shim": "^0.11", - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2019-10-21T16:45:58+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.6.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "239400de7a173fe9901b9ac7c06497751f00727a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a", - "reference": "239400de7a173fe9901b9ac7c06497751f00727a", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0", - "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "ext-zlib": "*", - "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" - }, - "suggest": { - "zendframework/zend-httphandlerrunner": "Emit PSR-7 responses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "psr-7", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2019-07-01T23:21:34+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.9.3", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea", - "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "replace": { - "myclabs/deep-copy": "self.version" - }, - "require-dev": { - "doctrine/collections": "^1.0", - "doctrine/common": "^2.6", - "phpunit/phpunit": "^7.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - }, - "files": [ - "src/DeepCopy/deep_copy.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2019-08-09T12:45:53+00:00" - }, - { - "name": "phar-io/manifest", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-phar": "*", - "phar-io/version": "^2.0", - "php": "^5.6 || ^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2018-07-08T19:23:20+00:00" - }, - { - "name": "phar-io/version", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "time": "2018-07-08T19:19:57+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "phpunit/phpunit": "~6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "time": "2018-08-07T13:53:10+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "4.3.2", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/b83ff7cfcfee7827e1e78b637a5904fe6a96698e", - "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e", - "shasum": "" - }, - "require": { - "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", - "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "doctrine/instantiator": "^1.0.5", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "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-09-12T14:27:41+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", - "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", - "shasum": "" - }, - "require": { - "php": "^7.1", - "phpdocumentor/reflection-common": "^2.0" - }, - "require-dev": { - "ext-tokenizer": "^7.1", - "mockery/mockery": "~1", - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "time": "2019-08-22T18:11:29+00:00" - }, - { - "name": "phpoption/phpoption", - "version": "1.7.2", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959", - "reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.3", - "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.7-dev" - } - }, - "autoload": { - "psr-4": { - "PhpOption\\": "src/PhpOption/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com" - } - ], - "description": "Option Type for PHP", - "keywords": [ - "language", - "option", - "php", - "type" - ], - "time": "2019-12-15T19:35:24+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "1.9.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/f6811d96d97bdf400077a0cc100ae56aa32b9203", - "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", - "sebastian/comparator": "^1.1|^2.0|^3.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8.x-dev" - } - }, - "autoload": { - "psr-4": { - "Prophecy\\": "src/Prophecy" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2019-10-03T11:07:50+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "7.0.10", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f1884187926fbb755a9aaf0b3836ad3165b478bf", - "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^7.2", - "phpunit/php-file-iterator": "^2.0.2", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.1.1", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^4.2.2", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1.3" - }, - "require-dev": { - "phpunit/phpunit": "^8.2.2" - }, - "suggest": { - "ext-xdebug": "^2.7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "7.0-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": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2019-11-20T13:55:58+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "050bedf145a257b1ff02746c31894800e5122946" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", - "reference": "050bedf145a257b1ff02746c31894800e5122946", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2018-09-13T20:33:42+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "2.1.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2019-06-07T04:22:29+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", - "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2019-09-17T06:23:10+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "8.5.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "3ee1c1fd6fc264480c25b6fb8285edefe1702dab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3ee1c1fd6fc264480c25b6fb8285edefe1702dab", - "reference": "3ee1c1fd6fc264480c25b6fb8285edefe1702dab", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.2.0", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.9.1", - "phar-io/manifest": "^1.0.3", - "phar-io/version": "^2.0.1", - "php": "^7.2", - "phpspec/prophecy": "^1.8.1", - "phpunit/php-code-coverage": "^7.0.7", - "phpunit/php-file-iterator": "^2.0.2", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1.2", - "sebastian/comparator": "^3.0.2", - "sebastian/diff": "^3.0.2", - "sebastian/environment": "^4.2.2", - "sebastian/exporter": "^3.1.1", - "sebastian/global-state": "^3.0.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0.1", - "sebastian/type": "^1.1.3", - "sebastian/version": "^2.0.1" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-soap": "*", - "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0.0" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "8.5-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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2019-12-06T05:41:38+00:00" - }, - { - "name": "psr/container", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "time": "2017-02-14T16:28:37+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "ralouphie/getallheaders", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", - "time": "2019-03-08T08:55:37+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "time": "2017-03-04T06:30:41+00:00" - }, - { - "name": "sebastian/comparator", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "shasum": "" - }, - "require": { - "php": "^7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2018-07-12T15:12:46+00:00" - }, - { - "name": "sebastian/diff", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "time": "2019-02-04T06:01:07+00:00" - }, - { - "name": "sebastian/environment", - "version": "4.2.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.5" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2019-11-20T08:46:58+00:00" - }, - { - "name": "sebastian/exporter", - "version": "3.1.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", - "shasum": "" - }, - "require": { - "php": "^7.0", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2019-09-14T09:02:43+00:00" - }, - { - "name": "sebastian/global-state", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", - "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", - "shasum": "" - }, - "require": { - "php": "^7.2", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^8.0" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2019-02-01T05:30:01+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "shasum": "" - }, - "require": { - "php": "^7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "time": "2017-08-03T12:35:26+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "773f97c67f28de00d397be301821b06708fca0be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", - "reference": "773f97c67f28de00d397be301821b06708fca0be", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "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" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "time": "2017-03-29T09:07:27+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2017-03-03T06:23:57+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "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", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "symfony/browser-kit", - "version": "v5.0.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "a195f83b0ba20e622a5baa726af96826b8f5616b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/a195f83b0ba20e622a5baa726af96826b8f5616b", - "reference": "a195f83b0ba20e622a5baa726af96826b8f5616b", - "shasum": "" - }, - "require": { - "php": "^7.2.5", - "symfony/dom-crawler": "^4.4|^5.0" - }, - "require-dev": { - "symfony/css-selector": "^4.4|^5.0", - "symfony/http-client": "^4.4|^5.0", - "symfony/mime": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony BrowserKit Component", - "homepage": "https://symfony.com", - "time": "2019-11-18T17:27:11+00:00" - }, - { - "name": "symfony/console", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/f0aea3df20d15635b3cb9730ca5eea1c65b7f201", - "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", - "symfony/service-contracts": "^1.1|^2" - }, - "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/event-dispatcher": "<4.3|>=5", - "symfony/lock": "<4.4", - "symfony/process": "<3.3" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/event-dispatcher": "^4.3", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^3.4|^4.0|^5.0", - "symfony/var-dumper": "^4.3|^5.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2019-12-01T10:06:17+00:00" - }, - { - "name": "symfony/css-selector", - "version": "v5.0.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "19d29e7098b7b2c3313cb03902ca30f100dcb837" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/19d29e7098b7b2c3313cb03902ca30f100dcb837", - "reference": "19d29e7098b7b2c3313cb03902ca30f100dcb837", - "shasum": "" - }, - "require": { - "php": "^7.2.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\CssSelector\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony CssSelector Component", - "homepage": "https://symfony.com", - "time": "2019-11-18T17:27:11+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v5.0.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "0a0a73a0836926898b6fcd6817fe697487a73d97" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/0a0a73a0836926898b6fcd6817fe697487a73d97", - "reference": "0a0a73a0836926898b6fcd6817fe697487a73d97", - "shasum": "" - }, - "require": { - "php": "^7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "masterminds/html5": "<2.6" - }, - "require-dev": { - "masterminds/html5": "^2.6", - "symfony/css-selector": "^4.4|^5.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony DomCrawler Component", - "homepage": "https://symfony.com", - "time": "2019-11-18T17:27:11+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "b3c3068a72623287550fe20b84a2b01dcba2686f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b3c3068a72623287550fe20b84a2b01dcba2686f", - "reference": "b3c3068a72623287550fe20b84a2b01dcba2686f", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/event-dispatcher-contracts": "^1.1" - }, - "conflict": { - "symfony/dependency-injection": "<3.4" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "1.1" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/http-foundation": "^3.4|^4.0|^5.0", - "symfony/service-contracts": "^1.1|^2", - "symfony/stopwatch": "^3.4|^4.0|^5.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "https://symfony.com", - "time": "2019-11-28T13:33:56+00:00" - }, - { - "name": "symfony/event-dispatcher-contracts", - "version": "v1.1.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c43ab685673fb6c8d84220c77897b1d6cdbe1d18", - "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "suggest": { - "psr/event-dispatcher": "", - "symfony/event-dispatcher-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\EventDispatcher\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to dispatching event", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "time": "2019-09-17T09:54:03+00:00" - }, - { - "name": "symfony/finder", - "version": "v5.0.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "17874dd8ab9a19422028ad56172fb294287a701b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/17874dd8ab9a19422028ad56172fb294287a701b", - "reference": "17874dd8ab9a19422028ad56172fb294287a701b", - "shasum": "" - }, - "require": { - "php": "^7.2.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Finder Component", - "homepage": "https://symfony.com", - "time": "2019-11-18T17:27:11+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.13.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", - "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "time": "2019-11-27T13:56:44+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.13.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f", - "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "time": "2019-11-27T14:18:11+00:00" - }, - { - "name": "symfony/polyfill-php73", - "version": "v1.13.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/4b0e2222c55a25b4541305a053013d5647d3a25f", - "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2019-11-27T16:25:15+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v2.0.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "144c5e51266b281231e947b51223ba14acf1a749" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/144c5e51266b281231e947b51223ba14acf1a749", - "reference": "144c5e51266b281231e947b51223ba14acf1a749", - "shasum": "" - }, - "require": { - "php": "^7.2.5", - "psr/container": "^1.0" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "time": "2019-11-18T17:27:11+00:00" - }, - { - "name": "symfony/yaml", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "76de473358fe802578a415d5bb43c296cf09d211" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/76de473358fe802578a415d5bb43c296cf09d211", - "reference": "76de473358fe802578a415d5bb43c296cf09d211", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/console": "<3.4" - }, - "require-dev": { - "symfony/console": "^3.4|^4.0|^5.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "time": "2019-11-12T14:51:11+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "time": "2019-06-13T22:48:21+00:00" - }, - { - "name": "vlucas/phpdotenv", - "version": "v4.1.0", - "source": { - "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "0176075a1b7ee9cf86f70143ec79edf7072c975a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/0176075a1b7ee9cf86f70143ec79edf7072c975a", - "reference": "0176075a1b7ee9cf86f70143ec79edf7072c975a", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0", - "phpoption/phpoption": "^1.7.1", - "symfony/polyfill-ctype": "^1.9" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.3", - "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Dotenv\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "homepage": "https://gjcampbell.co.uk/" - }, - { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://vancelucas.com/" - } - ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ], - "time": "2019-12-14T13:59:29+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "573381c0a64f155a0d9a23f4b0c797194805b925" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/573381c0a64f155a0d9a23f4b0c797194805b925", - "reference": "573381c0a64f155a0d9a23f4b0c797194805b925", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "vimeo/psalm": "<3.6.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^7.5.13" - }, - "type": "library", - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "time": "2019-11-24T13:36:37+00:00" - } - ], - "packages-dev": [ - { - "name": "amphp/amp", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/amphp/amp.git", - "reference": "13930a582947831bb66ff1aeac28672fd91c38ea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/amp/zipball/13930a582947831bb66ff1aeac28672fd91c38ea", - "reference": "13930a582947831bb66ff1aeac28672fd91c38ea", - "shasum": "" - }, - "require": { - "php": ">=7" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "amphp/phpunit-util": "^1", - "ext-json": "*", - "phpstan/phpstan": "^0.8.5", - "phpunit/phpunit": "^6.0.9 | ^7", - "react/promise": "^2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Amp\\": "lib" - }, - "files": [ - "lib/functions.php", - "lib/Internal/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Daniel Lowrey", - "email": "rdlowrey@php.net" - }, - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Bob Weinand", - "email": "bobwei9@hotmail.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "A non-blocking concurrency framework for PHP applications.", - "homepage": "http://amphp.org/amp", - "keywords": [ - "async", - "asynchronous", - "awaitable", - "concurrency", - "event", - "event-loop", - "future", - "non-blocking", - "promise" - ], - "time": "2019-11-11T19:32:05+00:00" - }, - { - "name": "amphp/byte-stream", - "version": "v1.7.1", - "source": { - "type": "git", - "url": "https://github.com/amphp/byte-stream.git", - "reference": "9d8205686a004948475dc43f8a88d2fa5e75a113" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/byte-stream/zipball/9d8205686a004948475dc43f8a88d2fa5e75a113", - "reference": "9d8205686a004948475dc43f8a88d2fa5e75a113", - "shasum": "" - }, - "require": { - "amphp/amp": "^2" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "amphp/phpunit-util": "^1", - "friendsofphp/php-cs-fixer": "^2.3", - "infection/infection": "^0.9.3", - "phpunit/phpunit": "^6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Amp\\ByteStream\\": "lib" - }, - "files": [ - "lib/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "A stream abstraction to make working with non-blocking I/O simple.", - "homepage": "http://amphp.org/byte-stream", - "keywords": [ - "amp", - "amphp", - "async", - "io", - "non-blocking", - "stream" - ], - "time": "2019-10-27T14:33:41+00:00" - }, - { - "name": "cakephp/cache", - "version": "3.8.7", - "source": { - "type": "git", - "url": "https://github.com/cakephp/cache.git", - "reference": "855a920c479925262575ec5b404010e22049098c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cakephp/cache/zipball/855a920c479925262575ec5b404010e22049098c", - "reference": "855a920c479925262575ec5b404010e22049098c", - "shasum": "" - }, - "require": { - "cakephp/core": "^3.6.0", - "php": ">=5.6.0", - "psr/simple-cache": "^1.0.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Cake\\Cache\\": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "CakePHP Community", - "homepage": "https://github.com/cakephp/cache/graphs/contributors" - } - ], - "description": "Easy to use Caching library with support for multiple caching backends", - "homepage": "https://cakephp.org", - "keywords": [ - "cache", - "caching", - "cakephp" - ], - "time": "2019-11-20T00:00:46+00:00" - }, - { - "name": "cakephp/collection", - "version": "3.8.7", - "source": { - "type": "git", - "url": "https://github.com/cakephp/collection.git", - "reference": "3541cdd1739334fcbe301daed8d6cb9458903fdd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cakephp/collection/zipball/3541cdd1739334fcbe301daed8d6cb9458903fdd", - "reference": "3541cdd1739334fcbe301daed8d6cb9458903fdd", - "shasum": "" - }, - "require": { - "php": ">=5.6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Cake\\Collection\\": "." - }, - "files": [ - "functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "CakePHP Community", - "homepage": "https://github.com/cakephp/collection/graphs/contributors" - } - ], - "description": "Work easily with arrays and iterators by having a battery of utility traversal methods", - "homepage": "https://cakephp.org", - "keywords": [ - "arrays", - "cakephp", - "collections", - "iterators" - ], - "time": "2019-11-20T00:00:46+00:00" - }, - { - "name": "cakephp/core", - "version": "3.8.7", - "source": { - "type": "git", - "url": "https://github.com/cakephp/core.git", - "reference": "e77b155f93fd63d1a944c07f27abc82651377956" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cakephp/core/zipball/e77b155f93fd63d1a944c07f27abc82651377956", - "reference": "e77b155f93fd63d1a944c07f27abc82651377956", - "shasum": "" - }, - "require": { - "cakephp/utility": "^3.6.0", - "php": ">=5.6.0" - }, - "suggest": { - "cakephp/cache": "To use Configure::store() and restore().", - "cakephp/event": "To use PluginApplicationInterface or plugin applications." - }, - "type": "library", - "autoload": { - "psr-4": { - "Cake\\Core\\": "." - }, - "files": [ - "functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "CakePHP Community", - "homepage": "https://github.com/cakephp/core/graphs/contributors" - } - ], - "description": "CakePHP Framework Core classes", - "homepage": "https://cakephp.org", - "keywords": [ - "cakephp", - "core", - "framework" - ], - "time": "2019-11-19T13:39:32+00:00" - }, - { - "name": "cakephp/database", - "version": "3.8.7", - "source": { - "type": "git", - "url": "https://github.com/cakephp/database.git", - "reference": "c8a9123e8a393ac122bb0b51b100cafb3d34cece" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cakephp/database/zipball/c8a9123e8a393ac122bb0b51b100cafb3d34cece", - "reference": "c8a9123e8a393ac122bb0b51b100cafb3d34cece", - "shasum": "" - }, - "require": { - "cakephp/cache": "^3.6.0", - "cakephp/core": "^3.6.0", - "cakephp/datasource": "^3.6.0", - "cakephp/log": "^3.6.0", - "php": ">=5.6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Cake\\Database\\": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "CakePHP Community", - "homepage": "https://github.com/cakephp/database/graphs/contributors" - } - ], - "description": "Flexible and powerful Database abstraction library with a familiar PDO-like API", - "homepage": "https://cakephp.org", - "keywords": [ - "abstraction", - "cakephp", - "database", - "database abstraction", - "pdo" - ], - "time": "2019-11-20T00:00:46+00:00" - }, - { - "name": "cakephp/datasource", - "version": "3.8.7", - "source": { - "type": "git", - "url": "https://github.com/cakephp/datasource.git", - "reference": "e2fff5bd4adb650d565c853fb25380657e2d1dbb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cakephp/datasource/zipball/e2fff5bd4adb650d565c853fb25380657e2d1dbb", - "reference": "e2fff5bd4adb650d565c853fb25380657e2d1dbb", - "shasum": "" - }, - "require": { - "cakephp/core": "^3.6.0", - "php": ">=5.6.0" - }, - "suggest": { - "cakephp/cache": "If you decide to use Query caching.", - "cakephp/collection": "If you decide to use ResultSetInterface.", - "cakephp/utility": "If you decide to use EntityTrait." - }, - "type": "library", - "autoload": { - "psr-4": { - "Cake\\Datasource\\": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "CakePHP Community", - "homepage": "https://github.com/cakephp/datasource/graphs/contributors" - } - ], - "description": "Provides connection managing and traits for Entities and Queries that can be reused for different datastores", - "homepage": "https://cakephp.org", - "keywords": [ - "cakephp", - "connection management", - "datasource", - "entity", - "query" - ], - "time": "2019-11-20T00:00:46+00:00" - }, - { - "name": "cakephp/log", - "version": "3.8.7", - "source": { - "type": "git", - "url": "https://github.com/cakephp/log.git", - "reference": "9194c5aebaf30d4e9541e5635fa16f8c373af2f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cakephp/log/zipball/9194c5aebaf30d4e9541e5635fa16f8c373af2f3", - "reference": "9194c5aebaf30d4e9541e5635fa16f8c373af2f3", - "shasum": "" - }, - "require": { - "cakephp/core": "^3.6.0", - "php": ">=5.6.0", - "psr/log": "^1.0.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Cake\\Log\\": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "CakePHP Community", - "homepage": "https://github.com/cakephp/log/graphs/contributors" - } - ], - "description": "CakePHP logging library with support for multiple different streams", - "homepage": "https://cakephp.org", - "keywords": [ - "Streams", - "cakephp", - "log", - "logging" - ], - "time": "2019-11-20T00:00:46+00:00" - }, - { - "name": "cakephp/utility", - "version": "3.8.7", - "source": { - "type": "git", - "url": "https://github.com/cakephp/utility.git", - "reference": "e60bf1dc7fbdbc0d717c950cbbeb3196d3bc0cf9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cakephp/utility/zipball/e60bf1dc7fbdbc0d717c950cbbeb3196d3bc0cf9", - "reference": "e60bf1dc7fbdbc0d717c950cbbeb3196d3bc0cf9", - "shasum": "" - }, - "require": { - "cakephp/core": "^3.6.0", - "php": ">=5.6.0" - }, - "suggest": { - "ext-intl": "To use Text::transliterate() or Text::slug()", - "lib-ICU": "To use Text::transliterate() or Text::slug()" - }, - "type": "library", - "autoload": { - "psr-4": { - "Cake\\Utility\\": "." - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "CakePHP Community", - "homepage": "https://github.com/cakephp/utility/graphs/contributors" - } - ], - "description": "CakePHP Utility classes such as Inflector, String, Hash, and Security", - "homepage": "https://cakephp.org", - "keywords": [ - "cakephp", - "hash", - "inflector", - "security", - "string", - "utility" - ], - "time": "2019-11-21T14:18:54+00:00" - }, - { - "name": "codeception/module-asserts", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/Codeception/module-asserts.git", - "reference": "87c83ca3ccfbc0d79f5effb57e1f82eeaab0cb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/module-asserts/zipball/87c83ca3ccfbc0d79f5effb57e1f82eeaab0cb3e", - "reference": "87c83ca3ccfbc0d79f5effb57e1f82eeaab0cb3e", - "shasum": "" - }, - "require": { - "codeception/codeception": "*@dev", - "codeception/lib-asserts": "^1.0.0", - "php": ">=5.6.0 <8.0" - }, - "conflict": { - "codeception/codeception": "<4.0" - }, - "require-dev": { - "codeception/util-robohelpers": "dev-master" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Bodnarchuk" - }, - { - "name": "Gintautas Miselis" - } - ], - "description": "Codeception module containing various assertions", - "homepage": "http://codeception.com/", - "keywords": [ - "assertions", - "asserts", - "codeception" - ], - "time": "2019-11-13T17:32:27+00:00" - }, - { - "name": "codeception/module-db", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/Codeception/module-db.git", - "reference": "13a2b86206d09c50ab2e5375b261df35b650e58f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/module-db/zipball/13a2b86206d09c50ab2e5375b261df35b650e58f", - "reference": "13a2b86206d09c50ab2e5375b261df35b650e58f", - "shasum": "" - }, - "require": { - "codeception/codeception": "*@dev", - "php": ">=5.6.0 <8.0" - }, - "conflict": { - "codeception/codeception": "<4.0" - }, - "require-dev": { - "codeception/util-robohelpers": "dev-master" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Bodnarchuk" - }, - { - "name": "Gintautas Miselis" - } - ], - "description": "WebDriver module for Codeception", - "homepage": "http://codeception.com/", - "keywords": [ - "acceptance-testing", - "browser-testing", - "codeception" - ], - "time": "2019-12-08T17:56:49+00:00" - }, - { - "name": "codeception/module-phpbrowser", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/Codeception/module-phpbrowser.git", - "reference": "4d56f56e6643a695129ada0f9fb65c9562c506f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/module-phpbrowser/zipball/4d56f56e6643a695129ada0f9fb65c9562c506f4", - "reference": "4d56f56e6643a695129ada0f9fb65c9562c506f4", - "shasum": "" - }, - "require": { - "codeception/codeception": "*@dev", - "codeception/lib-innerbrowser": "^1.0", - "guzzlehttp/guzzle": "^6.3.0", - "php": ">=5.6.0 <8.0" - }, - "conflict": { - "codeception/codeception": "<4.0" - }, - "require-dev": { - "codeception/module-rest": "dev-master | ^1.0", - "codeception/util-robohelpers": "dev-master" - }, - "suggest": { - "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Bodnarchuk" - }, - { - "name": "Gintautas Miselis" - } - ], - "description": "Codeception module for testing web application over HTTP", - "homepage": "http://codeception.com/", - "keywords": [ - "codeception", - "functional-testing", - "http" - ], - "time": "2019-11-29T17:14:50+00:00" - }, - { - "name": "codeception/util-robohelpers", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/Codeception/util-robohelpers.git", - "reference": "4b3f117a54f5bfec9f6f71df001d8427f73b0ace" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/util-robohelpers/zipball/4b3f117a54f5bfec9f6f71df001d8427f73b0ace", - "reference": "4b3f117a54f5bfec9f6f71df001d8427f73b0ace", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gintautas Miselis", - "email": "gintautas@miselis.lt" - } - ], - "description": "Helper methods for Robo files", - "time": "2019-08-27T07:02:11+00:00" - }, - { - "name": "composer/xdebug-handler", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "cbe23383749496fe0f373345208b79568e4bc248" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/cbe23383749496fe0f373345208b79568e4bc248", - "reference": "cbe23383749496fe0f373345208b79568e4bc248", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8" - }, - "type": "library", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without Xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "time": "2019-11-06T16:40:04+00:00" - }, - { - "name": "felixfbecker/advanced-json-rpc", - "version": "v3.0.4", - "source": { - "type": "git", - "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git", - "reference": "23366dd0cab0a0f3fd3016bf3c0b36dec74348e7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/23366dd0cab0a0f3fd3016bf3c0b36dec74348e7", - "reference": "23366dd0cab0a0f3fd3016bf3c0b36dec74348e7", - "shasum": "" - }, - "require": { - "netresearch/jsonmapper": "^1.0", - "php": ">=7.0", - "phpdocumentor/reflection-docblock": "^4.0.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "AdvancedJsonRpc\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "ISC" - ], - "authors": [ - { - "name": "Felix Becker", - "email": "felix.b@outlook.com" - } - ], - "description": "A more advanced JSONRPC implementation", - "time": "2019-09-12T22:41:08+00:00" - }, - { - "name": "felixfbecker/language-server-protocol", - "version": "v1.4.0", - "source": { - "type": "git", - "url": "https://github.com/felixfbecker/php-language-server-protocol.git", - "reference": "378801f6139bb74ac215d81cca1272af61df9a9f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/378801f6139bb74ac215d81cca1272af61df9a9f", - "reference": "378801f6139bb74ac215d81cca1272af61df9a9f", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpstan/phpstan": "*", - "phpunit/phpunit": "^6.3", - "squizlabs/php_codesniffer": "^3.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "LanguageServerProtocol\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "ISC" - ], - "authors": [ - { - "name": "Felix Becker", - "email": "felix.b@outlook.com" - } - ], - "description": "PHP classes for the Language Server Protocol", - "keywords": [ - "language", - "microsoft", - "php", - "server" - ], - "time": "2019-06-23T21:03:50+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.5.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "dbc2bc3a293ed6b1ae08a3651e2bfd213d19b6a5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/dbc2bc3a293ed6b1ae08a3651e2bfd213d19b6a5", - "reference": "dbc2bc3a293ed6b1ae08a3651e2bfd213d19b6a5", - "shasum": "" - }, - "require": { - "ext-json": "*", - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.6.1", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", - "psr/log": "^1.1" - }, - "suggest": { - "ext-intl": "Required for Internationalized Domain Name (IDN) support", - "psr/log": "Required for using the Log middleware" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.5-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2019-12-07T18:20:45+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "netresearch/jsonmapper", - "version": "v1.6.0", - "source": { - "type": "git", - "url": "https://github.com/cweiske/jsonmapper.git", - "reference": "0d4d1b48d682a93b6bfedf60b88c7750e9cb0b06" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/0d4d1b48d682a93b6bfedf60b88c7750e9cb0b06", - "reference": "0d4d1b48d682a93b6bfedf60b88c7750e9cb0b06", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.6" - }, - "require-dev": { - "phpunit/phpunit": "~4.8.35 || ~5.7 || ~6.4", - "squizlabs/php_codesniffer": "~1.5" - }, - "type": "library", - "autoload": { - "psr-0": { - "JsonMapper": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "OSL-3.0" - ], - "authors": [ - { - "name": "Christian Weiske", - "email": "cweiske@cweiske.de", - "homepage": "http://github.com/cweiske/jsonmapper/", - "role": "Developer" - } - ], - "description": "Map nested JSON structures onto PHP classes", - "time": "2019-08-15T19:41:25+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v4.3.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/9a9981c347c5c49d6dfe5cf826bb882b824080dc", - "reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=7.0" - }, - "require-dev": { - "ircmaxell/php-yacc": "0.0.5", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.3-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "time": "2019-11-08T13:50:10+00:00" - }, - { - "name": "ocramius/package-versions", - "version": "1.5.1", - "source": { - "type": "git", - "url": "https://github.com/Ocramius/PackageVersions.git", - "reference": "1d32342b8c1eb27353c8887c366147b4c2da673c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/1d32342b8c1eb27353c8887c366147b4c2da673c", - "reference": "1d32342b8c1eb27353c8887c366147b4c2da673c", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.0.0", - "php": "^7.3.0" - }, - "require-dev": { - "composer/composer": "^1.8.6", - "doctrine/coding-standard": "^6.0.0", - "ext-zip": "*", - "infection/infection": "^0.13.4", - "phpunit/phpunit": "^8.2.5", - "vimeo/psalm": "^3.4.9" - }, - "type": "composer-plugin", - "extra": { - "class": "PackageVersions\\Installer", - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-4": { - "PackageVersions\\": "src/PackageVersions" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" - } - ], - "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", - "time": "2019-07-17T15:49:50+00:00" - }, - { - "name": "openlss/lib-array2xml", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/nullivex/lib-array2xml.git", - "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nullivex/lib-array2xml/zipball/a91f18a8dfc69ffabe5f9b068bc39bb202c81d90", - "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "type": "library", - "autoload": { - "psr-0": { - "LSS": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Bryan Tong", - "email": "bryan@nullivex.com", - "homepage": "https://www.nullivex.com" - }, - { - "name": "Tony Butler", - "email": "spudz76@gmail.com", - "homepage": "https://www.nullivex.com" - } - ], - "description": "Array2XML conversion library credit to lalit.org", - "homepage": "https://www.nullivex.com", - "keywords": [ - "array", - "array conversion", - "xml", - "xml conversion" - ], - "time": "2019-03-29T20:06:56+00:00" - }, - { - "name": "psr/log", - "version": "1.1.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801", - "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2019-11-01T11:05:21+00:00" - }, - { - "name": "psr/simple-cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "time": "2017-10-23T01:57:42+00:00" - }, - { - "name": "robmorgan/phinx", - "version": "0.11.1", - "source": { - "type": "git", - "url": "https://github.com/cakephp/phinx.git", - "reference": "a6cced878695d26396b26dfd62ce300aea07de05" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cakephp/phinx/zipball/a6cced878695d26396b26dfd62ce300aea07de05", - "reference": "a6cced878695d26396b26dfd62ce300aea07de05", - "shasum": "" - }, - "require": { - "cakephp/collection": "^3.6", - "cakephp/core": "^3.6", - "cakephp/database": "^3.6", - "cakephp/datasource": "^3.6", - "php": ">=5.6", - "symfony/config": "^3.4|^4.0", - "symfony/console": "^3.4|^4.0", - "symfony/yaml": "^3.4|^4.0" - }, - "require-dev": { - "cakephp/cakephp-codesniffer": "^3.0", - "phpunit/phpunit": ">=5.7,<8.0", - "sebastian/comparator": ">=1.2.3" - }, - "bin": [ - "bin/phinx" - ], - "type": "library", - "autoload": { - "psr-4": { - "Phinx\\": "src/Phinx/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Rob Morgan", - "email": "robbym@gmail.com", - "homepage": "https://robmorgan.id.au", - "role": "Lead Developer" - }, - { - "name": "Woody Gilk", - "email": "woody.gilk@gmail.com", - "homepage": "https://shadowhand.me", - "role": "Developer" - }, - { - "name": "Richard Quadling", - "email": "rquadling@gmail.com", - "role": "Developer" - }, - { - "name": "CakePHP Community", - "homepage": "https://github.com/cakephp/phinx/graphs/contributors", - "role": "Developer" - } - ], - "description": "Phinx makes it ridiculously easy to manage the database migrations for your PHP app.", - "homepage": "https://phinx.org", - "keywords": [ - "database", - "database migrations", - "db", - "migrations", - "phinx" - ], - "time": "2019-08-28T12:24:19+00:00" - }, - { - "name": "squizlabs/php_codesniffer", - "version": "3.5.3", - "source": { - "type": "git", - "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "557a1fc7ac702c66b0bbfe16ab3d55839ef724cb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/557a1fc7ac702c66b0bbfe16ab3d55839ef724cb", - "reference": "557a1fc7ac702c66b0bbfe16ab3d55839ef724cb", - "shasum": "" - }, - "require": { - "ext-simplexml": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" - }, - "bin": [ - "bin/phpcs", - "bin/phpcbf" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Greg Sherwood", - "role": "lead" - } - ], - "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", - "keywords": [ - "phpcs", - "standards" - ], - "time": "2019-12-04T04:46:47+00:00" - }, - { - "name": "symfony/config", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "7aa5817f1b7a8ed377752b90fcc47dfb3c67b40c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/7aa5817f1b7a8ed377752b90fcc47dfb3c67b40c", - "reference": "7aa5817f1b7a8ed377752b90fcc47dfb3c67b40c", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/filesystem": "^3.4|^4.0|^5.0", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/finder": "<3.4" - }, - "require-dev": { - "symfony/event-dispatcher": "^3.4|^4.0|^5.0", - "symfony/finder": "^3.4|^4.0|^5.0", - "symfony/messenger": "^4.1|^5.0", - "symfony/service-contracts": "^1.1|^2", - "symfony/yaml": "^3.4|^4.0|^5.0" - }, - "suggest": { - "symfony/yaml": "To use the yaml reference dumper" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Config Component", - "homepage": "https://symfony.com", - "time": "2019-12-01T10:50:45+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v5.0.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "1d71f670bc5a07b9ccc97dc44f932177a322d4e6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/1d71f670bc5a07b9ccc97dc44f932177a322d4e6", - "reference": "1d71f670bc5a07b9ccc97dc44f932177a322d4e6", - "shasum": "" - }, - "require": { - "php": "^7.2.5", - "symfony/polyfill-ctype": "~1.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Filesystem Component", - "homepage": "https://symfony.com", - "time": "2019-11-26T23:25:11+00:00" - }, - { - "name": "vimeo/psalm", - "version": "3.7.2", - "source": { - "type": "git", - "url": "https://github.com/vimeo/psalm.git", - "reference": "d9cae720c1af31db9ba27c2bc1fcf9b0dd092fb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/d9cae720c1af31db9ba27c2bc1fcf9b0dd092fb0", - "reference": "d9cae720c1af31db9ba27c2bc1fcf9b0dd092fb0", - "shasum": "" - }, - "require": { - "amphp/amp": "^2.1", - "amphp/byte-stream": "^1.5", - "composer/xdebug-handler": "^1.1", - "felixfbecker/advanced-json-rpc": "^3.0.3", - "felixfbecker/language-server-protocol": "^1.4", - "netresearch/jsonmapper": "^1.0", - "nikic/php-parser": "^4.3", - "ocramius/package-versions": "^1.2", - "openlss/lib-array2xml": "^1.0", - "php": "^7.1.3", - "sebastian/diff": "^3.0", - "symfony/console": "^3.3||^4.0||^5.0", - "webmozart/glob": "^4.1", - "webmozart/path-util": "^2.3" - }, - "provide": { - "psalm/psalm": "self.version" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "ext-curl": "*", - "friendsofphp/php-cs-fixer": "^2.15", - "phpmyadmin/sql-parser": "^5.0", - "phpunit/phpunit": "^7.5 || ^8.0", - "psalm/plugin-phpunit": "^0.6", - "slevomat/coding-standard": "^5.0", - "squizlabs/php_codesniffer": "^3.5", - "symfony/process": "^4.3" - }, - "suggest": { - "ext-igbinary": "^2.0.5" - }, - "bin": [ - "psalm", - "psalter", - "psalm-language-server", - "psalm-plugin", - "psalm-refactor" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev", - "dev-2.x": "2.x-dev", - "dev-1.x": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psalm\\Plugin\\": "src/Psalm/Plugin", - "Psalm\\": "src/Psalm" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Matthew Brown" - } - ], - "description": "A static analysis tool for finding errors in PHP applications", - "keywords": [ - "code", - "inspection", - "php" - ], - "time": "2019-12-03T13:33:31+00:00" - }, - { - "name": "webmozart/glob", - "version": "4.1.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/glob.git", - "reference": "3cbf63d4973cf9d780b93d2da8eec7e4a9e63bbe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/glob/zipball/3cbf63d4973cf9d780b93d2da8eec7e4a9e63bbe", - "reference": "3cbf63d4973cf9d780b93d2da8eec7e4a9e63bbe", - "shasum": "" - }, - "require": { - "php": "^5.3.3|^7.0", - "webmozart/path-util": "^2.2" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1", - "symfony/filesystem": "^2.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Glob\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "A PHP implementation of Ant's glob.", - "time": "2015-12-29T11:14:33+00:00" - }, - { - "name": "webmozart/path-util", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/path-util.git", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "webmozart/assert": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\PathUtil\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", - "time": "2015-12-17T08:42:14+00:00" - } - ], - "aliases": [], - "minimum-stability": "RC", - "stability-flags": { - "codeception/lib-innerbrowser": 20, - "codeception/codeception": 20, - "codeception/util-robohelpers": 20, - "codeception/module-asserts": 20, - "codeception/module-phpbrowser": 20 - }, - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=7.2.0 <8.0" - }, - "platform-dev": [] -} diff --git a/tests/_data/structure.sql b/tests/_data/structure.sql index 98d9abe..7a94f06 100644 --- a/tests/_data/structure.sql +++ b/tests/_data/structure.sql @@ -3,6 +3,5 @@ create table articles ( id int auto_increment, title varchar(255) null, - constraint test_pk - primary key (id) + PRIMARY KEY (`id`) ); From 98f1963f1e30d7bef0f4d76d2b8c4aa85331e49a Mon Sep 17 00:00:00 2001 From: Ruud Boon Date: Mon, 6 Jan 2020 11:08:55 +0100 Subject: [PATCH 02/28] - Fixed tests.yml --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5e727fe..8c05143 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -37,7 +37,7 @@ jobs: uses: shivammathur/setup-php@v1 #https://github.com/shivammathur/setup-php with: php-version: ${{ matrix.php-versions }} - extensions: mbstring, dom, zip, phalcon4, mysql #use phalcon3 for the phalcon 3.x. + extensions: mbstring, dom, zip, phalcon4, mysql coverage: xdebug #optional - name: Get composer cache directory id: composer-cache From 5fcf65f6a38dee38afca3674d00997c4939257e8 Mon Sep 17 00:00:00 2001 From: Ruud Boon Date: Mon, 6 Jan 2020 11:18:35 +0100 Subject: [PATCH 03/28] Fixed composer cache --- .github/workflows/tests.yml | 13 +------------ .gitignore | 1 + composer.json | 9 +++++---- 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8c05143..f014dde 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -39,19 +39,8 @@ jobs: php-version: ${{ matrix.php-versions }} extensions: mbstring, dom, zip, phalcon4, mysql coverage: xdebug #optional - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - name: Cache composer dependencies - uses: actions/cache@v1 - with: - path: ${{ steps.composer-cache.outputs.dir }} - # Use composer.json for key, if composer.lock is not committed. - # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} - restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader --ignore-platform-reqs + run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader - name: Prepare the application run: php -r "file_exists('.env') || copy('.env.example', '.env');" - name: Run Tests diff --git a/.gitignore b/.gitignore index 8ea5a13..38a0437 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /vendor/ /framework-tests .env +composer.lock diff --git a/composer.json b/composer.json index 33e3d4e..8a5722e 100644 --- a/composer.json +++ b/composer.json @@ -19,14 +19,15 @@ ], "require": { "php": ">=7.2.0 <8.0", - "codeception/lib-innerbrowser": "dev-master | ^1.0", - "codeception/codeception": "4.0.x-dev | ^4.0", + "ext-phalcon": ">=4", + "codeception/lib-innerbrowser": "^1.0", + "codeception/codeception": "^4.0", "vlucas/phpdotenv": "^4.1" }, "require-dev": { "codeception/util-robohelpers": "dev-master", - "codeception/module-asserts": "dev-master | ^1.0", - "codeception/module-phpbrowser": "dev-master | ^1.0", + "codeception/module-asserts": "^1.0", + "codeception/module-phpbrowser": "^1.0", "squizlabs/php_codesniffer": "^3.4", "vimeo/psalm": "^3.6", "codeception/module-db": "^1.0" From 6d1d567553433f57e856442c9bfe74301bf14d1d Mon Sep 17 00:00:00 2001 From: Ruud Boon Date: Mon, 6 Jan 2020 11:52:08 +0100 Subject: [PATCH 04/28] Updated docs --- src/Codeception/Module/Phalcon4.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/Codeception/Module/Phalcon4.php b/src/Codeception/Module/Phalcon4.php index 9254405..8716ab1 100644 --- a/src/Codeception/Module/Phalcon4.php +++ b/src/Codeception/Module/Phalcon4.php @@ -61,10 +61,7 @@ * * ``` php * * ``` @@ -73,7 +70,7 @@ * actor: AcceptanceTester * modules: * enabled: - * - Phalcon: + * - Phalcon4: * part: services * bootstrap: 'app/config/bootstrap.php' * cleanup: true From 4b4dd0508a692c34f46bf30982d44b5d7b4e3de9 Mon Sep 17 00:00:00 2001 From: Ruud Boon Date: Tue, 7 Jan 2020 13:15:03 +0100 Subject: [PATCH 05/28] Fix issue #15 Removed localized application --- src/Codeception/Module/Phalcon4.php | 20 +--------------- .../App/Controllers/DatetimeController.php | 18 ++++++++++++++ tests/_data/bootstrap.php | 16 +++++++++++++ tests/unit/Phalcon4ModuleTest.php | 24 +++++++++++++++++++ 4 files changed, 59 insertions(+), 19 deletions(-) create mode 100644 tests/_data/App/Controllers/DatetimeController.php diff --git a/src/Codeception/Module/Phalcon4.php b/src/Codeception/Module/Phalcon4.php index 8716ab1..e8587ad 100644 --- a/src/Codeception/Module/Phalcon4.php +++ b/src/Codeception/Module/Phalcon4.php @@ -165,25 +165,7 @@ public function _before(TestInterface $test) $this->di['db']->begin(); $this->debugSection('Database', 'Transaction started'); } - - // localize - $bootstrap = $this->bootstrapFile; - $this->client->setApplication(function () use ($bootstrap) { - $currentDi = Di::getDefault(); - /** @noinspection PhpIncludeInspection */ - $application = require $bootstrap; - $di = $application->getDI(); - if ($currentDi->has('db')) { - $di['db'] = $currentDi['db']; - } - if ($currentDi->has('session')) { - $di['session'] = $currentDi['session']; - } - if ($di->has('cookies')) { - $di['cookies']->useEncryption(false); - } - return $application; - }); + $this->client->setApplication($application); } /** diff --git a/tests/_data/App/Controllers/DatetimeController.php b/tests/_data/App/Controllers/DatetimeController.php new file mode 100644 index 0000000..cffd26a --- /dev/null +++ b/tests/_data/App/Controllers/DatetimeController.php @@ -0,0 +1,18 @@ +getDI()->get('datetime')); + } + + public function splAction() + { + echo spl_object_hash($this->getDI()); + } +} diff --git a/tests/_data/bootstrap.php b/tests/_data/bootstrap.php index b31907c..4db8d25 100644 --- a/tests/_data/bootstrap.php +++ b/tests/_data/bootstrap.php @@ -97,6 +97,11 @@ function ($view) use ($di) { }); +$di->set('datetime', function() { + return new DateTime(); +}); + + $router = $di->getRouter(); $router->add('/', [ @@ -104,4 +109,15 @@ function ($view) use ($di) { 'action' => 'index' ])->setName('front.index'); +$router->add('/datetime', [ + 'controller' => 'App\Controllers\Datetime', + 'action' => 'index' +])->setName('front.datetime'); + +$router->add('/datetime/spl', [ + 'controller' => 'App\Controllers\Datetime', + 'action' => 'spl' +])->setName('front.spl'); + + return new Application($di); diff --git a/tests/unit/Phalcon4ModuleTest.php b/tests/unit/Phalcon4ModuleTest.php index d34aad9..1b2bf6f 100644 --- a/tests/unit/Phalcon4ModuleTest.php +++ b/tests/unit/Phalcon4ModuleTest.php @@ -150,6 +150,30 @@ public function testContainerMethods() $module->_after($test); } + public function testReplaceService() + { + $module = $this->getPhalconModule(); + $test = new Codeception\Test\Unit(); + $module->_before($test); + $diHash = spl_object_hash($module->di); + + $datetime = $module->grabServiceFromContainer('datetime'); + $this->assertInstanceOf('DateTime', $datetime); + $this->assertEquals($diHash, spl_object_hash($module->di)); + + $std = $module->addServiceToContainer('datetime', function () { + return new \stdClass(); + }, false); + $this->assertInstanceOf('stdClass', $std); + $this->assertInstanceOf('stdClass', $module->grabServiceFromContainer('datetime')); + $this->assertEquals($diHash, spl_object_hash($module->di)); + $module->amOnPage('/datetime/spl'); + $module->see($diHash); + $module->amOnPage('/datetime'); + $module->see('class: stdClass'); + $module->_after($test); + } + public function testRoutes() { $module = $this->getPhalconModule(); From 0aa90f2d4327d879dc1ea3a8c0fbed2490aa577e Mon Sep 17 00:00:00 2001 From: Ruud Boon Date: Tue, 7 Jan 2020 13:16:45 +0100 Subject: [PATCH 06/28] Fixed styling --- tests/_data/bootstrap.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/_data/bootstrap.php b/tests/_data/bootstrap.php index 4db8d25..279a212 100644 --- a/tests/_data/bootstrap.php +++ b/tests/_data/bootstrap.php @@ -97,7 +97,7 @@ function ($view) use ($di) { }); -$di->set('datetime', function() { +$di->set('datetime', function () { return new DateTime(); }); From e2f7a69beef20b8f7b5e41c3812ca29bdbf1d6e8 Mon Sep 17 00:00:00 2001 From: Ruud Boon Date: Thu, 9 Jan 2020 16:15:54 +0100 Subject: [PATCH 07/28] Fix dependencys --- composer.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/composer.json b/composer.json index 8a5722e..0176928 100644 --- a/composer.json +++ b/composer.json @@ -20,17 +20,17 @@ "require": { "php": ">=7.2.0 <8.0", "ext-phalcon": ">=4", - "codeception/lib-innerbrowser": "^1.0", "codeception/codeception": "^4.0", - "vlucas/phpdotenv": "^4.1" + "codeception/lib-innerbrowser": "^1.0", + "codeception/module-asserts": "^1.0", + "codeception/module-phpbrowser": "^1.0", + "codeception/module-db": "^1.0" }, "require-dev": { "codeception/util-robohelpers": "dev-master", - "codeception/module-asserts": "^1.0", - "codeception/module-phpbrowser": "^1.0", + "vlucas/phpdotenv": "^4.1", "squizlabs/php_codesniffer": "^3.4", "vimeo/psalm": "^3.6", - "codeception/module-db": "^1.0" }, "autoload":{ "classmap": ["src/"] From 202f86b19a732ff071ccc5993c92891394a8c41f Mon Sep 17 00:00:00 2001 From: Ruud Boon Date: Thu, 9 Jan 2020 16:20:35 +0100 Subject: [PATCH 08/28] Removed dangling comma --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 0176928..1a8584c 100644 --- a/composer.json +++ b/composer.json @@ -30,7 +30,7 @@ "codeception/util-robohelpers": "dev-master", "vlucas/phpdotenv": "^4.1", "squizlabs/php_codesniffer": "^3.4", - "vimeo/psalm": "^3.6", + "vimeo/psalm": "^3.6" }, "autoload":{ "classmap": ["src/"] From a659a18d1607970b1b41de56338f18da65eee0ab Mon Sep 17 00:00:00 2001 From: Ruud Boon Date: Thu, 9 Jan 2020 20:53:49 +0100 Subject: [PATCH 09/28] Updated source link --- Robofile.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Robofile.php b/Robofile.php index 1e7c987..834aa63 100644 --- a/Robofile.php +++ b/Robofile.php @@ -13,7 +13,7 @@ public function buildDocs() { $className = Phalcon4::class; $classPath = str_replace('\\', '/', $className); - $source = "https://github.com/Codeception/module-phalcon/tree/master/src/$classPath.php"; + $source = "https://github.com/Codeception/module-phalcon4/tree/master/src/$classPath.php"; $sourceMessage = '

 

Module reference is taken from the source code. Help us to improve documentation. Edit module reference
'; $documentationFile = 'documentation.md'; $this->generateDocumentationForClass($className, $documentationFile, $sourceMessage); From ba4d287b2946aceb4266d7e281d9e0b19a3adaad Mon Sep 17 00:00:00 2001 From: Vincent Dauce Date: Thu, 7 May 2020 12:45:33 +0200 Subject: [PATCH 10/28] Replace Travis by Github Actions (#6) * Create main.yml * Delete .travis.yml * Update readme.md * Update main.yml * Update main.yml * Update main.yml * Update main.yml * Delete tests.yml * Update main.yml * Update main.yml * Update main.yml * Update main.yml --- .github/workflows/main.yml | 47 ++++++++++++++++++++++++++++++++++ .github/workflows/tests.yml | 51 ------------------------------------- .travis.yml | 29 --------------------- readme.md | 2 +- 4 files changed, 48 insertions(+), 81 deletions(-) create mode 100644 .github/workflows/main.yml delete mode 100644 .github/workflows/tests.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..4abf452 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,47 @@ +name: CI + +on: [push, pull_request] + +jobs: + tests: + runs-on: ubuntu-latest + + services: + mysql: + image: mysql:5.7 + env: + MYSQL_ROOT_PASSWORD: password + MYSQL_DATABASE: phalcon + ports: + - 3306:3306 + options: >- + --health-cmd "mysqladmin ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + strategy: + matrix: + php: [7.2, 7.3, 7.4] + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: phalcon4, pdo, mysql + coverage: none + + - name: Validate composer.json and composer.lock + run: composer validate + + - name: Install dependencies + run: composer install --prefer-dist --no-progress --no-interaction --no-suggest + + - name: Run test suite + run: | + php -r "file_exists('.env') || copy('.env.example', '.env');" + php vendor/bin/codecept build + php vendor/bin/codecept run unit diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml deleted file mode 100644 index f014dde..0000000 --- a/.github/workflows/tests.yml +++ /dev/null @@ -1,51 +0,0 @@ -# GitHub Action for Phalcon with MySQL -## Notes -## Make sure you have .env.example or .env file in your project -## and you have loaded Dotenv (https://github.com/vlucas/phpdotenv) -name: Testing Phalcon with MySQL -on: [push, pull_request] -jobs: - phalcon: - name: Phalcon (PHP ${{ matrix.php-versions }}) - runs-on: ubuntu-latest - env: - DB_ADAPTER: mysql - DB_HOST: 127.0.0.1 - DB_NAME: phalcon - DB_USERNAME: root - DB_PASSWORD: password - services: - mysql: - image: mysql:5.7 - env: - MYSQL_ALLOW_EMPTY_PASSWORD: false - MYSQL_ROOT_PASSWORD: password - MYSQL_DATABASE: phalcon - ports: - - 3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 - strategy: - fail-fast: false - matrix: - php-versions: ['7.2', '7.3', '7.4'] - # For phalcon 3.x, use - # php-versions: ['7.0', '7.1', '7.2', '7.3'] - steps: - - name: Checkout - uses: actions/checkout@v1 - - name: Setup PHP, with composer and extensions - uses: shivammathur/setup-php@v1 #https://github.com/shivammathur/setup-php - with: - php-version: ${{ matrix.php-versions }} - extensions: mbstring, dom, zip, phalcon4, mysql - coverage: xdebug #optional - - name: Install Composer dependencies - run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader - - name: Prepare the application - run: php -r "file_exists('.env') || copy('.env.example', '.env');" - - name: Run Tests - run: | - vendor/bin/codecept build - vendor/bin/codecept run unit - env: - DB_PORT: ${{ job.services.mysql.ports['3306'] }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 69bc11e..0000000 --- a/.travis.yml +++ /dev/null @@ -1,29 +0,0 @@ -language: php - -php: - - 7.2 - - 7.3 - - 7.4 - -# faster builds on new travis setup not using sudo -sudo: false - -services: - - mysql - -install: - - '[[ -z "$CI_USER_TOKEN" ]] || composer config github-oauth.github.com ${CI_USER_TOKEN};' - - travis_retry composer self-update && composer --version - - travis_retry composer update --prefer-dist --no-interaction - - git clone -q --depth=1 https://github.com/Codeception/phalcon-demo.git framework-tests - - git --git-dir framework-tests/.git log -n 1 - - git clone -q --depth=1 https://github.com/phalcon/cphalcon.git -b v4.0.0-RC.3 - - (cd cphalcon/build; bash ./install --phpize $(phpenv which phpize) --php-config $(phpenv which php-config) &>/dev/null && phpenv config-add ../tests/_ci/phalcon.ini &> /dev/null) - - travis_retry composer update -d framework-tests --no-dev --prefer-dist --no-interaction - - php ./vendor/bin/codecept build -c framework-tests - -before_script: - - 'mysql -e "CREATE DATABASE phalcon_demo CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;"' - - 'cat framework-tests/schemas/phalcon_demo.sql | mysql phalcon_demo' -script: - - php ./vendor/bin/codecept run unit diff --git a/readme.md b/readme.md index 70b80af..ee66462 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,6 @@ # Codeception module for Phalcon framework -[![Build Status](https://travis-ci.org/Codeception/module-phalcon.svg?branch=master)](https://travis-ci.org/Codeception/module-phalcon) +![Build Status](https://github.com/Codeception/module-phalcon4/workflows/CI/badge.svg) ## Installation From 318101017bcaa1ed60f70ea8a73a4878af918bba Mon Sep 17 00:00:00 2001 From: Druid33 Date: Wed, 3 Jun 2020 13:24:32 +0200 Subject: [PATCH 11/28] request server should be removed before changing his definitionn --- src/Codeception/Lib/Connector/Phalcon4.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Codeception/Lib/Connector/Phalcon4.php b/src/Codeception/Lib/Connector/Phalcon4.php index a03edd1..ba0e6cb 100644 --- a/src/Codeception/Lib/Connector/Phalcon4.php +++ b/src/Codeception/Lib/Connector/Phalcon4.php @@ -3,17 +3,17 @@ namespace Codeception\Lib\Connector; use Closure; +use Codeception\Lib\Connector\Shared\PhpSuperGlobalsConverter; +use Codeception\Util\Stub; use Phalcon\Di; use Phalcon\Http; -use RuntimeException; -use ReflectionProperty; -use Codeception\Util\Stub; use Phalcon\Mvc\Application; -use Symfony\Component\BrowserKit\Cookie; -use Symfony\Component\BrowserKit\AbstractBrowser as Client; use Phalcon\Mvc\Micro as MicroApplication; +use ReflectionProperty; +use RuntimeException; +use Symfony\Component\BrowserKit\AbstractBrowser as Client; +use Symfony\Component\BrowserKit\Cookie; use Symfony\Component\BrowserKit\Response; -use Codeception\Lib\Connector\Shared\PhpSuperGlobalsConverter; class Phalcon4 extends Client { @@ -110,6 +110,9 @@ public function doRequest($request) Di::reset(); Di::setDefault($di); + if ($di->has('request')) { + $di->remove('request'); + } $di['request'] = Stub::construct($phRequest, [], ['getRawBody' => $request->getContent()]); $response = $application->handle($pathString); From 74e2e2eae8313cd8df36ca215da94c7a64c23496 Mon Sep 17 00:00:00 2001 From: Druid33 Date: Wed, 3 Jun 2020 13:39:44 +0200 Subject: [PATCH 12/28] phpcs error fixed --- tests/_data/bootstrap-micro.php | 1 + tests/_support/AcceptanceTester.php | 1 - tests/_support/FunctionalTester.php | 1 - tests/_support/UnitTester.php | 1 - 4 files changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/_data/bootstrap-micro.php b/tests/_data/bootstrap-micro.php index c46e41c..7992a5a 100644 --- a/tests/_data/bootstrap-micro.php +++ b/tests/_data/bootstrap-micro.php @@ -1,3 +1,4 @@ Date: Fri, 3 Jul 2020 12:51:07 -0400 Subject: [PATCH 13/28] Adjusting Session To Use Session Manager --- .../Lib/Connector/Phalcon4/MemorySession.php | 23 +++++++++++++++++++ src/Codeception/Module/Phalcon4.php | 10 +++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/Codeception/Lib/Connector/Phalcon4/MemorySession.php b/src/Codeception/Lib/Connector/Phalcon4/MemorySession.php index c8f8adf..c09a82e 100644 --- a/src/Codeception/Lib/Connector/Phalcon4/MemorySession.php +++ b/src/Codeception/Lib/Connector/Phalcon4/MemorySession.php @@ -295,4 +295,27 @@ private function generateId() { return md5(time()); } + + /** + * Dummy - We Don't Actually Read Anything + * + * @return string + */ + public function read($id): string + { + return ""; + } + + /** + * Write - We Don't Actually Write Anything + * + * @param $id + * @param $data + * + * @return bool + */ + public function write($id, $data): bool + { + return true; + } } diff --git a/src/Codeception/Module/Phalcon4.php b/src/Codeception/Module/Phalcon4.php index e8587ad..9f1ae6e 100644 --- a/src/Codeception/Module/Phalcon4.php +++ b/src/Codeception/Module/Phalcon4.php @@ -19,6 +19,7 @@ use Phalcon\Mvc\Model as PhalconModel; use Phalcon\Mvc\Router\RouteInterface; use Phalcon\Mvc\RouterInterface; +use Phalcon\Session\Manager; use Phalcon\Url; /** @@ -150,8 +151,15 @@ public function _before(TestInterface $test) Di::setDefault($this->di); if ($this->di->has('session')) { + /** @var Manager $manager */ + $manager = $this->di->get(Manager::class); + $manager->setAdapter( + $this->di->get($this->config['session']) + ); + $manager->start(); + // Destroy existing sessions of previous tests - $this->di['session'] = $this->di->get($this->config['session']); + $this->di['session'] = $manager; } if ($this->di->has('cookies')) { From 54430447e3d590a41795886ae55814079f31785c Mon Sep 17 00:00:00 2001 From: Fenikkusu Date: Fri, 3 Jul 2020 13:01:53 -0400 Subject: [PATCH 14/28] Adjusting Session To Use Session Manager - Debugging Testing --- src/Codeception/Module/Phalcon4.php | 4 ++-- tests/unit/Phalcon4ModuleTest.php | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Codeception/Module/Phalcon4.php b/src/Codeception/Module/Phalcon4.php index 9f1ae6e..19024d2 100644 --- a/src/Codeception/Module/Phalcon4.php +++ b/src/Codeception/Module/Phalcon4.php @@ -231,7 +231,7 @@ public function getApplication() public function haveInSession($key, $val) { $this->di->get('session')->set($key, $val); - $this->debugSection('Session', json_encode($this->di['session']->toArray())); + $this->debugSection('Session', json_encode($this->di['session']->getAdapter()->toArray())); } /** @@ -250,7 +250,7 @@ public function haveInSession($key, $val) */ public function seeInSession($key, $value = null) { - $this->debugSection('Session', json_encode($this->di['session']->toArray())); + $this->debugSection('Session', json_encode($this->di['session']->getAdapter()->toArray())); if (is_array($key)) { $this->seeSessionHasValues($key); diff --git a/tests/unit/Phalcon4ModuleTest.php b/tests/unit/Phalcon4ModuleTest.php index 1b2bf6f..746a05a 100644 --- a/tests/unit/Phalcon4ModuleTest.php +++ b/tests/unit/Phalcon4ModuleTest.php @@ -140,7 +140,8 @@ public function testContainerMethods() $module->_before($test); $session = $module->grabServiceFromContainer('session'); - $this->assertInstanceOf('Codeception\Lib\Connector\Phalcon4\MemorySession', $session); + $this->assertInstanceOf('Phalcon\Session\Manager', $session); + $this->assertInstanceOf('Codeception\Lib\Connector\Phalcon4\MemorySession', $session->getAdapter()); $testService = $module->addServiceToContainer('std', function () { return new \stdClass(); From 2d247134e0d681af0d12dfccff0062f0e78160b4 Mon Sep 17 00:00:00 2001 From: Fenikkusu Date: Fri, 3 Jul 2020 13:03:07 -0400 Subject: [PATCH 15/28] Adjusting Session To Use Session Manager - CS Fixes --- tests/_data/bootstrap-micro.php | 1 + tests/_support/AcceptanceTester.php | 1 + tests/_support/FunctionalTester.php | 1 + tests/_support/UnitTester.php | 1 + 4 files changed, 4 insertions(+) diff --git a/tests/_data/bootstrap-micro.php b/tests/_data/bootstrap-micro.php index c46e41c..7992a5a 100644 --- a/tests/_data/bootstrap-micro.php +++ b/tests/_data/bootstrap-micro.php @@ -1,3 +1,4 @@ Date: Fri, 3 Jul 2020 13:12:14 -0400 Subject: [PATCH 16/28] Adjusting Session To Use Session Manager - CS Fixes --- tests/_support/AcceptanceTester.php | 1 + tests/_support/FunctionalTester.php | 1 + tests/_support/UnitTester.php | 1 + 3 files changed, 3 insertions(+) diff --git a/tests/_support/AcceptanceTester.php b/tests/_support/AcceptanceTester.php index 4768afd..8f57057 100644 --- a/tests/_support/AcceptanceTester.php +++ b/tests/_support/AcceptanceTester.php @@ -3,6 +3,7 @@ /** * Inherited Methods + * * @method void wantToTest($text) * @method void wantTo($text) * @method void execute($callable) diff --git a/tests/_support/FunctionalTester.php b/tests/_support/FunctionalTester.php index 2f415aa..c65d7f3 100644 --- a/tests/_support/FunctionalTester.php +++ b/tests/_support/FunctionalTester.php @@ -3,6 +3,7 @@ /** * Inherited Methods + * * @method void wantToTest($text) * @method void wantTo($text) * @method void execute($callable) diff --git a/tests/_support/UnitTester.php b/tests/_support/UnitTester.php index d3f6623..9e549cb 100644 --- a/tests/_support/UnitTester.php +++ b/tests/_support/UnitTester.php @@ -3,6 +3,7 @@ /** * Inherited Methods + * * @method void wantToTest($text) * @method void wantTo($text) * @method void execute($callable) From 0fcbbc1dfea54f17b937cf4217c6cd79b7d7c565 Mon Sep 17 00:00:00 2001 From: Fenikkusu Date: Mon, 13 Jul 2020 23:52:00 -0400 Subject: [PATCH 17/28] Adjusting Session To Use Session Manager - CS Fixes, Adding Faux Manager for Testing --- .env.example | 1 + .../Lib/Connector/Phalcon4/SessionManager.php | 18 ++++++++++++++++++ src/Codeception/Module/Phalcon4.php | 6 +++--- tests/_support/AcceptanceTester.php | 1 - tests/_support/FunctionalTester.php | 1 - tests/_support/UnitTester.php | 1 - 6 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 src/Codeception/Lib/Connector/Phalcon4/SessionManager.php diff --git a/.env.example b/.env.example index e0b95d5..fcae4d6 100644 --- a/.env.example +++ b/.env.example @@ -3,3 +3,4 @@ DB_HOST=127.0.0.1 DB_NAME=phalcon DB_USERNAME=root DB_PASSWORD=password +DB_PORT=3306 \ No newline at end of file diff --git a/src/Codeception/Lib/Connector/Phalcon4/SessionManager.php b/src/Codeception/Lib/Connector/Phalcon4/SessionManager.php new file mode 100644 index 0000000..b9066a9 --- /dev/null +++ b/src/Codeception/Lib/Connector/Phalcon4/SessionManager.php @@ -0,0 +1,18 @@ +di->has('session')) { /** @var Manager $manager */ - $manager = $this->di->get(Manager::class); + $manager = $this->di->get(SessionManager::class); $manager->setAdapter( $this->di->get($this->config['session']) ); - $manager->start(); // Destroy existing sessions of previous tests $this->di['session'] = $manager; diff --git a/tests/_support/AcceptanceTester.php b/tests/_support/AcceptanceTester.php index 8f57057..511ad7f 100644 --- a/tests/_support/AcceptanceTester.php +++ b/tests/_support/AcceptanceTester.php @@ -1,6 +1,5 @@ Date: Thu, 14 Jan 2021 00:03:25 +0100 Subject: [PATCH 18/28] Added link to 'central' parts explanation (#10) --- src/Codeception/Module/Phalcon4.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Codeception/Module/Phalcon4.php b/src/Codeception/Module/Phalcon4.php index 30c58fd..246292c 100644 --- a/src/Codeception/Module/Phalcon4.php +++ b/src/Codeception/Module/Phalcon4.php @@ -57,6 +57,9 @@ * * `orm` - include only `haveRecord/grabRecord/seeRecord/dontSeeRecord` actions. * * `services` - allows to use `grabServiceFromContainer` and `addServiceToContainer`. * + * See [WebDriver module](https://codeception.com/docs/modules/WebDriver#Loading-Parts-from-other-Modules) + * for general information on how to load parts of a framework module. + * * Usage example: * * Sample bootstrap (`app/config/bootstrap.php`): From e2ba4fe2fe983864b1eb9bdf6d826a47842a7576 Mon Sep 17 00:00:00 2001 From: Tavo Nieves J <64917965+TavoNiievez@users.noreply.github.com> Date: Fri, 15 Jan 2021 11:26:00 -0500 Subject: [PATCH 19/28] Standardize the `README` format (#11) --- readme.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index ee66462..fd05755 100644 --- a/readme.md +++ b/readme.md @@ -1,13 +1,24 @@ -# Codeception module for Phalcon framework +# Codeception Module Phalcon4 -![Build Status](https://github.com/Codeception/module-phalcon4/workflows/CI/badge.svg) +A Codeception module for Phalcon4 framework + +[![Actions Status](https://github.com/Codeception/module-phalcon4/workflows/CI/badge.svg)](https://github.com/Codeception/module-phalcon4/actions) +[![Latest Stable Version](https://poser.pugx.org/codeception/module-phalcon4/v/stable)](https://github.com/Codeception/module-phalcon4/releases) +[![Total Downloads](https://poser.pugx.org/codeception/module-phalcon4/downloads)](https://packagist.org/packages/codeception/module-phalcon4) +[![License](https://poser.pugx.org/codeception/module-phalcon4/license)](/LICENSE) ## Installation ``` -composer require --dev "codeception/module-phalcon" +composer require "codeception/module-phalcon4" --dev ``` ## Documentation Look at documentation.md file + +## License + +`Codeception Module Phalcon4` is open-sourced software licensed under the [MIT](/LICENSE) License. + +© Codeception PHP Testing Framework From cb14efa515ffe3ecb1775b8aa340a1b559db63f8 Mon Sep 17 00:00:00 2001 From: Anton Vasiliev Date: Wed, 10 Feb 2021 22:02:22 +0000 Subject: [PATCH 20/28] Remove '<8.0' requirement in composer.json --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 1a8584c..6aec148 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=7.2.0 <8.0", + "php": ">=7.2.0", "ext-phalcon": ">=4", "codeception/codeception": "^4.0", "codeception/lib-innerbrowser": "^1.0", From 749e20c3c3d75609d4a0b4504813ade0ebefae2b Mon Sep 17 00:00:00 2001 From: Druid33 Date: Tue, 13 Apr 2021 22:12:10 +0200 Subject: [PATCH 21/28] unit test for doRequst method --- tests/unit/Phalcon4ConnectorTest.php | 106 +++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 tests/unit/Phalcon4ConnectorTest.php diff --git a/tests/unit/Phalcon4ConnectorTest.php b/tests/unit/Phalcon4ConnectorTest.php new file mode 100644 index 0000000..991a0eb --- /dev/null +++ b/tests/unit/Phalcon4ConnectorTest.php @@ -0,0 +1,106 @@ +_setConfig([ + 'bootstrap' => 'tests/_data/bootstrap.php', + 'cleanup' => true, + 'savepoints' => true, + 'session' => 'Codeception\Lib\Connector\Phalcon4\MemorySession' + ]); + $module->_initialize(); + return $module; + } + + public function testConstruct(): void + { + $connector = new PhalconConnector(); + $this->assertInstanceOf(PhalconConnector::class, $connector); + } + + public function testDoRequest(): void + { + $module = $this->getPhalconModule(); + $test = new Codeception\Test\Unit(); + $module->_before($test); + + $connector = $module->client; + + // parameters for Request object + $uri = '/'; + $method = 'GET'; + $params = [ + 'first' => 'one', + 'second' => 'two' + ]; + $files = [ + 'file' => [ + 'name' => 'SomeFile.ext', + 'tmp_name' => 'SomeFile.ext', + 'error' => false + ] + ]; + $cookies = [ + 'token' => 'asdev257' + ]; + $server = [ + 'HTTP_HOST' => 'localhost', + 'SERVER_NAME' => 'my pc', + 'SERVER_ADDR' => '127.0.0.1', + ]; + $content = "this is request content"; + + $request = new Request( + $uri, + $method, + $params, + $files, + $cookies, + $server, + $content + ); + + // send request + $response = $connector->doRequest($request); + $this->assertSame(200, $response->getStatusCode()); + + /** @var Phalcon\Http\Request $requestService*/ + $requestService = $module->grabServiceFromContainer('request'); + + // assert request uri + $this->assertSame($uri, $requestService->getURI()); + + // assert request method + $this->assertSame($method, $requestService->getMethod()); + + // assert reques paramters + $this->assertSame($params['first'], $requestService->get('first')); + $this->assertSame($params['second'], $requestService->get('second')); + + // assert uploaded file + $this->assertTrue($requestService->hasFiles()); + /** @var Phalcon\Http\Request\File $uploadedFile */ + $uploadedFile = $requestService->getUploadedFiles()[0]; + $this->assertSame($files['file']['name'], $uploadedFile->getName()); + $this->assertSame($files['file']['tmp_name'], $uploadedFile->getTempName()); + $this->assertSame('ext', $uploadedFile->getExtension()); + + // assert server parameter + $this->assertSame($server['HTTP_HOST'], $requestService->getServer('HTTP_HOST')); + + // assert request body + $this->assertSame($content, $requestService->getRawBody()); + + $module->_after($test); + } +} From be2d6822c6a96bb0ddc63a097373235895ef800c Mon Sep 17 00:00:00 2001 From: Tavo Nieves J Date: Sun, 9 May 2021 14:10:51 -0500 Subject: [PATCH 22/28] Code standards updated to PHP 7.2 --- composer.json | 80 ++++++++++--------- readme.md | 4 + src/Codeception/Lib/Connector/Phalcon4.php | 28 ++++--- .../Lib/Connector/Phalcon4/MemorySession.php | 52 ++++++------ .../Lib/Connector/Phalcon4/SessionManager.php | 2 + src/Codeception/Module/Phalcon4.php | 51 ++++++------ tests/unit/MemorySessionTest.php | 4 +- tests/unit/Phalcon4ConnectorTest.php | 2 +- tests/unit/Phalcon4ModuleTest.php | 4 +- 9 files changed, 121 insertions(+), 106 deletions(-) diff --git a/composer.json b/composer.json index 6aec148..b2d64be 100644 --- a/composer.json +++ b/composer.json @@ -1,41 +1,43 @@ { - "name":"codeception/module-phalcon4", - "description":"Codeception module for Phalcon 4 framework", - "keywords":["codeception", "phalcon", "phalcon4"], - "homepage":"https://codeception.com/", - "type":"library", - "license":"MIT", - "authors": [ - { - "name": "Phalcon Team", - "email": "team@phalcon.io", - "homepage": "https://phalcon.io/en/team" - }, - { - "name": "Codeception Team", - "email": "team@codeception.com", - "homepage": "http://codeception.com/" - } - ], - "require": { - "php": ">=7.2.0", - "ext-phalcon": ">=4", - "codeception/codeception": "^4.0", - "codeception/lib-innerbrowser": "^1.0", - "codeception/module-asserts": "^1.0", - "codeception/module-phpbrowser": "^1.0", - "codeception/module-db": "^1.0" - }, - "require-dev": { - "codeception/util-robohelpers": "dev-master", - "vlucas/phpdotenv": "^4.1", - "squizlabs/php_codesniffer": "^3.4", - "vimeo/psalm": "^3.6" - }, - "autoload":{ - "classmap": ["src/"] - }, - "config": { - "classmap-authoritative": true - } + "name": "codeception/module-phalcon4", + "description": "Codeception module for Phalcon 4 framework", + "keywords": [ "codeception", "phalcon", "phalcon4" ], + "homepage": "https://codeception.com/", + "type": "library", + "license": "MIT", + "authors": [ + { + "name": "Phalcon Team", + "email": "team@phalcon.io", + "homepage": "https://phalcon.io/en/team" + }, + { + "name": "Codeception Team", + "email": "team@codeception.com", + "homepage": "https://codeception.com/" + } + ], + "require": { + "php": ">=7.2.0", + "ext-json": "*", + "codeception/codeception": "^4.0", + "codeception/lib-innerbrowser": "^1.0", + "codeception/module-asserts": "^1.0", + "codeception/module-phpbrowser": "^1.0", + "codeception/module-db": "^1.0" + }, + "require-dev": { + "codeception/util-robohelpers": "dev-master", + "vlucas/phpdotenv": "^4.1", + "squizlabs/php_codesniffer": "^3.4", + "vimeo/psalm": "^3.6" + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "config": { + "classmap-authoritative": true + } } diff --git a/readme.md b/readme.md index fd05755..4b9f3fd 100644 --- a/readme.md +++ b/readme.md @@ -7,6 +7,10 @@ A Codeception module for Phalcon4 framework [![Total Downloads](https://poser.pugx.org/codeception/module-phalcon4/downloads)](https://packagist.org/packages/codeception/module-phalcon4) [![License](https://poser.pugx.org/codeception/module-phalcon4/license)](/LICENSE) +## Requirements + +* `PHP 7.2` or higher. + ## Installation ``` diff --git a/src/Codeception/Lib/Connector/Phalcon4.php b/src/Codeception/Lib/Connector/Phalcon4.php index ba0e6cb..4e6ebfb 100644 --- a/src/Codeception/Lib/Connector/Phalcon4.php +++ b/src/Codeception/Lib/Connector/Phalcon4.php @@ -1,5 +1,7 @@ application = $application; } @@ -43,10 +47,11 @@ public function setApplication($application) public function getApplication() { $application = $this->application; - if ($application instanceof Closure) { return $application(); - } elseif (is_string($application)) { + } + + if (is_string($application)) { /** @noinspection PhpIncludeInspection */ return require $application; } @@ -57,12 +62,11 @@ public function getApplication() /** * Makes a request. * - * @param \Symfony\Component\BrowserKit\Request $request + * @param Request $request * - * @return \Symfony\Component\BrowserKit\Response - * @throws \RuntimeException + * @throws RuntimeException|ReflectionException */ - public function doRequest($request) + public function doRequest($request): Response { $application = $this->getApplication(); if (!$application instanceof Application && !$application instanceof MicroApplication) { @@ -99,7 +103,7 @@ public function doRequest($request) $_POST = $_REQUEST; } - parse_str($queryString, $output); + parse_str((string) $queryString, $output); foreach ($output as $k => $v) { $_GET[$k] = $v; } @@ -125,12 +129,14 @@ public function doRequest($request) $headersProperty = new ReflectionProperty($headers, 'headers'); $headersProperty->setAccessible(true); + $headers = $headersProperty->getValue($headers); if (!is_array($headers)) { $headers = []; } $cookiesProperty = new ReflectionProperty($di['cookies'], 'cookies'); + $cookiesProperty->setAccessible(true); $cookies = $cookiesProperty->getValue($di['cookies']); if (is_array($cookies)) { @@ -156,7 +162,7 @@ public function doRequest($request) return new Response( $response->getContent() ?: '', - $status ? $status : 200, + $status !== 0 ? $status : 200, $headers ); } diff --git a/src/Codeception/Lib/Connector/Phalcon4/MemorySession.php b/src/Codeception/Lib/Connector/Phalcon4/MemorySession.php index c09a82e..ca7596c 100644 --- a/src/Codeception/Lib/Connector/Phalcon4/MemorySession.php +++ b/src/Codeception/Lib/Connector/Phalcon4/MemorySession.php @@ -1,8 +1,11 @@ status() !== PHP_SESSION_ACTIVE) { $this->memory = []; @@ -60,7 +63,7 @@ public function start() * * @param array $options */ - public function setOptions(array $options) + public function setOptions(array $options): void { if (isset($options['uniqueId'])) { $this->sessionId = $options['uniqueId']; @@ -74,7 +77,7 @@ public function setOptions(array $options) * * @return array */ - public function getOptions() + public function getOptions(): array { return $this->options; } @@ -87,7 +90,7 @@ public function getOptions() * @param bool $remove * @return mixed */ - public function get($index, $defaultValue = null, $remove = false) + public function get(string $index, $defaultValue = null, bool $remove = false) { $key = $this->prepareIndex($index); @@ -110,7 +113,7 @@ public function get($index, $defaultValue = null, $remove = false) * @param string $index * @param mixed $value */ - public function set($index, $value) + public function set(string $index, $value): void { $this->memory[$this->prepareIndex($index)] = $value; } @@ -121,7 +124,7 @@ public function set($index, $value) * @param string $index * @return bool */ - public function has($index) + public function has(string $index): bool { return isset($this->memory[$this->prepareIndex($index)]); } @@ -131,7 +134,7 @@ public function has($index) * * @param string $index */ - public function remove($index) + public function remove(string $index): void { unset($this->memory[$this->prepareIndex($index)]); } @@ -141,7 +144,7 @@ public function remove($index) * * @return string */ - public function getId() + public function getId(): string { return $this->sessionId; } @@ -151,7 +154,7 @@ public function getId() * * @return bool */ - public function isStarted() + public function isStarted(): bool { return $this->started; } @@ -164,12 +167,11 @@ public function isStarted() * if ($session->status() !== PHP_SESSION_ACTIVE) { * $session->start(); * } - * ?> * ``` * * @return int */ - public function status() + public function status(): int { if ($this->isStarted()) { return PHP_SESSION_ACTIVE; @@ -181,7 +183,7 @@ public function status() /** * @inheritdoc * - * @param bool $removeData + * @param bool $id * @return bool */ public function destroy($id): bool @@ -195,9 +197,9 @@ public function destroy($id): bool * @inheritdoc * * @param bool $deleteOldSession - * @return \Phalcon\Session\AdapterInterface + * @return AdapterInterface */ - public function regenerateId($deleteOldSession = true) + public function regenerateId(bool $deleteOldSession = true): AdapterInterface { $this->sessionId = $this->generateId(); @@ -209,7 +211,7 @@ public function regenerateId($deleteOldSession = true) * * @param string $name */ - public function setName($name) + public function setName(string $name): void { $this->name = $name; } @@ -219,7 +221,7 @@ public function setName($name) * * @return string */ - public function getName() + public function getName(): string { return $this->name; } @@ -229,7 +231,7 @@ public function getName() * * @return array */ - public function toArray() + public function toArray(): array { return (array) $this->memory; } @@ -240,7 +242,7 @@ public function toArray() * @param string $index * @return mixed */ - public function __get($index) + public function __get(string $index) { return $this->get($index); } @@ -251,7 +253,7 @@ public function __get($index) * @param string $index * @param mixed $value */ - public function __set($index, $value) + public function __set(string $index, $value): void { $this->set($index, $value); } @@ -259,10 +261,10 @@ public function __set($index, $value) /** * Alias: Check whether a session variable is set in an application context * - * @param string $index + * @param string $index * @return bool */ - public function __isset($index) + public function __isset(string $index): bool { return $this->has($index); } @@ -272,12 +274,12 @@ public function __isset($index) * * @param string $index */ - public function __unset($index) + public function __unset(string $index): void { $this->remove($index); } - private function prepareIndex($index) + private function prepareIndex(string $index): string { if ($this->sessionId) { $key = $this->sessionId . '#' . $index; @@ -291,9 +293,9 @@ private function prepareIndex($index) /** * @return string */ - private function generateId() + private function generateId(): string { - return md5(time()); + return sha1((string) time()); } /** diff --git a/src/Codeception/Lib/Connector/Phalcon4/SessionManager.php b/src/Codeception/Lib/Connector/Phalcon4/SessionManager.php index b9066a9..eb8cc65 100644 --- a/src/Codeception/Lib/Connector/Phalcon4/SessionManager.php +++ b/src/Codeception/Lib/Connector/Phalcon4/SessionManager.php @@ -1,5 +1,7 @@ 'app/config/bootstrap.php', 'cleanup' => true, @@ -101,12 +107,14 @@ class Phalcon4 extends Framework implements ActiveRecord, PartedModule /** * Dependency injection container + * * @var DiInterface */ public $di = null; /** * Phalcon Connector + * * @var PhalconConnector */ public $client; @@ -231,7 +239,7 @@ public function getApplication() * @param string $key * @param mixed $val */ - public function haveInSession($key, $val) + public function haveInSession(string $key, $val): void { $this->di->get('session')->set($key, $val); $this->debugSection('Session', json_encode($this->di['session']->getAdapter()->toArray())); @@ -245,13 +253,12 @@ public function haveInSession($key, $val) * seeInSession('key'); * $I->seeInSession('key', 'value'); - * ?> * ``` * * @param string $key * @param mixed $value */ - public function seeInSession($key, $value = null) + public function seeInSession(string $key, $value = null): void { $this->debugSection('Session', json_encode($this->di['session']->getAdapter()->toArray())); @@ -278,13 +285,12 @@ public function seeInSession($key, $value = null) * seeSessionHasValues(['key1', 'key2']); * $I->seeSessionHasValues(['key1' => 'value1', 'key2' => 'value2']); - * ?> * ``` * * @param array $bindings * @return void */ - public function seeSessionHasValues(array $bindings) + public function seeSessionHasValues(array $bindings): void { foreach ($bindings as $key => $value) { if (is_int($key)) { @@ -302,7 +308,6 @@ public function seeSessionHasValues(array $bindings) * haveRecord('App\Models\Users', ['name' => 'Phalcon']); * $I->haveRecord('App\Models\Categories', ['name' => 'Testing']'); - * ?> * ``` * * @param string $model Model name @@ -352,7 +357,6 @@ public function haveRecord($model, $attributes = []) * ``` php * seeRecord('App\Models\Categories', ['name' => 'Testing']); - * ?> * ``` * * @param string $model Model name @@ -374,15 +378,14 @@ public function seeRecord($model, $attributes = []) * ``` php * seeNumberOfRecords('App\Models\Categories', 3, ['name' => 'Testing']); - * ?> * ``` * * @param string $model Model name * @param int $number int number of records - * @param array $attributes Model attributes + * @param array $attributes Model attributes * @part orm */ - public function seeNumberOfRecords($model, $number, $attributes = []) + public function seeNumberOfRecords(string $model, int $number, array $attributes = []): void { $records = $this->findRecords($model, $attributes); if ($records->count() != $number) { @@ -403,7 +406,6 @@ public function seeNumberOfRecords($model, $number, $attributes = []) * ``` php * dontSeeRecord('App\Models\Categories', ['name' => 'Testing']); - * ?> * ``` * * @param string $model Model name @@ -425,7 +427,6 @@ public function dontSeeRecord($model, $attributes = []) * ``` php * grabRecord('App\Models\Categories', ['name' => 'Testing']); - * ?> * ``` * * @param string $model Model name @@ -447,7 +448,7 @@ public function grabRecord($model, $attributes = []) * @return mixed * @part services */ - public function grabServiceFromContainer($service, array $parameters = []) + public function grabServiceFromContainer(string $service, array $parameters = []) { if (!$this->di->has($service)) { $this->fail("Service $service is not available in container"); @@ -466,7 +467,6 @@ public function grabServiceFromContainer($service, array $parameters = []) * $filter = $I->addServiceToContainer('answer', function () { * return rand(0, 1) ? 'Yes' : 'No'; * }, true); - * ?> * ``` * * @param string $name @@ -475,12 +475,12 @@ public function grabServiceFromContainer($service, array $parameters = []) * @return mixed|null * @part services */ - public function addServiceToContainer($name, $definition, $shared = false) + public function addServiceToContainer(string $name, $definition, bool $shared = false) { try { $service = $this->di->set($name, $definition, $shared); return $service->resolve(); - } catch (\Exception $e) { + } catch (Exception $e) { $this->fail($e->getMessage()); return null; @@ -493,13 +493,12 @@ public function addServiceToContainer($name, $definition, $shared = false) * ``` php * amOnRoute('posts.create'); - * ?> * ``` * * @param string $routeName * @param array $params */ - public function amOnRoute($routeName, array $params = []) + public function amOnRoute(string $routeName, array $params = []): void { if (!$this->di->has('url')) { $this->fail('Unable to resolve "url" service.'); @@ -522,11 +521,10 @@ public function amOnRoute($routeName, array $params = []) * ``` php * seeCurrentRouteIs('posts.index'); - * ?> * ``` * @param string $routeName */ - public function seeCurrentRouteIs($routeName) + public function seeCurrentRouteIs(string $routeName): void { if (!$this->di->has('url')) { $this->fail('Unable to resolve "url" service.'); @@ -545,7 +543,7 @@ public function seeCurrentRouteIs($routeName) * * @return \Phalcon\Mvc\Model */ - protected function findRecord($model, $attributes = []) + protected function findRecord(string $model, array $attributes = []) { $this->getModelRecord($model); $conditions = []; @@ -574,9 +572,9 @@ protected function findRecord($model, $attributes = []) * @param string $model Model name * @param array $attributes Model attributes * - * @return \Phalcon\Mvc\ResultsetInterface + * @return ResultsetInterface */ - protected function findRecords($model, $attributes = []) + protected function findRecords(string $model, array $attributes = []) { $this->getModelRecord($model); $conditions = []; @@ -691,10 +689,7 @@ protected function getInternalDomains() return array_unique($internalDomains); } - /** - * @return string - */ - private function getApplicationDomainRegex() + private function getApplicationDomainRegex(): string { $server = ReflectionHelper::readPrivateProperty($this->client, 'server'); $domain = $server['HTTP_HOST']; diff --git a/tests/unit/MemorySessionTest.php b/tests/unit/MemorySessionTest.php index 2476f00..0c336d1 100644 --- a/tests/unit/MemorySessionTest.php +++ b/tests/unit/MemorySessionTest.php @@ -1,9 +1,11 @@ Date: Thu, 20 May 2021 02:30:18 +0300 Subject: [PATCH 23/28] update CHANGELOG.md --- CHANGELOG.md | 47 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c99c8c..3179b22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,50 @@ -#### 1.0.1 +## 1.0.7 + +Updated code base to PHP 7.2 [#14](https://github.com/Codeception/module-phalcon4/pull/14): + +- Added strict types +- Added return types +- Added some type hints +- Removed unnecessary qualifiers +- sha1 by default instead of md5. + +## 1.0.6 + +#### Changed + +- Fixed Request service redefinition [#7](https://github.com/Codeception/module-phalcon4/pull/7) + +## 1.0.5 + +#### Changed + +- Removed limitation of PHP 8.0 version in composer.json + +## 1.0.4 + +#### Fixed + +- Session To Use Session Manager + +## 1.0.3 + +#### Fixed + +- Dependencies + +## 1.0.2 + +#### Fixed + +- Replacing service in DI from functional test not working + +## 1.0.1 - Removed composer.lock - Updated dependencies - Updated SQL schema +- Updated DocBlocks -#### 1.0.0 +## 1.0.0 -* Support Phalcon 4.0.0-RC.3 +- Support Phalcon 4.0.0-RC.3 From e8e842716aa76728ec312fea1215a46c68c1de4c Mon Sep 17 00:00:00 2001 From: Arhell Date: Mon, 24 May 2021 01:32:55 +0300 Subject: [PATCH 24/28] re-style CHANGELOG.md --- CHANGELOG.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3179b22..4b83c08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## 1.0.7 +## [1.0.7](https://github.com/Codeception/module-phalcon4/releases/tag/1.0.7) (18-05-2021) Updated code base to PHP 7.2 [#14](https://github.com/Codeception/module-phalcon4/pull/14): @@ -8,43 +8,43 @@ Updated code base to PHP 7.2 [#14](https://github.com/Codeception/module-phalcon - Removed unnecessary qualifiers - sha1 by default instead of md5. -## 1.0.6 +## [1.0.6](https://github.com/Codeception/module-phalcon4/releases/tag/1.0.6) (14-04-2021) #### Changed - Fixed Request service redefinition [#7](https://github.com/Codeception/module-phalcon4/pull/7) -## 1.0.5 +## [1.0.5](https://github.com/Codeception/module-phalcon4/releases/tag/1.0.5) (11-02-2021) #### Changed - Removed limitation of PHP 8.0 version in composer.json -## 1.0.4 +## [1.0.4](https://github.com/Codeception/module-phalcon4/releases/tag/1.0.4) (26-08-2020) #### Fixed - Session To Use Session Manager -## 1.0.3 +## [1.0.3](https://github.com/Codeception/module-phalcon4/releases/tag/1.0.3) (11-01-2020) #### Fixed - Dependencies -## 1.0.2 +## [1.0.2](https://github.com/Codeception/module-phalcon4/releases/tag/1.0.2) (07-01-2020) #### Fixed - Replacing service in DI from functional test not working -## 1.0.1 +## [1.0.1](https://github.com/Codeception/module-phalcon4/releases/tag/1.0.1) (06-01-2020) - Removed composer.lock - Updated dependencies - Updated SQL schema - Updated DocBlocks -## 1.0.0 +## [1.0.0](https://github.com/Codeception/module-phalcon4/releases/tag/1.0.0) (06-01-2020) -- Support Phalcon 4.0.0-RC.3 +- Support Phalcon 4.0.0-RC.3 \ No newline at end of file From 0b2398709038f58b675cd4e075f6539f9e591f09 Mon Sep 17 00:00:00 2001 From: Christopher T Date: Sat, 13 Nov 2021 15:27:11 +0100 Subject: [PATCH 25/28] Fix Phalcon bug where Expiration is returned as int Phalcons Cookie claims to return a string, but the actual code is an int returned. --- src/Codeception/Lib/Connector/Phalcon4.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Codeception/Lib/Connector/Phalcon4.php b/src/Codeception/Lib/Connector/Phalcon4.php index 4e6ebfb..7855eec 100644 --- a/src/Codeception/Lib/Connector/Phalcon4.php +++ b/src/Codeception/Lib/Connector/Phalcon4.php @@ -149,7 +149,7 @@ public function doRequest($request): Response $clientCookie = new Cookie( $name, $valueProperty->getValue($cookie), - $cookie->getExpiration(), + (string)$cookie->getExpiration(), $cookie->getPath(), $cookie->getDomain(), $cookie->getSecure(), From 6b6c5ecf65d1f6b93cdafe0e9603a7696b7245da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joonas=20J=C3=A4rnstedt?= Date: Fri, 19 Nov 2021 22:27:20 +0200 Subject: [PATCH 26/28] Fix getApplication() type hint `\Phalcon\Application` does not exist --- src/Codeception/Module/Phalcon4.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Codeception/Module/Phalcon4.php b/src/Codeception/Module/Phalcon4.php index f58a105..fb28fef 100644 --- a/src/Codeception/Module/Phalcon4.php +++ b/src/Codeception/Module/Phalcon4.php @@ -226,7 +226,7 @@ public function _parts() * Provides access the Phalcon application object. * * @see \Codeception\Lib\Connector\Phalcon::getApplication - * @return \Phalcon\Application|\Phalcon\Mvc\Micro + * @return \Phalcon\Mvc\Application|\Phalcon\Mvc\Micro */ public function getApplication() { From 77536467ad89f7a6347d83f10f552b3c6b893768 Mon Sep 17 00:00:00 2001 From: Ihor Sychevskyi Date: Mon, 28 Feb 2022 00:22:34 +0200 Subject: [PATCH 27/28] update links (#23) --- documentation.md | 2 +- src/Codeception/Module/Phalcon4.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation.md b/documentation.md index 5dbe535..087bd88 100644 --- a/documentation.md +++ b/documentation.md @@ -1,7 +1,7 @@ # Phalcon -This module provides integration with [Phalcon framework](http://www.phalcon.io/) (4.x). +This module provides integration with [Phalcon framework](https://www.phalcon.io/) (4.x). Please try it and leave your feedback. ## Demo Project diff --git a/src/Codeception/Module/Phalcon4.php b/src/Codeception/Module/Phalcon4.php index fb28fef..1cbbde5 100644 --- a/src/Codeception/Module/Phalcon4.php +++ b/src/Codeception/Module/Phalcon4.php @@ -27,7 +27,7 @@ use Phalcon\Url; /** - * This module provides integration with [Phalcon framework](http://www.phalcon.io/) (4.x). + * This module provides integration with [Phalcon framework](https://www.phalcon.io/) (4.x). * Please try it and leave your feedback. * * ## Status From bd55b0e0432142df2b2cc46b445a321b827dbadc Mon Sep 17 00:00:00 2001 From: Hina Chen Date: Mon, 30 May 2022 17:37:39 +0800 Subject: [PATCH 28/28] Fixed ->getContent() return value, null is not accept for getRawBody() --- src/Codeception/Lib/Connector/Phalcon4.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Codeception/Lib/Connector/Phalcon4.php b/src/Codeception/Lib/Connector/Phalcon4.php index 7855eec..e28ee1c 100644 --- a/src/Codeception/Lib/Connector/Phalcon4.php +++ b/src/Codeception/Lib/Connector/Phalcon4.php @@ -117,7 +117,8 @@ public function doRequest($request): Response if ($di->has('request')) { $di->remove('request'); } - $di['request'] = Stub::construct($phRequest, [], ['getRawBody' => $request->getContent()]); + $requestContent = $request->getContent() ?: ''; + $di['request'] = Stub::construct($phRequest, [], ['getRawBody' => $requestContent]); $response = $application->handle($pathString); if (!$response instanceof Http\ResponseInterface) {