From e80251b6ea79efb3480da922aed76a29dce16815 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 13 Dec 2024 22:25:10 +0200 Subject: [PATCH 1/8] PHP build fixes --- composer.json | 8 +- composer.lock | 879 +++++++++++++++--- .../MigrationManagerTest.php | 3 - .../PhpMigrationRunnerTest.php | 4 - .../SqlMigrationRunnerTest.php | 3 - 5 files changed, 746 insertions(+), 151 deletions(-) diff --git a/composer.json b/composer.json index e0d698f..facb348 100644 --- a/composer.json +++ b/composer.json @@ -10,12 +10,14 @@ } ], "require": { - "php": ">=5.4", - "aura/sql": "^2.5 | ^3.0" + "php": ">=5.6", + "aura/sql": "^2.5 || ^3.0 || ^4.0 || ^5.0" }, "require-dev": { "aik099/coding-standard": "dev-master", - "yoast/phpunit-polyfills": "^1.0" + "yoast/phpunit-polyfills": "^2.0", + "phpspec/prophecy": "^1.10", + "console-helpers/prophecy-phpunit": "^3.0" }, "autoload": { "psr-4": { diff --git a/composer.lock b/composer.lock index 1e72811..24b9ab8 100644 --- a/composer.lock +++ b/composer.lock @@ -4,34 +4,31 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "093f8bb1fb69334fccfef71bbed0b225", + "content-hash": "919b87d00ad2cafc51b234c8c05a33c2", "packages": [ { "name": "aura/sql", - "version": "2.6.0", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/auraphp/Aura.Sql.git", - "reference": "16206efbe5ba63603fe3b18ba54a4c5296cd5f3e" + "reference": "88d8b8ed1bcfd588a649fdc7e7ac89ec047abbca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/auraphp/Aura.Sql/zipball/16206efbe5ba63603fe3b18ba54a4c5296cd5f3e", - "reference": "16206efbe5ba63603fe3b18ba54a4c5296cd5f3e", + "url": "https://api.github.com/repos/auraphp/Aura.Sql/zipball/88d8b8ed1bcfd588a649fdc7e7ac89ec047abbca", + "reference": "88d8b8ed1bcfd588a649fdc7e7ac89ec047abbca", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=5.6.0", + "psr/log": "^1.0 || ^2.0" }, "require-dev": { - "phpunit/phpunit": "~5.7 || ~4.8" + "pds/skeleton": "~1.0", + "yoast/phpunit-polyfills": "~1.0" }, "type": "library", - "extra": { - "aura": { - "type": "library" - } - }, "autoload": { "psr-4": { "Aura\\Sql\\": "src/" @@ -39,7 +36,7 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-2-Clause" + "MIT" ], "authors": [ { @@ -47,7 +44,7 @@ "homepage": "https://github.com/auraphp/Aura.Sql/contributors" } ], - "description": "A PDO extension that provides lazy connections, array quoting, identifier quoting, query profiling, value binding, and convenience methods for common fetch styles. Because it extends PDO, existing code that uses PDO can use this without any changes to the existing code.", + "description": "A PDO extension that provides lazy connections, array quoting, query profiling, value binding, and convenience methods for common fetch styles. Because it extends PDO, existing code that uses PDO can use this without any changes to the existing code.", "homepage": "https://github.com/auraphp/Aura.Sql", "keywords": [ "mysql", @@ -60,7 +57,61 @@ "sqlserver", "sqlsrv" ], - "time": "2018-08-15T13:33:56+00:00" + "support": { + "issues": "https://github.com/auraphp/Aura.Sql/issues", + "source": "https://github.com/auraphp/Aura.Sql/tree/3.1.0" + }, + "time": "2022-04-28T05:11:23+00:00" + }, + { + "name": "psr/log", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "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": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.4" + }, + "time": "2021-05-03T11:20:27+00:00" } ], "packages-dev": [ @@ -70,17 +121,19 @@ "source": { "type": "git", "url": "https://github.com/aik099/CodingStandard.git", - "reference": "4b605a2fadc7f69bd89ee83a388d2965a0b34b0c" + "reference": "7f80da035830935c5bc1a44eb76302393ab70f0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aik099/CodingStandard/zipball/4b605a2fadc7f69bd89ee83a388d2965a0b34b0c", - "reference": "4b605a2fadc7f69bd89ee83a388d2965a0b34b0c", + "url": "https://api.github.com/repos/aik099/CodingStandard/zipball/7f80da035830935c5bc1a44eb76302393ab70f0a", + "reference": "7f80da035830935c5bc1a44eb76302393ab70f0a", "shasum": "" }, "require-dev": { - "squizlabs/php_codesniffer": "^3.0" + "squizlabs/php_codesniffer": "^3.0", + "yoast/phpunit-polyfills": "^1.0" }, + "default-branch": true, "type": "library", "extra": { "branch-alias": { @@ -102,7 +155,62 @@ "PHP_CodeSniffer", "codesniffer" ], - "time": "2020-01-14T16:30:17+00:00" + "support": { + "issues": "https://github.com/aik099/CodingStandard/issues", + "source": "https://github.com/aik099/CodingStandard/tree/master" + }, + "time": "2021-11-07T16:55:51+00:00" + }, + { + "name": "console-helpers/prophecy-phpunit", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/console-helpers/prophecy-phpunit.git", + "reference": "fe66ace435d1ace4732922283a66e4661c9d3a4d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/console-helpers/prophecy-phpunit/zipball/fe66ace435d1ace4732922283a66e4661c9d3a4d", + "reference": "fe66ace435d1ace4732922283a66e4661c9d3a4d", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7 || ^8", + "phpspec/prophecy": "^1.3", + "phpunit/phpunit": "^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Prophecy\\PhpUnit\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christophe Coevoet", + "email": "stof@notk.org" + } + ], + "description": "Integrating the Prophecy mocking library in PHPUnit test cases", + "homepage": "http://phpspec.net", + "keywords": [ + "phpunit", + "prophecy" + ], + "support": { + "source": "https://github.com/console-helpers/prophecy-phpunit/tree/v3.0.0" + }, + "time": "2024-07-15T12:38:02+00:00" }, { "name": "doctrine/instantiator", @@ -156,41 +264,213 @@ "constructor", "instantiate" ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.0.5" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], "time": "2015-06-14T21:17:01+00:00" }, + { + "name": "myclabs/deep-copy", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^4.1" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.x" + }, + "time": "2017-10-19T19:58:43+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.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" + ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/master" + }, + "time": "2017-09-11T18:02:19+00:00" + }, { "name": "phpdocumentor/reflection-docblock", - "version": "2.0.5", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b" + "reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e6a969a640b00d8daa3c66518b0405fb41ae0c4b", - "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bf329f6c1aadea3299f08ee804682b7c45b326a2", + "reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.6 || ^7.0", + "phpdocumentor/reflection-common": "^1.0.0", + "phpdocumentor/type-resolver": "^0.4.0", + "webmozart/assert": "^1.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^4.4" }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" + "type": "library", + "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.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/release/3.x" + }, + "time": "2017-11-10T14:09:06+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "psr-0": { - "phpDocumentor": [ + "psr-4": { + "phpDocumentor\\Reflection\\": [ "src/" ] } @@ -202,10 +482,14 @@ "authors": [ { "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" + "email": "me@mikevanriel.com" } ], - "time": "2016-01-25T08:17:30+00:00" + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/master" + }, + "time": "2017-07-14T14:27:02+00:00" }, { "name": "phpspec/prophecy", @@ -268,43 +552,48 @@ "spy", "stub" ], + "support": { + "issues": "https://github.com/phpspec/prophecy/issues", + "source": "https://github.com/phpspec/prophecy/tree/v1.10.3" + }, "time": "2020-03-05T15:02:03+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "2.2.4", + "version": "4.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" + "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", + "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", "shasum": "" }, "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "^1.3.2", - "sebastian/version": "~1.0" + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": "^5.6 || ^7.0", + "phpunit/php-file-iterator": "^1.3", + "phpunit/php-text-template": "^1.2", + "phpunit/php-token-stream": "^1.4.2 || ^2.0", + "sebastian/code-unit-reverse-lookup": "^1.0", + "sebastian/environment": "^1.3.2 || ^2.0", + "sebastian/version": "^1.0 || ^2.0" }, "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" + "ext-xdebug": "^2.1.4", + "phpunit/phpunit": "^5.7" }, "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" + "ext-xdebug": "^2.5.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2.x-dev" + "dev-master": "4.0.x-dev" } }, "autoload": { @@ -330,7 +619,12 @@ "testing", "xunit" ], - "time": "2015-10-06T15:47:00+00:00" + "support": { + "irc": "irc://irc.freenode.net/phpunit", + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/4.0" + }, + "time": "2017-04-02T07:44:40+00:00" }, { "name": "phpunit/php-file-iterator", @@ -377,6 +671,11 @@ "filesystem", "iterator" ], + "support": { + "irc": "irc://irc.freenode.net/phpunit", + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/1.4.5" + }, "time": "2017-11-27T13:52:08+00:00" }, { @@ -418,6 +717,10 @@ "keywords": [ "template" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1" + }, "time": "2015-06-21T13:50:34+00:00" }, { @@ -467,6 +770,10 @@ "keywords": [ "timer" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/master" + }, "time": "2017-02-26T11:10:40+00:00" }, { @@ -516,45 +823,59 @@ "keywords": [ "tokenizer" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-token-stream/issues", + "source": "https://github.com/sebastianbergmann/php-token-stream/tree/1.4" + }, "abandoned": true, "time": "2017-12-04T08:55:13+00:00" }, { "name": "phpunit/phpunit", - "version": "4.8.36", + "version": "5.7.27", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "46023de9a91eec7dfb06cc56cb4e260017298517" + "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517", - "reference": "46023de9a91eec7dfb06cc56cb4e260017298517", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c", + "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c", "shasum": "" }, "require": { "ext-dom": "*", "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpspec/prophecy": "^1.3.1", - "phpunit/php-code-coverage": "~2.1", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "myclabs/deep-copy": "~1.3", + "php": "^5.6 || ^7.0", + "phpspec/prophecy": "^1.6.2", + "phpunit/php-code-coverage": "^4.0.4", "phpunit/php-file-iterator": "~1.4", "phpunit/php-text-template": "~1.2", "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.2.2", - "sebastian/diff": "~1.2", - "sebastian/environment": "~1.3", - "sebastian/exporter": "~1.2", - "sebastian/global-state": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.1|~3.0" + "phpunit/phpunit-mock-objects": "^3.2", + "sebastian/comparator": "^1.2.4", + "sebastian/diff": "^1.4.3", + "sebastian/environment": "^1.3.4 || ^2.0", + "sebastian/exporter": "~2.0", + "sebastian/global-state": "^1.1", + "sebastian/object-enumerator": "~2.0", + "sebastian/resource-operations": "~1.0", + "sebastian/version": "^1.0.6|^2.0.1", + "symfony/yaml": "~2.1|~3.0|~4.0" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "3.0.2" + }, + "require-dev": { + "ext-pdo": "*" }, "suggest": { + "ext-xdebug": "*", "phpunit/php-invoker": "~1.1" }, "bin": [ @@ -563,7 +884,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.8.x-dev" + "dev-master": "5.7.x-dev" } }, "autoload": { @@ -589,30 +910,37 @@ "testing", "xunit" ], - "time": "2017-06-21T08:07:12+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/5.7.27" + }, + "time": "2018-02-01T05:50:59+00:00" }, { "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", + "version": "3.4.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" + "reference": "a23b761686d50a560cc56233b9ecf49597cc9118" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/a23b761686d50a560cc56233b9ecf49597cc9118", + "reference": "a23b761686d50a560cc56233b9ecf49597cc9118", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" + "php": "^5.6 || ^7.0", + "phpunit/php-text-template": "^1.2", + "sebastian/exporter": "^1.2 || ^2.0" + }, + "conflict": { + "phpunit/phpunit": "<5.4.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^5.4" }, "suggest": { "ext-soap": "*" @@ -620,7 +948,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3.x-dev" + "dev-master": "3.2.x-dev" } }, "autoload": { @@ -645,8 +973,68 @@ "mock", "xunit" ], + "support": { + "irc": "irc://irc.freenode.net/phpunit", + "issues": "https://github.com/sebastianbergmann/phpunit-mock-objects/issues", + "source": "https://github.com/sebastianbergmann/phpunit-mock-objects/tree/3.4" + }, "abandoned": true, - "time": "2015-10-02T06:51:40+00:00" + "time": "2017-06-30T09:13:00+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "92a1a52e86d34cde6caa54f1b5ffa9fda18e5d54" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/92a1a52e86d34cde6caa54f1b5ffa9fda18e5d54", + "reference": "92a1a52e86d34cde6caa54f1b5ffa9fda18e5d54", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "phpunit/phpunit": "^8.5" + }, + "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/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-01T13:45:45+00:00" }, { "name": "sebastian/comparator", @@ -710,6 +1098,10 @@ "compare", "equality" ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/1.2" + }, "time": "2017-01-29T09:50:25+00:00" }, { @@ -762,32 +1154,36 @@ "keywords": [ "diff" ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/1.4" + }, "time": "2017-05-22T07:24:03+00:00" }, { "name": "sebastian/environment", - "version": "1.3.8", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" + "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", + "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^5.6 || ^7.0" }, "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" + "phpunit/phpunit": "^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -812,25 +1208,29 @@ "environment", "hhvm" ], - "time": "2016-08-18T05:49:44+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/master" + }, + "time": "2016-11-26T07:53:53+00:00" }, { "name": "sebastian/exporter", - "version": "1.2.2", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" + "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", + "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", "shasum": "" }, "require": { "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" + "sebastian/recursion-context": "~2.0" }, "require-dev": { "ext-mbstring": "*", @@ -839,7 +1239,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -879,7 +1279,11 @@ "export", "exporter" ], - "time": "2016-06-17T09:04:28+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/master" + }, + "time": "2016-11-19T08:54:04+00:00" }, { "name": "sebastian/global-state", @@ -930,20 +1334,74 @@ "keywords": [ "global state" ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/1.1.1" + }, "time": "2015-10-12T03:26:01+00:00" }, + { + "name": "sebastian/object-enumerator", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", + "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", + "shasum": "" + }, + "require": { + "php": ">=5.6", + "sebastian/recursion-context": "~2.0" + }, + "require-dev": { + "phpunit/phpunit": "~5" + }, + "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" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/master" + }, + "time": "2017-02-18T15:18:39+00:00" + }, { "name": "sebastian/recursion-context", - "version": "1.0.5", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" + "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", + "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", "shasum": "" }, "require": { @@ -955,7 +1413,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -983,23 +1441,81 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/master" + }, + "time": "2016-11-19T07:33:16+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "shasum": "" + }, + "require": { + "php": ">=5.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": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/master" + }, + "time": "2015-07-28T20:34:47+00:00" }, { "name": "sebastian/version", - "version": "1.0.6", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "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/" @@ -1018,7 +1534,11 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", - "time": "2015-06-21T13:59:46+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/master" + }, + "time": "2016-10-03T07:35:21+00:00" }, { "name": "symfony/polyfill-ctype", @@ -1042,21 +1562,21 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + }, "branch-alias": { "dev-main": "1.19-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1080,6 +1600,9 @@ "polyfill", "portable" ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.19.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -1098,28 +1621,32 @@ }, { "name": "symfony/yaml", - "version": "v2.8.52", + "version": "v3.4.47", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "02c1859112aa779d9ab394ae4f3381911d84052b" + "reference": "88289caa3c166321883f67fe5130188ebbb47094" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/02c1859112aa779d9ab394ae4f3381911d84052b", - "reference": "02c1859112aa779d9ab394ae4f3381911d84052b", + "url": "https://api.github.com/repos/symfony/yaml/zipball/88289caa3c166321883f67fe5130188ebbb47094", + "reference": "88289caa3c166321883f67fe5130188ebbb47094", "shasum": "" }, "require": { - "php": ">=5.3.9", + "php": "^5.5.9|>=7.0.8", "symfony/polyfill-ctype": "~1.8" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } + "conflict": { + "symfony/console": "<3.4" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" }, + "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Yaml\\": "" @@ -1144,34 +1671,105 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-11-11T11:18:13+00:00" + "support": { + "source": "https://github.com/symfony/yaml/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T10:57:07+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.9.1", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0 || ^8.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<3.9.1" + }, + "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" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.9.1" + }, + "time": "2020-07-08T17:02:28+00:00" }, { "name": "yoast/phpunit-polyfills", - "version": "1.0.2", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/Yoast/PHPUnit-Polyfills.git", - "reference": "1a582ab1d91e86aa450340c4d35631a85314ff9f" + "reference": "562f449a2ec8ab92fe7b30d94da9622c7b1345fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/1a582ab1d91e86aa450340c4d35631a85314ff9f", - "reference": "1a582ab1d91e86aa450340c4d35631a85314ff9f", + "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/562f449a2ec8ab92fe7b30d94da9622c7b1345fe", + "reference": "562f449a2ec8ab92fe7b30d94da9622c7b1345fe", "shasum": "" }, "require": { - "php": ">=5.4", - "phpunit/phpunit": "^4.8.36 || ^5.7.21 || ^6.0 || ^7.0 || ^8.0 || ^9.0" + "php": ">=5.6", + "phpunit/phpunit": "^5.7.21 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0" }, "require-dev": { - "yoast/yoastcs": "^2.2.0" + "php-parallel-lint/php-console-highlighter": "^1.0.0", + "php-parallel-lint/php-parallel-lint": "^1.4.0", + "yoast/yoastcs": "^3.1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.x-dev", - "dev-develop": "1.x-dev" + "dev-main": "3.x-dev" } }, "autoload": { @@ -1201,7 +1799,12 @@ "polyfill", "testing" ], - "time": "2021-10-03T08:40:26+00:00" + "support": { + "issues": "https://github.com/Yoast/PHPUnit-Polyfills/issues", + "security": "https://github.com/Yoast/PHPUnit-Polyfills/security/policy", + "source": "https://github.com/Yoast/PHPUnit-Polyfills" + }, + "time": "2024-09-06T22:38:28+00:00" } ], "aliases": [], @@ -1212,8 +1815,8 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=5.4" + "php": ">=5.6" }, "platform-dev": [], - "plugin-api-version": "1.1.0" + "plugin-api-version": "2.2.0" } diff --git a/tests/DatabaseMigration/MigrationManagerTest.php b/tests/DatabaseMigration/MigrationManagerTest.php index 96f1110..d37d4f5 100644 --- a/tests/DatabaseMigration/MigrationManagerTest.php +++ b/tests/DatabaseMigration/MigrationManagerTest.php @@ -18,13 +18,10 @@ use Prophecy\Argument; use Prophecy\Prophecy\ObjectProphecy; use Tests\ConsoleHelpers\DatabaseMigration\ProphecyToken\RegExToken; -use Yoast\PHPUnitPolyfills\Polyfills\ExpectException; class MigrationManagerTest extends AbstractDatabaseAwareTestCase { - use ExpectException; - /** * Container. * diff --git a/tests/DatabaseMigration/PhpMigrationRunnerTest.php b/tests/DatabaseMigration/PhpMigrationRunnerTest.php index 175c676..47a470e 100644 --- a/tests/DatabaseMigration/PhpMigrationRunnerTest.php +++ b/tests/DatabaseMigration/PhpMigrationRunnerTest.php @@ -13,13 +13,9 @@ use ConsoleHelpers\DatabaseMigration\AbstractMigrationRunner; use ConsoleHelpers\DatabaseMigration\PhpMigrationRunner; -use Yoast\PHPUnitPolyfills\Polyfills\ExpectException; class PhpMigrationRunnerTest extends AbstractMigrationRunnerTest { - - use ExpectException; - public function testGetFileExtension() { $this->assertEquals('php', $this->runner->getFileExtension()); diff --git a/tests/DatabaseMigration/SqlMigrationRunnerTest.php b/tests/DatabaseMigration/SqlMigrationRunnerTest.php index 88c4cad..09506be 100644 --- a/tests/DatabaseMigration/SqlMigrationRunnerTest.php +++ b/tests/DatabaseMigration/SqlMigrationRunnerTest.php @@ -14,13 +14,10 @@ use ConsoleHelpers\DatabaseMigration\AbstractMigrationRunner; use ConsoleHelpers\DatabaseMigration\SqlMigrationRunner; use Prophecy\Argument; -use Yoast\PHPUnitPolyfills\Polyfills\ExpectException; class SqlMigrationRunnerTest extends AbstractMigrationRunnerTest { - use ExpectException; - public function testGetFileExtension() { $this->assertEquals('sql', $this->runner->getFileExtension()); From 7d5d477a39efff5311b5ce9b052cf82915dd7db2 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 13 Dec 2024 22:51:50 +0200 Subject: [PATCH 2/8] Don't test on PHP 5.4 and PHP 5.5 --- .github/workflows/tests.yml | 2 +- CHANGELOG.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3a0b73f..7d5e1ca 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,7 +21,7 @@ jobs: strategy: matrix: - php: [ '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4'] + php: [ '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4'] fail-fast: false steps: diff --git a/CHANGELOG.md b/CHANGELOG.md index 191fbd3..22feae2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ... ### Changed -... +- Increase minimal supported version of PHP to 5.6. ### Fixed ... From 68f0f4a53bc78a1305d53c1d49c670bda7f6fd37 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 13 Dec 2024 23:05:05 +0200 Subject: [PATCH 3/8] Correct Prophecy integration --- .../AbstractDatabaseAwareTestCase.php | 7 +++---- .../AbstractMigrationRunnerTest.php | 3 +-- tests/DatabaseMigration/AbstractTestCase.php | 20 +++++++++++++++++++ .../MigrationContextTest.php | 3 +-- .../PhpMigrationRunnerTest.php | 1 + .../ProphecyToken/RegExToken.php | 4 ++-- 6 files changed, 28 insertions(+), 10 deletions(-) create mode 100644 tests/DatabaseMigration/AbstractTestCase.php diff --git a/tests/DatabaseMigration/AbstractDatabaseAwareTestCase.php b/tests/DatabaseMigration/AbstractDatabaseAwareTestCase.php index 1d436df..0ea5237 100644 --- a/tests/DatabaseMigration/AbstractDatabaseAwareTestCase.php +++ b/tests/DatabaseMigration/AbstractDatabaseAwareTestCase.php @@ -1,11 +1,11 @@ - * @link https://github.com/console-helpers/svn-buddy + * @link https://github.com/console-helpers/db-migration */ namespace Tests\ConsoleHelpers\DatabaseMigration; @@ -13,9 +13,8 @@ use Aura\Sql\ExtendedPdo; use Aura\Sql\ExtendedPdoInterface; -use PHPUnit\Framework\TestCase; -abstract class AbstractDatabaseAwareTestCase extends TestCase +abstract class AbstractDatabaseAwareTestCase extends AbstractTestCase { /** diff --git a/tests/DatabaseMigration/AbstractMigrationRunnerTest.php b/tests/DatabaseMigration/AbstractMigrationRunnerTest.php index 4669ba7..266c07f 100644 --- a/tests/DatabaseMigration/AbstractMigrationRunnerTest.php +++ b/tests/DatabaseMigration/AbstractMigrationRunnerTest.php @@ -12,10 +12,9 @@ use ConsoleHelpers\DatabaseMigration\AbstractMigrationRunner; -use PHPUnit\Framework\TestCase; use Prophecy\Prophecy\ObjectProphecy; -abstract class AbstractMigrationRunnerTest extends TestCase +abstract class AbstractMigrationRunnerTest extends AbstractTestCase { /** diff --git a/tests/DatabaseMigration/AbstractTestCase.php b/tests/DatabaseMigration/AbstractTestCase.php new file mode 100644 index 0000000..b8e051d --- /dev/null +++ b/tests/DatabaseMigration/AbstractTestCase.php @@ -0,0 +1,20 @@ + + * @link https://github.com/console-helpers/db-migration + */ + +namespace Tests\ConsoleHelpers\DatabaseMigration; + + +use PHPUnit\Framework\TestCase; +use Prophecy\PhpUnit\ProphecyTrait; + +abstract class AbstractTestCase extends TestCase +{ + use ProphecyTrait; +} diff --git a/tests/DatabaseMigration/MigrationContextTest.php b/tests/DatabaseMigration/MigrationContextTest.php index e31320b..152823e 100644 --- a/tests/DatabaseMigration/MigrationContextTest.php +++ b/tests/DatabaseMigration/MigrationContextTest.php @@ -13,9 +13,8 @@ use Aura\Sql\ExtendedPdoInterface; use ConsoleHelpers\DatabaseMigration\MigrationContext; -use PHPUnit\Framework\TestCase; -class MigrationContextTest extends TestCase +class MigrationContextTest extends AbstractTestCase { /** diff --git a/tests/DatabaseMigration/PhpMigrationRunnerTest.php b/tests/DatabaseMigration/PhpMigrationRunnerTest.php index 47a470e..6325c2c 100644 --- a/tests/DatabaseMigration/PhpMigrationRunnerTest.php +++ b/tests/DatabaseMigration/PhpMigrationRunnerTest.php @@ -16,6 +16,7 @@ class PhpMigrationRunnerTest extends AbstractMigrationRunnerTest { + public function testGetFileExtension() { $this->assertEquals('php', $this->runner->getFileExtension()); diff --git a/tests/DatabaseMigration/ProphecyToken/RegExToken.php b/tests/DatabaseMigration/ProphecyToken/RegExToken.php index 17bdb82..5bce466 100644 --- a/tests/DatabaseMigration/ProphecyToken/RegExToken.php +++ b/tests/DatabaseMigration/ProphecyToken/RegExToken.php @@ -1,11 +1,11 @@ - * @link https://github.com/console-helpers/svn-buddy + * @link https://github.com/console-helpers/db-migration */ namespace Tests\ConsoleHelpers\DatabaseMigration\ProphecyToken; From a0e06e44ae0a42e05debd61d60d66683fda169f4 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 13 Dec 2024 23:07:40 +0200 Subject: [PATCH 4/8] Test case naming issue fix --- ...rationRunnerTest.php => AbstractMigrationRunnerTestCase.php} | 2 +- tests/DatabaseMigration/PhpMigrationRunnerTest.php | 2 +- tests/DatabaseMigration/SqlMigrationRunnerTest.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename tests/DatabaseMigration/{AbstractMigrationRunnerTest.php => AbstractMigrationRunnerTestCase.php} (95%) diff --git a/tests/DatabaseMigration/AbstractMigrationRunnerTest.php b/tests/DatabaseMigration/AbstractMigrationRunnerTestCase.php similarity index 95% rename from tests/DatabaseMigration/AbstractMigrationRunnerTest.php rename to tests/DatabaseMigration/AbstractMigrationRunnerTestCase.php index 266c07f..b66be6c 100644 --- a/tests/DatabaseMigration/AbstractMigrationRunnerTest.php +++ b/tests/DatabaseMigration/AbstractMigrationRunnerTestCase.php @@ -14,7 +14,7 @@ use ConsoleHelpers\DatabaseMigration\AbstractMigrationRunner; use Prophecy\Prophecy\ObjectProphecy; -abstract class AbstractMigrationRunnerTest extends AbstractTestCase +abstract class AbstractMigrationRunnerTestCase extends AbstractTestCase { /** diff --git a/tests/DatabaseMigration/PhpMigrationRunnerTest.php b/tests/DatabaseMigration/PhpMigrationRunnerTest.php index 6325c2c..7bf14ae 100644 --- a/tests/DatabaseMigration/PhpMigrationRunnerTest.php +++ b/tests/DatabaseMigration/PhpMigrationRunnerTest.php @@ -14,7 +14,7 @@ use ConsoleHelpers\DatabaseMigration\AbstractMigrationRunner; use ConsoleHelpers\DatabaseMigration\PhpMigrationRunner; -class PhpMigrationRunnerTest extends AbstractMigrationRunnerTest +class PhpMigrationRunnerTest extends AbstractMigrationRunnerTestCase { public function testGetFileExtension() diff --git a/tests/DatabaseMigration/SqlMigrationRunnerTest.php b/tests/DatabaseMigration/SqlMigrationRunnerTest.php index 09506be..3d5b500 100644 --- a/tests/DatabaseMigration/SqlMigrationRunnerTest.php +++ b/tests/DatabaseMigration/SqlMigrationRunnerTest.php @@ -15,7 +15,7 @@ use ConsoleHelpers\DatabaseMigration\SqlMigrationRunner; use Prophecy\Argument; -class SqlMigrationRunnerTest extends AbstractMigrationRunnerTest +class SqlMigrationRunnerTest extends AbstractMigrationRunnerTestCase { public function testGetFileExtension() From dfde805005e952f6d8cffd8c31f7b99a2912713a Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 13 Dec 2024 23:28:54 +0200 Subject: [PATCH 5/8] PHPUnit 10 fixes --- .../AbstractDatabaseAwareTestCase.php | 2 +- .../AbstractMigrationRunnerTestCase.php | 6 ++++-- tests/DatabaseMigration/AbstractTestCase.php | 17 +++++++++++++++++ .../DatabaseMigration/MigrationContextTest.php | 2 +- .../DatabaseMigration/MigrationManagerTest.php | 9 +++++---- .../PhpMigrationRunnerTest.php | 3 ++- .../SqlMigrationRunnerTest.php | 5 ++++- 7 files changed, 34 insertions(+), 10 deletions(-) diff --git a/tests/DatabaseMigration/AbstractDatabaseAwareTestCase.php b/tests/DatabaseMigration/AbstractDatabaseAwareTestCase.php index 0ea5237..7b01320 100644 --- a/tests/DatabaseMigration/AbstractDatabaseAwareTestCase.php +++ b/tests/DatabaseMigration/AbstractDatabaseAwareTestCase.php @@ -69,7 +69,7 @@ protected function assertTableEmpty($table_name) */ protected function assertTableContent($table_name, array $expected_content) { - $this->assertSame( + $this->assertEquals( $expected_content, $this->_dumpTable($table_name), 'Table "' . $table_name . '" content isn\'t correct.' diff --git a/tests/DatabaseMigration/AbstractMigrationRunnerTestCase.php b/tests/DatabaseMigration/AbstractMigrationRunnerTestCase.php index b66be6c..714986a 100644 --- a/tests/DatabaseMigration/AbstractMigrationRunnerTestCase.php +++ b/tests/DatabaseMigration/AbstractMigrationRunnerTestCase.php @@ -13,6 +13,8 @@ use ConsoleHelpers\DatabaseMigration\AbstractMigrationRunner; use Prophecy\Prophecy\ObjectProphecy; +use Aura\Sql\ExtendedPdoInterface; +use ConsoleHelpers\DatabaseMigration\MigrationContext; abstract class AbstractMigrationRunnerTestCase extends AbstractTestCase { @@ -44,9 +46,9 @@ abstract class AbstractMigrationRunnerTestCase extends AbstractTestCase */ protected function setupTest() { - $this->database = $this->prophesize('Aura\Sql\ExtendedPdoInterface'); + $this->database = $this->prophesize(ExtendedPdoInterface::class); - $this->context = $this->prophesize('ConsoleHelpers\DatabaseMigration\MigrationContext'); + $this->context = $this->prophesize(MigrationContext::class); $this->context->getDatabase()->willReturn($this->database); $this->runner = $this->createMigrationRunner(); diff --git a/tests/DatabaseMigration/AbstractTestCase.php b/tests/DatabaseMigration/AbstractTestCase.php index b8e051d..9031887 100644 --- a/tests/DatabaseMigration/AbstractTestCase.php +++ b/tests/DatabaseMigration/AbstractTestCase.php @@ -17,4 +17,21 @@ abstract class AbstractTestCase extends TestCase { use ProphecyTrait; + + /** + * Returns a test name. + * + * @return string + */ + protected function getTestName() + { + if ( method_exists($this, 'getName') ) { + // PHPUnit 9-. + return $this->getName(false); + } + + // PHPUnit 10+. + return $this->name(); + } + } diff --git a/tests/DatabaseMigration/MigrationContextTest.php b/tests/DatabaseMigration/MigrationContextTest.php index 152823e..a196638 100644 --- a/tests/DatabaseMigration/MigrationContextTest.php +++ b/tests/DatabaseMigration/MigrationContextTest.php @@ -44,7 +44,7 @@ class MigrationContextTest extends AbstractTestCase */ protected function setupTest() { - $this->database = $this->prophesize('Aura\Sql\ExtendedPdoInterface')->reveal(); + $this->database = $this->prophesize(ExtendedPdoInterface::class)->reveal(); $this->container = $this->prophesize('ArrayAccess')->reveal(); $this->context = new MigrationContext($this->database); diff --git a/tests/DatabaseMigration/MigrationManagerTest.php b/tests/DatabaseMigration/MigrationManagerTest.php index d37d4f5..4de60a4 100644 --- a/tests/DatabaseMigration/MigrationManagerTest.php +++ b/tests/DatabaseMigration/MigrationManagerTest.php @@ -18,6 +18,7 @@ use Prophecy\Argument; use Prophecy\Prophecy\ObjectProphecy; use Tests\ConsoleHelpers\DatabaseMigration\ProphecyToken\RegExToken; +use ConsoleHelpers\DatabaseMigration\AbstractMigrationRunner; class MigrationManagerTest extends AbstractDatabaseAwareTestCase { @@ -54,7 +55,7 @@ protected function setupTest() */ protected function tearDownTest() { - if ( strpos($this->getName(false), 'testCreateMigration') === 0 ) { + if ( strpos($this->getTestName(), 'testCreateMigration') === 0 ) { $this->deleteTempMigrations(); } } @@ -110,7 +111,7 @@ public function testCreateMigrationWithInvalidName($migration_name) $manager->createMigration($migration_name, 'one'); } - public function createMigrationWithInvalidNameDataProvider() + public static function createMigrationWithInvalidNameDataProvider() { return array( array(' '), @@ -292,7 +293,7 @@ public function testRunRemovedMigrationsAreDeleted() public function testRunSetsContainerToContext() { - $context = $this->prophesize('ConsoleHelpers\DatabaseMigration\MigrationContext'); + $context = $this->prophesize(MigrationContext::class); $context->setContainer($this->container)->shouldBeCalled(); $context->getDatabase()->willReturn($this->database)->shouldBeCalled(); @@ -340,7 +341,7 @@ protected function deleteTempMigrations() */ protected function createMigrationRunnerMock($file_extension) { - $runner = $this->prophesize('ConsoleHelpers\DatabaseMigration\AbstractMigrationRunner'); + $runner = $this->prophesize(AbstractMigrationRunner::class); $runner->getFileExtension()->willReturn($file_extension)->shouldBeCalled(); return $runner; diff --git a/tests/DatabaseMigration/PhpMigrationRunnerTest.php b/tests/DatabaseMigration/PhpMigrationRunnerTest.php index 7bf14ae..3e1dd9a 100644 --- a/tests/DatabaseMigration/PhpMigrationRunnerTest.php +++ b/tests/DatabaseMigration/PhpMigrationRunnerTest.php @@ -32,7 +32,8 @@ public function testRunMalformedPHPMigration() public function testRun() { - $this->database->perform('test')->shouldBeCalled(); + $pdo_statement = $this->prophesize(\PDOStatement::class)->reveal(); + $this->database->perform('test')->willReturn($pdo_statement)->shouldBeCalled(); $this->runner->run($this->getFixture('non-empty-migration.php'), $this->context->reveal()); } diff --git a/tests/DatabaseMigration/SqlMigrationRunnerTest.php b/tests/DatabaseMigration/SqlMigrationRunnerTest.php index 3d5b500..98f6f63 100644 --- a/tests/DatabaseMigration/SqlMigrationRunnerTest.php +++ b/tests/DatabaseMigration/SqlMigrationRunnerTest.php @@ -34,11 +34,14 @@ public function testRunEmptySQLMigration() public function testRun() { $sequence = array(); + $pdo_statement = $this->prophesize(\PDOStatement::class)->reveal(); $this->database ->perform(Argument::any()) - ->will(function (array $args) use (&$sequence) { + ->will(function (array $args) use (&$sequence, $pdo_statement) { $sequence[] = $args[0]; + + return $pdo_statement; }) ->shouldBeCalled(); From 16ff4e48f357fed467fb1fbb51fe70be306f6982 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 13 Dec 2024 23:48:46 +0200 Subject: [PATCH 6/8] Don't test on PHP 8.4 due to the "aura/sql" bug --- .github/workflows/tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7d5e1ca..16030c3 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,7 +21,8 @@ jobs: strategy: matrix: - php: [ '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4'] + # Don't test on PHP 8.4 due to "aura/sql" bug: https://github.com/auraphp/Aura.Sql/pull/231. + php: [ '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3'] fail-fast: false steps: From e5461f43488e5764f76ba63d0d3fe78359e99318 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 13 Dec 2024 23:58:24 +0200 Subject: [PATCH 7/8] Use different PHPUnit configs for different PHPUnit versions --- .github/workflows/tests.yml | 28 +++++++++++++++++++++++++--- .gitignore | 1 + phpunit10.xml.dist | 21 +++++++++++++++++++++ phpunit9.xml.dist | 21 +++++++++++++++++++++ 4 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 phpunit10.xml.dist create mode 100644 phpunit9.xml.dist diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 16030c3..77b0000 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,8 +21,30 @@ jobs: strategy: matrix: - # Don't test on PHP 8.4 due to "aura/sql" bug: https://github.com/auraphp/Aura.Sql/pull/231. - php: [ '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3'] + include: + - php: '5.6' + phpunit_config: 'phpunit.xml.dist' # PHPUnit 5.7 + - php: '7.0' + phpunit_config: 'phpunit.xml.dist' # PHPUnit 6.5 + - php: '7.1' + phpunit_config: 'phpunit.xml.dist' # PHPUnit 7.5 + - php: '7.2' + phpunit_config: 'phpunit.xml.dist' # PHPUnit 8.5 + - php: '7.3' + phpunit_config: 'phpunit9.xml.dist' # PHPUnit 9.6 + - php: '7.4' + phpunit_config: 'phpunit9.xml.dist' # PHPUnit 9.6 + - php: '8.0' + phpunit_config: 'phpunit9.xml.dist' # PHPUnit 9.6 + - php: '8.1' + phpunit_config: 'phpunit10.xml.dist' # PHPUnit 10.5 + - php: '8.2' + phpunit_config: 'phpunit10.xml.dist' # PHPUnit 10.5 + - php: '8.3' + phpunit_config: 'phpunit10.xml.dist' # PHPUnit 10.5 + # Don't test on PHP 8.4 due to "aura/sql" bug: https://github.com/auraphp/Aura.Sql/pull/231. + # - php: '8.4' + # phpunit_config: 'phpunit10.xml.dist' # PHPUnit 10.5 fail-fast: false steps: @@ -45,7 +67,7 @@ jobs: - name: Run tests run: | - vendor/bin/phpunit --log-junit junit.xml --coverage-clover=coverage.clover + vendor/bin/phpunit --configuration ${{ matrix.phpunit_config }} --log-junit junit.xml --coverage-clover=coverage.clover - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 diff --git a/.gitignore b/.gitignore index 5556efb..5ae616d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ vendor phpunit.xml +.phpunit.result.cache diff --git a/phpunit10.xml.dist b/phpunit10.xml.dist new file mode 100644 index 0000000..8c8aeba --- /dev/null +++ b/phpunit10.xml.dist @@ -0,0 +1,21 @@ + + + + + tests + + + + + + src + + + diff --git a/phpunit9.xml.dist b/phpunit9.xml.dist new file mode 100644 index 0000000..655b247 --- /dev/null +++ b/phpunit9.xml.dist @@ -0,0 +1,21 @@ + + + + + tests + + + + + + src + + + From 9c95cb09d6dcaa170efdd1eff481b092590ad0ad Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 14 Dec 2024 00:00:52 +0200 Subject: [PATCH 8/8] Scrutinizer CI fix --- .github/workflows/tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 77b0000..684ad77 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -91,5 +91,6 @@ jobs: - name: Upload Coverage to Scrutinizer CI (PHP >= 8.0) if: "${{ matrix.php >= '8.0' }}" run: | + rm composer.lock composer require scrutinizer/ocular vendor/bin/ocular code-coverage:upload --repository=g/console-helpers/db-migration --format=php-clover coverage.clover