diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index d2fdde6..9d6d78b 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -15,9 +15,9 @@ After this has been started you can execute the test suites by running:
./vendor/bin/behat --strict
./vendor/bin/phpunit
-Psalm is used for static code analysis:
+[PHPStan](https://phpstan.org/) is used for static code analysis:
- vendor/bin/psalm
+ vendor/bin/phpstan
## Documentation
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index fd3f2d2..fd13a8a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -5,7 +5,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- php: ['8.1', '8.2']
+ php: ['8.3', '8.4']
name: Validate and test on PHP ${{ matrix.php }}
steps:
- uses: actions/checkout@v4
@@ -51,10 +51,12 @@ jobs:
run: vendor/bin/behat --strict
- name: Run static code analysis
- run: vendor/bin/psalm
+ run: vendor/bin/phpstan
- name: Check coding standard
run: php-cs-fixer fix --dry-run --diff
+ env:
+ PHP_CS_FIXER_IGNORE_ENV: 1
- uses: actions/upload-artifact@v4
if: always()
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
new file mode 100644
index 0000000..1bd2350
--- /dev/null
+++ b/.readthedocs.yaml
@@ -0,0 +1,12 @@
+version: 2
+build:
+ os: ubuntu-24.04
+ tools:
+ python: "3.12"
+
+sphinx:
+ configuration: docs/conf.py
+
+python:
+ install:
+ - requirements: docs/requirements.txt
\ No newline at end of file
diff --git a/ChangeLog.md b/ChangeLog.md
index ba0fb2a..85555ac 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,6 +1,13 @@
Changelog for Behat API Extension
=================================
+v6.0.0
+------
+__N/A__
+
+* [#139](https://github.com/imbo/behat-api-extension/pull/139): Require PHP >= 8.3
+- [#138](https://github.com/imbo/behat-api-extension/pull/138): Support for PHP 8.4 ([@LenaDooms](https://github.com/LenaDooms))
+
v5.0.0
------
__2023-03-27__
diff --git a/composer.json b/composer.json
index 3c61edb..072a262 100644
--- a/composer.json
+++ b/composer.json
@@ -19,7 +19,7 @@
"issues": "https://github.com/imbo/behat-api-extension/issues"
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.3",
"ext-json": "*",
"beberlei/assert": "^3.3",
"behat/behat": "^3.8",
@@ -27,15 +27,16 @@
"guzzlehttp/guzzle": "^7.3"
},
"require-dev": {
- "alexeyshockov/guzzle-psalm-plugin": "^1.0",
"imbo/imbo-coding-standard": "^2.0",
- "phpunit/phpunit": "^10.0",
- "psalm/plugin-phpunit": "^0.18.4",
+ "phpstan/extension-installer": "^1.4",
+ "phpstan/phpstan": "^2.1",
+ "phpstan/phpstan-deprecation-rules": "^2.0",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpunit/phpunit": "^11.5",
"slim/psr7": "^1.3",
"slim/slim": "^4.7",
- "symfony/process": "^6.2",
- "tuupola/slim-basic-auth": "^3.3",
- "vimeo/psalm": "^5.8"
+ "symfony/process": "^7.2",
+ "tuupola/slim-basic-auth": "^3.3"
},
"autoload": {
"psr-4": {
@@ -61,12 +62,15 @@
"phpunit": "vendor/bin/phpunit",
"phpunit:coverage": "vendor/bin/phpunit --coverage-html build/coverage",
"behat": "vendor/bin/behat --strict",
- "sa": "vendor/bin/psalm",
+ "sa": "vendor/bin/phpstan",
"cs": "php-cs-fixer fix --dry-run --diff",
"dev": "php -S localhost:8080 -t ./features/bootstrap > server.log 2>&1",
"docs": "cd docs; make html"
},
"config": {
- "sort-packages": true
+ "sort-packages": true,
+ "allow-plugins": {
+ "phpstan/extension-installer": true
+ }
}
}
diff --git a/composer.lock b/composer.lock
index 00a8dd7..ab0b723 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,20 +4,20 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "0d2b18a594a526046de6524f7b6b1bb4",
+ "content-hash": "19e29faee7a03b8e460760610cebfca7",
"packages": [
{
"name": "beberlei/assert",
- "version": "v3.3.2",
+ "version": "v3.3.3",
"source": {
"type": "git",
"url": "https://github.com/beberlei/assert.git",
- "reference": "cb70015c04be1baee6f5f5c953703347c0ac1655"
+ "reference": "b5fd8eacd8915a1b627b8bfc027803f1939734dd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/beberlei/assert/zipball/cb70015c04be1baee6f5f5c953703347c0ac1655",
- "reference": "cb70015c04be1baee6f5f5c953703347c0ac1655",
+ "url": "https://api.github.com/repos/beberlei/assert/zipball/b5fd8eacd8915a1b627b8bfc027803f1939734dd",
+ "reference": "b5fd8eacd8915a1b627b8bfc027803f1939734dd",
"shasum": ""
},
"require": {
@@ -25,7 +25,7 @@
"ext-json": "*",
"ext-mbstring": "*",
"ext-simplexml": "*",
- "php": "^7.0 || ^8.0"
+ "php": "^7.1 || ^8.0"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "*",
@@ -69,43 +69,46 @@
],
"support": {
"issues": "https://github.com/beberlei/assert/issues",
- "source": "https://github.com/beberlei/assert/tree/v3.3.2"
+ "source": "https://github.com/beberlei/assert/tree/v3.3.3"
},
- "time": "2021-12-16T21:41:27+00:00"
+ "time": "2024-07-15T13:18:35+00:00"
},
{
"name": "behat/behat",
- "version": "v3.13.0",
+ "version": "v3.17.0",
"source": {
"type": "git",
"url": "https://github.com/Behat/Behat.git",
- "reference": "9dd7cdb309e464ddeab095cd1a5151c2dccba4ab"
+ "reference": "3eb5ebae08db4e44ca6a458ba0f449dda753c465"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Behat/Behat/zipball/9dd7cdb309e464ddeab095cd1a5151c2dccba4ab",
- "reference": "9dd7cdb309e464ddeab095cd1a5151c2dccba4ab",
+ "url": "https://api.github.com/repos/Behat/Behat/zipball/3eb5ebae08db4e44ca6a458ba0f449dda753c465",
+ "reference": "3eb5ebae08db4e44ca6a458ba0f449dda753c465",
"shasum": ""
},
"require": {
- "behat/gherkin": "^4.9.0",
- "behat/transliterator": "^1.2",
+ "behat/gherkin": "^4.10.0",
+ "behat/transliterator": "^1.5",
+ "composer-runtime-api": "^2.2",
+ "composer/xdebug-handler": "^3.0",
"ext-mbstring": "*",
- "php": "^7.2 || ^8.0",
+ "php": "8.1.* || 8.2.* || 8.3.* || 8.4.* ",
"psr/container": "^1.0 || ^2.0",
- "symfony/config": "^4.4 || ^5.0 || ^6.0",
- "symfony/console": "^4.4 || ^5.0 || ^6.0",
- "symfony/dependency-injection": "^4.4 || ^5.0 || ^6.0",
- "symfony/event-dispatcher": "^4.4 || ^5.0 || ^6.0",
- "symfony/translation": "^4.4 || ^5.0 || ^6.0",
- "symfony/yaml": "^4.4 || ^5.0 || ^6.0"
+ "symfony/config": "^5.4 || ^6.4 || ^7.0",
+ "symfony/console": "^5.4 || ^6.4 || ^7.0",
+ "symfony/dependency-injection": "^5.4 || ^6.4 || ^7.0",
+ "symfony/event-dispatcher": "^5.4 || ^6.4 || ^7.0",
+ "symfony/translation": "^5.4 || ^6.4 || ^7.0",
+ "symfony/yaml": "^5.4 || ^6.4 || ^7.0"
},
"require-dev": {
"herrera-io/box": "~1.6.1",
- "phpspec/prophecy": "^1.15",
- "phpunit/phpunit": "^8.5 || ^9.0",
- "symfony/process": "^4.4 || ^5.0 || ^6.0",
- "vimeo/psalm": "^4.8"
+ "phpunit/phpunit": "^9.6",
+ "sebastian/diff": "^4.0",
+ "symfony/polyfill-php84": "^1.31",
+ "symfony/process": "^5.4 || ^6.4 || ^7.0",
+ "vimeo/psalm": "^5.0"
},
"suggest": {
"ext-dom": "Needed to output test results in JUnit format."
@@ -124,7 +127,9 @@
"Behat\\Hook\\": "src/Behat/Hook/",
"Behat\\Step\\": "src/Behat/Step/",
"Behat\\Behat\\": "src/Behat/Behat/",
- "Behat\\Testwork\\": "src/Behat/Testwork/"
+ "Behat\\Config\\": "src/Behat/Config/",
+ "Behat\\Testwork\\": "src/Behat/Testwork/",
+ "Behat\\Transformation\\": "src/Behat/Transformation/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -139,7 +144,7 @@
}
],
"description": "Scenario-oriented BDD framework for PHP",
- "homepage": "http://behat.org/",
+ "homepage": "https://behat.org/",
"keywords": [
"Agile",
"BDD",
@@ -156,31 +161,31 @@
],
"support": {
"issues": "https://github.com/Behat/Behat/issues",
- "source": "https://github.com/Behat/Behat/tree/v3.13.0"
+ "source": "https://github.com/Behat/Behat/tree/v3.17.0"
},
- "time": "2023-04-18T15:40:53+00:00"
+ "time": "2024-12-18T10:27:06+00:00"
},
{
"name": "behat/gherkin",
- "version": "v4.9.0",
+ "version": "v4.11.0",
"source": {
"type": "git",
"url": "https://github.com/Behat/Gherkin.git",
- "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4"
+ "reference": "32821a17b12620951e755b5d49328a6421a5b5b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Behat/Gherkin/zipball/0bc8d1e30e96183e4f36db9dc79caead300beff4",
- "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4",
+ "url": "https://api.github.com/repos/Behat/Gherkin/zipball/32821a17b12620951e755b5d49328a6421a5b5b5",
+ "reference": "32821a17b12620951e755b5d49328a6421a5b5b5",
"shasum": ""
},
"require": {
- "php": "~7.2|~8.0"
+ "php": "8.1.* || 8.2.* || 8.3.* || 8.4.*"
},
"require-dev": {
- "cucumber/cucumber": "dev-gherkin-22.0.0",
- "phpunit/phpunit": "~8|~9",
- "symfony/yaml": "~3|~4|~5"
+ "cucumber/cucumber": "dev-gherkin-24.1.0",
+ "phpunit/phpunit": "^9.6",
+ "symfony/yaml": "^5.4 || ^6.4 || ^7.0"
},
"suggest": {
"symfony/yaml": "If you want to parse features, represented in YAML files"
@@ -219,9 +224,9 @@
],
"support": {
"issues": "https://github.com/Behat/Gherkin/issues",
- "source": "https://github.com/Behat/Gherkin/tree/v4.9.0"
+ "source": "https://github.com/Behat/Gherkin/tree/v4.11.0"
},
- "time": "2021-10-12T13:05:09+00:00"
+ "time": "2024-12-06T10:07:25+00:00"
},
{
"name": "behat/transliterator",
@@ -272,28 +277,173 @@
},
"time": "2022-03-30T09:27:43+00:00"
},
+ {
+ "name": "composer/pcre",
+ "version": "3.3.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/pcre.git",
+ "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
+ "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.4 || ^8.0"
+ },
+ "conflict": {
+ "phpstan/phpstan": "<1.11.10"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^1.12 || ^2",
+ "phpstan/phpstan-strict-rules": "^1 || ^2",
+ "phpunit/phpunit": "^8 || ^9"
+ },
+ "type": "library",
+ "extra": {
+ "phpstan": {
+ "includes": [
+ "extension.neon"
+ ]
+ },
+ "branch-alias": {
+ "dev-main": "3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Composer\\Pcre\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
+ }
+ ],
+ "description": "PCRE wrapping library that offers type-safe preg_* replacements.",
+ "keywords": [
+ "PCRE",
+ "preg",
+ "regex",
+ "regular expression"
+ ],
+ "support": {
+ "issues": "https://github.com/composer/pcre/issues",
+ "source": "https://github.com/composer/pcre/tree/3.3.2"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-11-12T16:29:46+00:00"
+ },
+ {
+ "name": "composer/xdebug-handler",
+ "version": "3.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/xdebug-handler.git",
+ "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef",
+ "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef",
+ "shasum": ""
+ },
+ "require": {
+ "composer/pcre": "^1 || ^2 || ^3",
+ "php": "^7.2.5 || ^8.0",
+ "psr/log": "^1 || ^2 || ^3"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^1.0",
+ "phpstan/phpstan-strict-rules": "^1.1",
+ "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5"
+ },
+ "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"
+ ],
+ "support": {
+ "irc": "ircs://irc.libera.chat:6697/composer",
+ "issues": "https://github.com/composer/xdebug-handler/issues",
+ "source": "https://github.com/composer/xdebug-handler/tree/3.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-05-06T16:37:16+00:00"
+ },
{
"name": "firebase/php-jwt",
- "version": "v6.8.0",
+ "version": "v6.10.2",
"source": {
"type": "git",
"url": "https://github.com/firebase/php-jwt.git",
- "reference": "48b0210c51718d682e53210c24d25c5a10a2299b"
+ "reference": "30c19ed0f3264cb660ea496895cfb6ef7ee3653b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/firebase/php-jwt/zipball/48b0210c51718d682e53210c24d25c5a10a2299b",
- "reference": "48b0210c51718d682e53210c24d25c5a10a2299b",
+ "url": "https://api.github.com/repos/firebase/php-jwt/zipball/30c19ed0f3264cb660ea496895cfb6ef7ee3653b",
+ "reference": "30c19ed0f3264cb660ea496895cfb6ef7ee3653b",
"shasum": ""
},
"require": {
- "php": "^7.4||^8.0"
+ "php": "^8.0"
},
"require-dev": {
- "guzzlehttp/guzzle": "^6.5||^7.4",
+ "guzzlehttp/guzzle": "^7.4",
"phpspec/prophecy-phpunit": "^2.0",
"phpunit/phpunit": "^9.5",
- "psr/cache": "^1.0||^2.0",
+ "psr/cache": "^2.0||^3.0",
"psr/http-client": "^1.0",
"psr/http-factory": "^1.0"
},
@@ -331,28 +481,28 @@
],
"support": {
"issues": "https://github.com/firebase/php-jwt/issues",
- "source": "https://github.com/firebase/php-jwt/tree/v6.8.0"
+ "source": "https://github.com/firebase/php-jwt/tree/v6.10.2"
},
- "time": "2023-06-20T16:45:35+00:00"
+ "time": "2024-11-24T11:22:49+00:00"
},
{
"name": "guzzlehttp/guzzle",
- "version": "7.7.0",
+ "version": "7.9.2",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5"
+ "reference": "d281ed313b989f213357e3be1a179f02196ac99b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/fb7566caccf22d74d1ab270de3551f72a58399f5",
- "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b",
+ "reference": "d281ed313b989f213357e3be1a179f02196ac99b",
"shasum": ""
},
"require": {
"ext-json": "*",
- "guzzlehttp/promises": "^1.5.3 || ^2.0",
- "guzzlehttp/psr7": "^1.9.1 || ^2.4.5",
+ "guzzlehttp/promises": "^1.5.3 || ^2.0.3",
+ "guzzlehttp/psr7": "^2.7.0",
"php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0",
"symfony/deprecation-contracts": "^2.2 || ^3.0"
@@ -361,11 +511,11 @@
"psr/http-client-implementation": "1.0"
},
"require-dev": {
- "bamarni/composer-bin-plugin": "^1.8.1",
+ "bamarni/composer-bin-plugin": "^1.8.2",
"ext-curl": "*",
- "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",
+ "guzzle/client-integration-tests": "3.0.2",
"php-http/message-factory": "^1.1",
- "phpunit/phpunit": "^8.5.29 || ^9.5.23",
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20",
"psr/log": "^1.1 || ^2.0 || ^3.0"
},
"suggest": {
@@ -443,7 +593,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.7.0"
+ "source": "https://github.com/guzzle/guzzle/tree/7.9.2"
},
"funding": [
{
@@ -459,28 +609,28 @@
"type": "tidelift"
}
],
- "time": "2023-05-21T14:04:53+00:00"
+ "time": "2024-07-24T11:22:20+00:00"
},
{
"name": "guzzlehttp/promises",
- "version": "2.0.0",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
- "reference": "3a494dc7dc1d7d12e511890177ae2d0e6c107da6"
+ "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/3a494dc7dc1d7d12e511890177ae2d0e6c107da6",
- "reference": "3a494dc7dc1d7d12e511890177ae2d0e6c107da6",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/f9c436286ab2892c7db7be8c8da4ef61ccf7b455",
+ "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0"
},
"require-dev": {
- "bamarni/composer-bin-plugin": "^1.8.1",
- "phpunit/phpunit": "^8.5.29 || ^9.5.23"
+ "bamarni/composer-bin-plugin": "^1.8.2",
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20"
},
"type": "library",
"extra": {
@@ -526,7 +676,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/2.0.0"
+ "source": "https://github.com/guzzle/promises/tree/2.0.4"
},
"funding": [
{
@@ -542,20 +692,20 @@
"type": "tidelift"
}
],
- "time": "2023-05-21T13:50:22+00:00"
+ "time": "2024-10-17T10:06:22+00:00"
},
{
"name": "guzzlehttp/psr7",
- "version": "2.5.0",
+ "version": "2.7.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "b635f279edd83fc275f822a1188157ffea568ff6"
+ "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/b635f279edd83fc275f822a1188157ffea568ff6",
- "reference": "b635f279edd83fc275f822a1188157ffea568ff6",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
+ "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
"shasum": ""
},
"require": {
@@ -569,9 +719,9 @@
"psr/http-message-implementation": "1.0"
},
"require-dev": {
- "bamarni/composer-bin-plugin": "^1.8.1",
- "http-interop/http-factory-tests": "^0.9",
- "phpunit/phpunit": "^8.5.29 || ^9.5.23"
+ "bamarni/composer-bin-plugin": "^1.8.2",
+ "http-interop/http-factory-tests": "0.9.0",
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
@@ -642,7 +792,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.5.0"
+ "source": "https://github.com/guzzle/psr7/tree/2.7.0"
},
"funding": [
{
@@ -658,7 +808,7 @@
"type": "tidelift"
}
],
- "time": "2023-04-17T16:11:26+00:00"
+ "time": "2024-07-18T11:15:46+00:00"
},
{
"name": "psr/container",
@@ -765,16 +915,16 @@
},
{
"name": "psr/http-client",
- "version": "1.0.2",
+ "version": "1.0.3",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-client.git",
- "reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31"
+ "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-client/zipball/0955afe48220520692d2d09f7ab7e0f93ffd6a31",
- "reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31",
+ "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
+ "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
"shasum": ""
},
"require": {
@@ -811,26 +961,26 @@
"psr-18"
],
"support": {
- "source": "https://github.com/php-fig/http-client/tree/1.0.2"
+ "source": "https://github.com/php-fig/http-client"
},
- "time": "2023-04-10T20:12:12+00:00"
+ "time": "2023-09-23T14:17:50+00:00"
},
{
"name": "psr/http-factory",
- "version": "1.0.2",
+ "version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-factory.git",
- "reference": "e616d01114759c4c489f93b099585439f795fe35"
+ "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35",
- "reference": "e616d01114759c4c489f93b099585439f795fe35",
+ "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
+ "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
"shasum": ""
},
"require": {
- "php": ">=7.0.0",
+ "php": ">=7.1",
"psr/http-message": "^1.0 || ^2.0"
},
"type": "library",
@@ -854,7 +1004,7 @@
"homepage": "https://www.php-fig.org/"
}
],
- "description": "Common interfaces for PSR-7 HTTP message factories",
+ "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
"keywords": [
"factory",
"http",
@@ -866,22 +1016,22 @@
"response"
],
"support": {
- "source": "https://github.com/php-fig/http-factory/tree/1.0.2"
+ "source": "https://github.com/php-fig/http-factory"
},
- "time": "2023-04-10T20:10:41+00:00"
+ "time": "2024-04-15T12:06:14+00:00"
},
{
"name": "psr/http-message",
- "version": "1.1",
+ "version": "2.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-message.git",
- "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba"
+ "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba",
- "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba",
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71",
+ "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71",
"shasum": ""
},
"require": {
@@ -890,7 +1040,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.1.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
@@ -905,7 +1055,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for HTTP messages",
@@ -919,9 +1069,59 @@
"response"
],
"support": {
- "source": "https://github.com/php-fig/http-message/tree/1.1"
+ "source": "https://github.com/php-fig/http-message/tree/2.0"
+ },
+ "time": "2023-04-04T09:54:51+00:00"
+ },
+ {
+ "name": "psr/log",
+ "version": "3.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
+ "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.0.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Log\\": "src"
+ }
+ },
+ "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/3.0.2"
},
- "time": "2023-04-04T09:50:52+00:00"
+ "time": "2024-09-11T13:17:53+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -969,34 +1169,34 @@
},
{
"name": "symfony/config",
- "version": "v6.3.0",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "a5e00dec161b08c946a2c16eed02adbeedf827ae"
+ "reference": "bcd3c4adf0144dee5011bb35454728c38adec055"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/a5e00dec161b08c946a2c16eed02adbeedf827ae",
- "reference": "a5e00dec161b08c946a2c16eed02adbeedf827ae",
+ "url": "https://api.github.com/repos/symfony/config/zipball/bcd3c4adf0144dee5011bb35454728c38adec055",
+ "reference": "bcd3c4adf0144dee5011bb35454728c38adec055",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/filesystem": "^5.4|^6.0",
+ "symfony/filesystem": "^7.1",
"symfony/polyfill-ctype": "~1.8"
},
"conflict": {
- "symfony/finder": "<5.4",
+ "symfony/finder": "<6.4",
"symfony/service-contracts": "<2.5"
},
"require-dev": {
- "symfony/event-dispatcher": "^5.4|^6.0",
- "symfony/finder": "^5.4|^6.0",
- "symfony/messenger": "^5.4|^6.0",
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/finder": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/yaml": "^5.4|^6.0"
+ "symfony/yaml": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -1024,7 +1224,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v6.3.0"
+ "source": "https://github.com/symfony/config/tree/v7.2.0"
},
"funding": [
{
@@ -1040,47 +1240,50 @@
"type": "tidelift"
}
],
- "time": "2023-04-25T10:46:17+00:00"
+ "time": "2024-11-04T11:36:24+00:00"
},
{
"name": "symfony/console",
- "version": "v6.3.0",
+ "version": "v7.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7"
+ "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7",
- "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7",
+ "url": "https://api.github.com/repos/symfony/console/zipball/fefcc18c0f5d0efe3ab3152f15857298868dc2c3",
+ "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
+ "php": ">=8.2",
"symfony/polyfill-mbstring": "~1.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/string": "^5.4|^6.0"
+ "symfony/string": "^6.4|^7.0"
},
"conflict": {
- "symfony/dependency-injection": "<5.4",
- "symfony/dotenv": "<5.4",
- "symfony/event-dispatcher": "<5.4",
- "symfony/lock": "<5.4",
- "symfony/process": "<5.4"
+ "symfony/dependency-injection": "<6.4",
+ "symfony/dotenv": "<6.4",
+ "symfony/event-dispatcher": "<6.4",
+ "symfony/lock": "<6.4",
+ "symfony/process": "<6.4"
},
"provide": {
"psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^5.4|^6.0",
- "symfony/dependency-injection": "^5.4|^6.0",
- "symfony/event-dispatcher": "^5.4|^6.0",
- "symfony/lock": "^5.4|^6.0",
- "symfony/process": "^5.4|^6.0",
- "symfony/var-dumper": "^5.4|^6.0"
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/lock": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0",
+ "symfony/stopwatch": "^6.4|^7.0",
+ "symfony/var-dumper": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -1114,7 +1317,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v6.3.0"
+ "source": "https://github.com/symfony/console/tree/v7.2.1"
},
"funding": [
{
@@ -1130,44 +1333,43 @@
"type": "tidelift"
}
],
- "time": "2023-05-29T12:49:39+00:00"
+ "time": "2024-12-11T03:49:26+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v6.3.1",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "7abf242af21f196b65f20ab00ff251fdf3889b8d"
+ "reference": "a475747af1a1c98272a5471abc35f3da81197c5d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/7abf242af21f196b65f20ab00ff251fdf3889b8d",
- "reference": "7abf242af21f196b65f20ab00ff251fdf3889b8d",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/a475747af1a1c98272a5471abc35f3da81197c5d",
+ "reference": "a475747af1a1c98272a5471abc35f3da81197c5d",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"psr/container": "^1.1|^2.0",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/service-contracts": "^2.5|^3.0",
- "symfony/var-exporter": "^6.2.10"
+ "symfony/service-contracts": "^3.5",
+ "symfony/var-exporter": "^6.4|^7.0"
},
"conflict": {
"ext-psr": "<1.1|>=2",
- "symfony/config": "<6.1",
- "symfony/finder": "<5.4",
- "symfony/proxy-manager-bridge": "<6.3",
- "symfony/yaml": "<5.4"
+ "symfony/config": "<6.4",
+ "symfony/finder": "<6.4",
+ "symfony/yaml": "<6.4"
},
"provide": {
"psr/container-implementation": "1.1|2.0",
"symfony/service-implementation": "1.1|2.0|3.0"
},
"require-dev": {
- "symfony/config": "^6.1",
- "symfony/expression-language": "^5.4|^6.0",
- "symfony/yaml": "^5.4|^6.0"
+ "symfony/config": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/yaml": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -1195,7 +1397,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v6.3.1"
+ "source": "https://github.com/symfony/dependency-injection/tree/v7.2.0"
},
"funding": [
{
@@ -1211,20 +1413,20 @@
"type": "tidelift"
}
],
- "time": "2023-06-24T11:51:27+00:00"
+ "time": "2024-11-25T15:45:00+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v3.3.0",
+ "version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
+ "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
- "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
+ "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
"shasum": ""
},
"require": {
@@ -1232,12 +1434,12 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "3.4-dev"
- },
"thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
+ "branch-alias": {
+ "dev-main": "3.5-dev"
}
},
"autoload": {
@@ -1262,7 +1464,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1"
},
"funding": [
{
@@ -1278,28 +1480,28 @@
"type": "tidelift"
}
],
- "time": "2023-05-23T14:45:45+00:00"
+ "time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v6.3.0",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa"
+ "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa",
- "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/910c5db85a5356d0fea57680defec4e99eb9c8c1",
+ "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/event-dispatcher-contracts": "^2.5|^3"
},
"conflict": {
- "symfony/dependency-injection": "<5.4",
+ "symfony/dependency-injection": "<6.4",
"symfony/service-contracts": "<2.5"
},
"provide": {
@@ -1308,13 +1510,13 @@
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^5.4|^6.0",
- "symfony/dependency-injection": "^5.4|^6.0",
- "symfony/error-handler": "^5.4|^6.0",
- "symfony/expression-language": "^5.4|^6.0",
- "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/stopwatch": "^5.4|^6.0"
+ "symfony/stopwatch": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -1342,7 +1544,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.0"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v7.2.0"
},
"funding": [
{
@@ -1358,20 +1560,20 @@
"type": "tidelift"
}
],
- "time": "2023-04-21T14:41:17+00:00"
+ "time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v3.3.0",
+ "version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "a76aed96a42d2b521153fb382d418e30d18b59df"
+ "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df",
- "reference": "a76aed96a42d2b521153fb382d418e30d18b59df",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f",
+ "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f",
"shasum": ""
},
"require": {
@@ -1380,12 +1582,12 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "3.4-dev"
- },
"thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
+ "branch-alias": {
+ "dev-main": "3.5-dev"
}
},
"autoload": {
@@ -1418,7 +1620,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.3.0"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1"
},
"funding": [
{
@@ -1434,27 +1636,30 @@
"type": "tidelift"
}
],
- "time": "2023-05-23T14:45:45+00:00"
+ "time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v6.3.1",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae"
+ "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/edd36776956f2a6fcf577edb5b05eb0e3bdc52ae",
- "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/b8dce482de9d7c9fe2891155035a7248ab5c7fdb",
+ "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.8"
},
+ "require-dev": {
+ "symfony/process": "^6.4|^7.0"
+ },
"type": "library",
"autoload": {
"psr-4": {
@@ -1481,7 +1686,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v6.3.1"
+ "source": "https://github.com/symfony/filesystem/tree/v7.2.0"
},
"funding": [
{
@@ -1497,24 +1702,24 @@
"type": "tidelift"
}
],
- "time": "2023-06-01T08:30:39+00:00"
+ "time": "2024-10-25T15:15:23+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.27.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
+ "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
- "reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
+ "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"provide": {
"ext-ctype": "*"
@@ -1524,12 +1729,9 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.27-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -1563,7 +1765,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
},
"funding": [
{
@@ -1579,36 +1781,33 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.27.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "511a08c03c1960e08a883f4cffcacd219b758354"
+ "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354",
- "reference": "511a08c03c1960e08a883f4cffcacd219b758354",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
+ "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.27-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -1644,7 +1843,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
},
"funding": [
{
@@ -1660,36 +1859,33 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.27.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6"
+ "reference": "3833d7255cc303546435cb650316bff708a1c75c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6",
- "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
+ "reference": "3833d7255cc303546435cb650316bff708a1c75c",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.27-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -1728,7 +1924,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
},
"funding": [
{
@@ -1744,24 +1940,24 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.27.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
+ "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
- "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
+ "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"provide": {
"ext-mbstring": "*"
@@ -1771,12 +1967,9 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.27-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -1811,7 +2004,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
},
"funding": [
{
@@ -1827,37 +2020,38 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v3.3.0",
+ "version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4"
+ "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/40da9cc13ec349d9e4966ce18b5fbcd724ab10a4",
- "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0",
+ "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0",
"shasum": ""
},
"require": {
"php": ">=8.1",
- "psr/container": "^2.0"
+ "psr/container": "^1.1|^2.0",
+ "symfony/deprecation-contracts": "^2.5|^3"
},
"conflict": {
"ext-psr": "<1.1|>=2"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "3.4-dev"
- },
"thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
+ "branch-alias": {
+ "dev-main": "3.5-dev"
}
},
"autoload": {
@@ -1893,7 +2087,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.3.0"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.5.1"
},
"funding": [
{
@@ -1909,24 +2103,24 @@
"type": "tidelift"
}
],
- "time": "2023-05-23T14:45:45+00:00"
+ "time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/string",
- "version": "v6.3.0",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f"
+ "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/f2e190ee75ff0f5eced645ec0be5c66fac81f51f",
- "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f",
+ "url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82",
+ "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-normalizer": "~1.0",
@@ -1936,11 +2130,12 @@
"symfony/translation-contracts": "<2.5"
},
"require-dev": {
- "symfony/error-handler": "^5.4|^6.0",
- "symfony/http-client": "^5.4|^6.0",
- "symfony/intl": "^6.2",
+ "symfony/emoji": "^7.1",
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/http-client": "^6.4|^7.0",
+ "symfony/intl": "^6.4|^7.0",
"symfony/translation-contracts": "^2.5|^3.0",
- "symfony/var-exporter": "^5.4|^6.0"
+ "symfony/var-exporter": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -1979,7 +2174,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v6.3.0"
+ "source": "https://github.com/symfony/string/tree/v7.2.0"
},
"funding": [
{
@@ -1995,54 +2190,55 @@
"type": "tidelift"
}
],
- "time": "2023-03-21T21:06:29+00:00"
+ "time": "2024-11-13T13:31:26+00:00"
},
{
"name": "symfony/translation",
- "version": "v6.3.0",
+ "version": "v7.2.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "f72b2cba8f79dd9d536f534f76874b58ad37876f"
+ "reference": "e2674a30132b7cc4d74540d6c2573aa363f05923"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/f72b2cba8f79dd9d536f534f76874b58ad37876f",
- "reference": "f72b2cba8f79dd9d536f534f76874b58ad37876f",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/e2674a30132b7cc4d74540d6c2573aa363f05923",
+ "reference": "e2674a30132b7cc4d74540d6c2573aa363f05923",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
"symfony/translation-contracts": "^2.5|^3.0"
},
"conflict": {
- "symfony/config": "<5.4",
- "symfony/console": "<5.4",
- "symfony/dependency-injection": "<5.4",
+ "symfony/config": "<6.4",
+ "symfony/console": "<6.4",
+ "symfony/dependency-injection": "<6.4",
"symfony/http-client-contracts": "<2.5",
- "symfony/http-kernel": "<5.4",
+ "symfony/http-kernel": "<6.4",
"symfony/service-contracts": "<2.5",
- "symfony/twig-bundle": "<5.4",
- "symfony/yaml": "<5.4"
+ "symfony/twig-bundle": "<6.4",
+ "symfony/yaml": "<6.4"
},
"provide": {
"symfony/translation-implementation": "2.3|3.0"
},
"require-dev": {
- "nikic/php-parser": "^4.13",
+ "nikic/php-parser": "^4.18|^5.0",
"psr/log": "^1|^2|^3",
- "symfony/config": "^5.4|^6.0",
- "symfony/console": "^5.4|^6.0",
- "symfony/dependency-injection": "^5.4|^6.0",
- "symfony/finder": "^5.4|^6.0",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/finder": "^6.4|^7.0",
"symfony/http-client-contracts": "^2.5|^3.0",
- "symfony/http-kernel": "^5.4|^6.0",
- "symfony/intl": "^5.4|^6.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/intl": "^6.4|^7.0",
"symfony/polyfill-intl-icu": "^1.21",
- "symfony/routing": "^5.4|^6.0",
+ "symfony/routing": "^6.4|^7.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/yaml": "^5.4|^6.0"
+ "symfony/yaml": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -2073,7 +2269,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v6.3.0"
+ "source": "https://github.com/symfony/translation/tree/v7.2.2"
},
"funding": [
{
@@ -2089,20 +2285,20 @@
"type": "tidelift"
}
],
- "time": "2023-05-19T12:46:45+00:00"
+ "time": "2024-12-07T08:18:10+00:00"
},
{
"name": "symfony/translation-contracts",
- "version": "v3.3.0",
+ "version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
- "reference": "02c24deb352fb0d79db5486c0c79905a85e37e86"
+ "reference": "4667ff3bd513750603a09c8dedbea942487fb07c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/02c24deb352fb0d79db5486c0c79905a85e37e86",
- "reference": "02c24deb352fb0d79db5486c0c79905a85e37e86",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/4667ff3bd513750603a09c8dedbea942487fb07c",
+ "reference": "4667ff3bd513750603a09c8dedbea942487fb07c",
"shasum": ""
},
"require": {
@@ -2110,12 +2306,12 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "3.4-dev"
- },
"thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
+ "branch-alias": {
+ "dev-main": "3.5-dev"
}
},
"autoload": {
@@ -2151,7 +2347,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v3.3.0"
+ "source": "https://github.com/symfony/translation-contracts/tree/v3.5.1"
},
"funding": [
{
@@ -2167,27 +2363,29 @@
"type": "tidelift"
}
],
- "time": "2023-05-30T17:17:10+00:00"
+ "time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/var-exporter",
- "version": "v6.3.0",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
- "reference": "db5416d04269f2827d8c54331ba4cfa42620d350"
+ "reference": "1a6a89f95a46af0f142874c9d650a6358d13070d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/db5416d04269f2827d8c54331ba4cfa42620d350",
- "reference": "db5416d04269f2827d8c54331ba4cfa42620d350",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/1a6a89f95a46af0f142874c9d650a6358d13070d",
+ "reference": "1a6a89f95a46af0f142874c9d650a6358d13070d",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "symfony/var-dumper": "^5.4|^6.0"
+ "symfony/property-access": "^6.4|^7.0",
+ "symfony/serializer": "^6.4|^7.0",
+ "symfony/var-dumper": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -2225,7 +2423,7 @@
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v6.3.0"
+ "source": "https://github.com/symfony/var-exporter/tree/v7.2.0"
},
"funding": [
{
@@ -2241,31 +2439,32 @@
"type": "tidelift"
}
],
- "time": "2023-04-21T08:48:44+00:00"
+ "time": "2024-10-18T07:58:17+00:00"
},
{
"name": "symfony/yaml",
- "version": "v6.3.0",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "a9a8337aa641ef2aa39c3e028f9107ec391e5927"
+ "reference": "099581e99f557e9f16b43c5916c26380b54abb22"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/a9a8337aa641ef2aa39c3e028f9107ec391e5927",
- "reference": "a9a8337aa641ef2aa39c3e028f9107ec391e5927",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/099581e99f557e9f16b43c5916c26380b54abb22",
+ "reference": "099581e99f557e9f16b43c5916c26380b54abb22",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3.0",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
- "symfony/console": "<5.4"
+ "symfony/console": "<6.4"
},
"require-dev": {
- "symfony/console": "^5.4|^6.0"
+ "symfony/console": "^6.4|^7.0"
},
"bin": [
"Resources/bin/yaml-lint"
@@ -2296,7 +2495,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v6.3.0"
+ "source": "https://github.com/symfony/yaml/tree/v7.2.0"
},
"funding": [
{
@@ -2312,38 +2511,39 @@
"type": "tidelift"
}
],
- "time": "2023-04-28T13:28:14+00:00"
+ "time": "2024-10-23T06:56:12+00:00"
}
],
"packages-dev": [
{
- "name": "alexeyshockov/guzzle-psalm-plugin",
- "version": "v1.0.0",
+ "name": "fig/http-message-util",
+ "version": "1.1.5",
"source": {
"type": "git",
- "url": "https://github.com/alexeyshockov/guzzle-psalm-plugin.git",
- "reference": "12859ba44fc8d5daafd6c7c563eb364ad16dcd4a"
+ "url": "https://github.com/php-fig/http-message-util.git",
+ "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/alexeyshockov/guzzle-psalm-plugin/zipball/12859ba44fc8d5daafd6c7c563eb364ad16dcd4a",
- "reference": "12859ba44fc8d5daafd6c7c563eb364ad16dcd4a",
+ "url": "https://api.github.com/repos/php-fig/http-message-util/zipball/9d94dc0154230ac39e5bf89398b324a86f63f765",
+ "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765",
"shasum": ""
},
"require": {
- "vimeo/psalm": "^5"
+ "php": "^5.3 || ^7.0 || ^8.0"
+ },
+ "suggest": {
+ "psr/http-message": "The package containing the PSR-7 interfaces"
},
- "type": "psalm-plugin",
+ "type": "library",
"extra": {
- "psalm": {
- "pluginClass": "AlexS\\Guzzle\\PsalmPlugin"
+ "branch-alias": {
+ "dev-master": "1.1.x-dev"
}
},
"autoload": {
"psr-4": {
- "AlexS\\Guzzle\\": [
- "."
- ]
+ "Fig\\Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2352,779 +2552,28 @@
],
"authors": [
{
- "name": "Alexey Shokov",
- "email": "alexey@shockov.com"
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
}
],
- "description": "Guzzle type information for Psalm",
+ "description": "Utility classes and constants for use with PSR-7 (psr/http-message)",
+ "keywords": [
+ "http",
+ "http-message",
+ "psr",
+ "psr-7",
+ "request",
+ "response"
+ ],
"support": {
- "issues": "https://github.com/alexeyshockov/guzzle-psalm-plugin/issues",
- "source": "https://github.com/alexeyshockov/guzzle-psalm-plugin/tree/v1.0.0"
+ "issues": "https://github.com/php-fig/http-message-util/issues",
+ "source": "https://github.com/php-fig/http-message-util/tree/1.1.5"
},
- "time": "2022-12-28T14:57:33+00:00"
+ "time": "2020-11-24T22:02:12+00:00"
},
{
- "name": "amphp/amp",
- "version": "v2.6.2",
- "source": {
- "type": "git",
- "url": "https://github.com/amphp/amp.git",
- "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/amphp/amp/zipball/9d5100cebffa729aaffecd3ad25dc5aeea4f13bb",
- "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "require-dev": {
- "amphp/php-cs-fixer-config": "dev-master",
- "amphp/phpunit-util": "^1",
- "ext-json": "*",
- "jetbrains/phpstorm-stubs": "^2019.3",
- "phpunit/phpunit": "^7 | ^8 | ^9",
- "psalm/phar": "^3.11@dev",
- "react/promise": "^2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.x-dev"
- }
- },
- "autoload": {
- "files": [
- "lib/functions.php",
- "lib/Internal/functions.php"
- ],
- "psr-4": {
- "Amp\\": "lib"
- }
- },
- "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": "https://amphp.org/amp",
- "keywords": [
- "async",
- "asynchronous",
- "awaitable",
- "concurrency",
- "event",
- "event-loop",
- "future",
- "non-blocking",
- "promise"
- ],
- "support": {
- "irc": "irc://irc.freenode.org/amphp",
- "issues": "https://github.com/amphp/amp/issues",
- "source": "https://github.com/amphp/amp/tree/v2.6.2"
- },
- "funding": [
- {
- "url": "https://github.com/amphp",
- "type": "github"
- }
- ],
- "time": "2022-02-20T17:52:18+00:00"
- },
- {
- "name": "amphp/byte-stream",
- "version": "v1.8.1",
- "source": {
- "type": "git",
- "url": "https://github.com/amphp/byte-stream.git",
- "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/amphp/byte-stream/zipball/acbd8002b3536485c997c4e019206b3f10ca15bd",
- "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd",
- "shasum": ""
- },
- "require": {
- "amphp/amp": "^2",
- "php": ">=7.1"
- },
- "require-dev": {
- "amphp/php-cs-fixer-config": "dev-master",
- "amphp/phpunit-util": "^1.4",
- "friendsofphp/php-cs-fixer": "^2.3",
- "jetbrains/phpstorm-stubs": "^2019.3",
- "phpunit/phpunit": "^6 || ^7 || ^8",
- "psalm/phar": "^3.11.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "files": [
- "lib/functions.php"
- ],
- "psr-4": {
- "Amp\\ByteStream\\": "lib"
- }
- },
- "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"
- ],
- "support": {
- "irc": "irc://irc.freenode.org/amphp",
- "issues": "https://github.com/amphp/byte-stream/issues",
- "source": "https://github.com/amphp/byte-stream/tree/v1.8.1"
- },
- "funding": [
- {
- "url": "https://github.com/amphp",
- "type": "github"
- }
- ],
- "time": "2021-03-30T17:13:30+00:00"
- },
- {
- "name": "composer/package-versions-deprecated",
- "version": "1.11.99.5",
- "source": {
- "type": "git",
- "url": "https://github.com/composer/package-versions-deprecated.git",
- "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b4f54f74ef3453349c24a845d22392cd31e65f1d",
- "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d",
- "shasum": ""
- },
- "require": {
- "composer-plugin-api": "^1.1.0 || ^2.0",
- "php": "^7 || ^8"
- },
- "replace": {
- "ocramius/package-versions": "1.11.99"
- },
- "require-dev": {
- "composer/composer": "^1.9.3 || ^2.0@dev",
- "ext-zip": "^1.13",
- "phpunit/phpunit": "^6.5 || ^7"
- },
- "type": "composer-plugin",
- "extra": {
- "class": "PackageVersions\\Installer",
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "PackageVersions\\": "src/PackageVersions"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com"
- },
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be"
- }
- ],
- "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
- "support": {
- "issues": "https://github.com/composer/package-versions-deprecated/issues",
- "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.5"
- },
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
- }
- ],
- "time": "2022-01-17T14:14:24+00:00"
- },
- {
- "name": "composer/pcre",
- "version": "3.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/composer/pcre.git",
- "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2",
- "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2",
- "shasum": ""
- },
- "require": {
- "php": "^7.4 || ^8.0"
- },
- "require-dev": {
- "phpstan/phpstan": "^1.3",
- "phpstan/phpstan-strict-rules": "^1.1",
- "symfony/phpunit-bridge": "^5"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Composer\\Pcre\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- }
- ],
- "description": "PCRE wrapping library that offers type-safe preg_* replacements.",
- "keywords": [
- "PCRE",
- "preg",
- "regex",
- "regular expression"
- ],
- "support": {
- "issues": "https://github.com/composer/pcre/issues",
- "source": "https://github.com/composer/pcre/tree/3.1.0"
- },
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
- }
- ],
- "time": "2022-11-17T09:50:14+00:00"
- },
- {
- "name": "composer/semver",
- "version": "3.3.2",
- "source": {
- "type": "git",
- "url": "https://github.com/composer/semver.git",
- "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9",
- "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.2 || ^7.0 || ^8.0"
- },
- "require-dev": {
- "phpstan/phpstan": "^1.4",
- "symfony/phpunit-bridge": "^4.2 || ^5"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Composer\\Semver\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nils Adermann",
- "email": "naderman@naderman.de",
- "homepage": "http://www.naderman.de"
- },
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- },
- {
- "name": "Rob Bast",
- "email": "rob.bast@gmail.com",
- "homepage": "http://robbast.nl"
- }
- ],
- "description": "Semver library that offers utilities, version constraint parsing and validation.",
- "keywords": [
- "semantic",
- "semver",
- "validation",
- "versioning"
- ],
- "support": {
- "irc": "irc://irc.freenode.org/composer",
- "issues": "https://github.com/composer/semver/issues",
- "source": "https://github.com/composer/semver/tree/3.3.2"
- },
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
- }
- ],
- "time": "2022-04-01T19:23:25+00:00"
- },
- {
- "name": "composer/xdebug-handler",
- "version": "3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/composer/xdebug-handler.git",
- "reference": "ced299686f41dce890debac69273b47ffe98a40c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c",
- "reference": "ced299686f41dce890debac69273b47ffe98a40c",
- "shasum": ""
- },
- "require": {
- "composer/pcre": "^1 || ^2 || ^3",
- "php": "^7.2.5 || ^8.0",
- "psr/log": "^1 || ^2 || ^3"
- },
- "require-dev": {
- "phpstan/phpstan": "^1.0",
- "phpstan/phpstan-strict-rules": "^1.1",
- "symfony/phpunit-bridge": "^6.0"
- },
- "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"
- ],
- "support": {
- "irc": "irc://irc.freenode.org/composer",
- "issues": "https://github.com/composer/xdebug-handler/issues",
- "source": "https://github.com/composer/xdebug-handler/tree/3.0.3"
- },
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
- }
- ],
- "time": "2022-02-25T21:32:43+00:00"
- },
- {
- "name": "dnoegel/php-xdg-base-dir",
- "version": "v0.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/dnoegel/php-xdg-base-dir.git",
- "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
- "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.2"
- },
- "require-dev": {
- "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "XdgBaseDir\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "implementation of xdg base directory specification for php",
- "support": {
- "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues",
- "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1"
- },
- "time": "2019-12-04T15:06:13+00:00"
- },
- {
- "name": "doctrine/deprecations",
- "version": "v1.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/deprecations.git",
- "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/deprecations/zipball/612a3ee5ab0d5dd97b7cf3874a6efe24325efac3",
- "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0"
- },
- "require-dev": {
- "doctrine/coding-standard": "^9",
- "phpstan/phpstan": "1.4.10 || 1.10.15",
- "phpstan/phpstan-phpunit": "^1.0",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
- "psalm/plugin-phpunit": "0.18.4",
- "psr/log": "^1 || ^2 || ^3",
- "vimeo/psalm": "4.30.0 || 5.12.0"
- },
- "suggest": {
- "psr/log": "Allows logging deprecations via PSR-3 logger implementation"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
- "homepage": "https://www.doctrine-project.org/",
- "support": {
- "issues": "https://github.com/doctrine/deprecations/issues",
- "source": "https://github.com/doctrine/deprecations/tree/v1.1.1"
- },
- "time": "2023-06-03T09:27:29+00:00"
- },
- {
- "name": "felixfbecker/advanced-json-rpc",
- "version": "v3.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git",
- "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447",
- "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447",
- "shasum": ""
- },
- "require": {
- "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
- "php": "^7.1 || ^8.0",
- "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.0 || ^8.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",
- "support": {
- "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues",
- "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1"
- },
- "time": "2021-06-11T22:34:44+00:00"
- },
- {
- "name": "felixfbecker/language-server-protocol",
- "version": "v1.5.2",
- "source": {
- "type": "git",
- "url": "https://github.com/felixfbecker/php-language-server-protocol.git",
- "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/6e82196ffd7c62f7794d778ca52b69feec9f2842",
- "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "require-dev": {
- "phpstan/phpstan": "*",
- "squizlabs/php_codesniffer": "^3.1",
- "vimeo/psalm": "^4.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "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"
- ],
- "support": {
- "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues",
- "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.2"
- },
- "time": "2022-03-02T22:36:06+00:00"
- },
- {
- "name": "fidry/cpu-core-counter",
- "version": "0.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/theofidry/cpu-core-counter.git",
- "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/b58e5a3933e541dc286cc91fc4f3898bbc6f1623",
- "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0"
- },
- "require-dev": {
- "fidry/makefile": "^0.2.0",
- "phpstan/extension-installer": "^1.2.0",
- "phpstan/phpstan": "^1.9.2",
- "phpstan/phpstan-deprecation-rules": "^1.0.0",
- "phpstan/phpstan-phpunit": "^1.2.2",
- "phpstan/phpstan-strict-rules": "^1.4.4",
- "phpunit/phpunit": "^9.5.26 || ^8.5.31",
- "theofidry/php-cs-fixer-config": "^1.0",
- "webmozarts/strict-phpunit": "^7.5"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Fidry\\CpuCoreCounter\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Théo FIDRY",
- "email": "theo.fidry@gmail.com"
- }
- ],
- "description": "Tiny utility to get the number of CPU cores.",
- "keywords": [
- "CPU",
- "core"
- ],
- "support": {
- "issues": "https://github.com/theofidry/cpu-core-counter/issues",
- "source": "https://github.com/theofidry/cpu-core-counter/tree/0.5.1"
- },
- "funding": [
- {
- "url": "https://github.com/theofidry",
- "type": "github"
- }
- ],
- "time": "2022-12-24T12:35:10+00:00"
- },
- {
- "name": "fig/http-message-util",
- "version": "1.1.5",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-message-util.git",
- "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message-util/zipball/9d94dc0154230ac39e5bf89398b324a86f63f765",
- "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765",
- "shasum": ""
- },
- "require": {
- "php": "^5.3 || ^7.0 || ^8.0"
- },
- "suggest": {
- "psr/http-message": "The package containing the PSR-7 interfaces"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Fig\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Utility classes and constants for use with PSR-7 (psr/http-message)",
- "keywords": [
- "http",
- "http-message",
- "psr",
- "psr-7",
- "request",
- "response"
- ],
- "support": {
- "issues": "https://github.com/php-fig/http-message-util/issues",
- "source": "https://github.com/php-fig/http-message-util/tree/1.1.5"
- },
- "time": "2020-11-24T22:02:12+00:00"
- },
- {
- "name": "imbo/imbo-coding-standard",
- "version": "v2.1.1",
+ "name": "imbo/imbo-coding-standard",
+ "version": "v2.1.1",
"source": {
"type": "git",
"url": "https://github.com/imbo/imbo-coding-standard.git",
@@ -3176,16 +2625,16 @@
},
{
"name": "myclabs/deep-copy",
- "version": "1.11.1",
+ "version": "1.12.1",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
+ "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
- "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845",
+ "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845",
"shasum": ""
},
"require": {
@@ -3193,11 +2642,12 @@
},
"conflict": {
"doctrine/collections": "<1.6.8",
- "doctrine/common": "<2.13.3 || >=3,<3.2.2"
+ "doctrine/common": "<2.13.3 || >=3 <3.2.2"
},
"require-dev": {
"doctrine/collections": "^1.6.8",
"doctrine/common": "^2.13.3 || ^3.2.2",
+ "phpspec/prophecy": "^1.10",
"phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
},
"type": "library",
@@ -3223,7 +2673,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1"
},
"funding": [
{
@@ -3231,58 +2681,7 @@
"type": "tidelift"
}
],
- "time": "2023-03-08T13:26:56+00:00"
- },
- {
- "name": "netresearch/jsonmapper",
- "version": "v4.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/cweiske/jsonmapper.git",
- "reference": "f60565f8c0566a31acf06884cdaa591867ecc956"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/f60565f8c0566a31acf06884cdaa591867ecc956",
- "reference": "f60565f8c0566a31acf06884cdaa591867ecc956",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "ext-pcre": "*",
- "ext-reflection": "*",
- "ext-spl": "*",
- "php": ">=7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0",
- "squizlabs/php_codesniffer": "~3.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",
- "support": {
- "email": "cweiske@cweiske.de",
- "issues": "https://github.com/cweiske/jsonmapper/issues",
- "source": "https://github.com/cweiske/jsonmapper/tree/v4.2.0"
- },
- "time": "2023-04-09T17:37:40+00:00"
+ "time": "2024-11-08T17:47:46+00:00"
},
{
"name": "nikic/fast-route",
@@ -3336,25 +2735,27 @@
},
{
"name": "nikic/php-parser",
- "version": "v4.16.0",
+ "version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "19526a33fb561ef417e822e85f08a00db4059c17"
+ "reference": "447a020a1f875a434d62f2a401f53b82a396e494"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/19526a33fb561ef417e822e85f08a00db4059c17",
- "reference": "19526a33fb561ef417e822e85f08a00db4059c17",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494",
+ "reference": "447a020a1f875a434d62f2a401f53b82a396e494",
"shasum": ""
},
"require": {
+ "ext-ctype": "*",
+ "ext-json": "*",
"ext-tokenizer": "*",
- "php": ">=7.0"
+ "php": ">=7.4"
},
"require-dev": {
"ircmaxell/php-yacc": "^0.0.7",
- "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+ "phpunit/phpunit": "^9.0"
},
"bin": [
"bin/php-parse"
@@ -3362,7 +2763,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.9-dev"
+ "dev-master": "5.0-dev"
}
},
"autoload": {
@@ -3386,26 +2787,27 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.16.0"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0"
},
- "time": "2023-06-25T14:52:30+00:00"
+ "time": "2024-12-30T11:07:19+00:00"
},
{
"name": "phar-io/manifest",
- "version": "2.0.3",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
- "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
+ "reference": "54750ef60c58e43759730615a392c31c80e23176"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
- "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176",
+ "reference": "54750ef60c58e43759730615a392c31c80e23176",
"shasum": ""
},
"require": {
"ext-dom": "*",
+ "ext-libxml": "*",
"ext-phar": "*",
"ext-xmlwriter": "*",
"phar-io/version": "^3.0.1",
@@ -3446,9 +2848,15 @@
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
"support": {
"issues": "https://github.com/phar-io/manifest/issues",
- "source": "https://github.com/phar-io/manifest/tree/2.0.3"
+ "source": "https://github.com/phar-io/manifest/tree/2.0.4"
},
- "time": "2021-07-20T11:28:43+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-03T12:33:53+00:00"
},
{
"name": "phar-io/version",
@@ -3502,251 +2910,240 @@
"time": "2022-02-21T01:04:05+00:00"
},
{
- "name": "phpdocumentor/reflection-common",
- "version": "2.2.0",
+ "name": "phpstan/extension-installer",
+ "version": "1.4.3",
"source": {
"type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
+ "url": "https://github.com/phpstan/extension-installer.git",
+ "reference": "85e90b3942d06b2326fba0403ec24fe912372936"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/85e90b3942d06b2326fba0403ec24fe912372936",
+ "reference": "85e90b3942d06b2326fba0403ec24fe912372936",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "composer-plugin-api": "^2.0",
+ "php": "^7.2 || ^8.0",
+ "phpstan/phpstan": "^1.9.0 || ^2.0"
},
- "type": "library",
+ "require-dev": {
+ "composer/composer": "^2.0",
+ "php-parallel-lint/php-parallel-lint": "^1.2.0",
+ "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0"
+ },
+ "type": "composer-plugin",
"extra": {
- "branch-alias": {
- "dev-2.x": "2.x-dev"
- }
+ "class": "PHPStan\\ExtensionInstaller\\Plugin"
},
"autoload": {
"psr-4": {
- "phpDocumentor\\Reflection\\": "src/"
+ "PHPStan\\ExtensionInstaller\\": "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",
+ "description": "Composer plugin for automatic installation of PHPStan extensions",
"keywords": [
- "FQSEN",
- "phpDocumentor",
- "phpdoc",
- "reflection",
+ "dev",
"static analysis"
],
"support": {
- "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
- "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
+ "issues": "https://github.com/phpstan/extension-installer/issues",
+ "source": "https://github.com/phpstan/extension-installer/tree/1.4.3"
},
- "time": "2020-06-27T09:03:43+00:00"
+ "time": "2024-09-04T20:21:43+00:00"
},
{
- "name": "phpdocumentor/reflection-docblock",
- "version": "5.3.0",
+ "name": "phpstan/phpstan",
+ "version": "2.1.1",
"source": {
"type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
+ "url": "https://github.com/phpstan/phpstan.git",
+ "reference": "cd6e973e04b4c2b94c86e8612b5a65f0da0e08e7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
- "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/cd6e973e04b4c2b94c86e8612b5a65f0da0e08e7",
+ "reference": "cd6e973e04b4c2b94c86e8612b5a65f0da0e08e7",
"shasum": ""
},
"require": {
- "ext-filter": "*",
- "php": "^7.2 || ^8.0",
- "phpdocumentor/reflection-common": "^2.2",
- "phpdocumentor/type-resolver": "^1.3",
- "webmozart/assert": "^1.9.1"
+ "php": "^7.4|^8.0"
},
- "require-dev": {
- "mockery/mockery": "~1.3.2",
- "psalm/phar": "^4.8"
+ "conflict": {
+ "phpstan/phpstan-shim": "*"
},
+ "bin": [
+ "phpstan",
+ "phpstan.phar"
+ ],
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.x-dev"
- }
- },
"autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src"
- }
+ "files": [
+ "bootstrap.php"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
+ "description": "PHPStan - PHP Static Analysis Tool",
+ "keywords": [
+ "dev",
+ "static analysis"
+ ],
+ "support": {
+ "docs": "https://phpstan.org/user-guide/getting-started",
+ "forum": "https://github.com/phpstan/phpstan/discussions",
+ "issues": "https://github.com/phpstan/phpstan/issues",
+ "security": "https://github.com/phpstan/phpstan/security/policy",
+ "source": "https://github.com/phpstan/phpstan-src"
+ },
+ "funding": [
{
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
+ "url": "https://github.com/ondrejmirtes",
+ "type": "github"
},
{
- "name": "Jaap van Otterdijk",
- "email": "account@ijaap.nl"
+ "url": "https://github.com/phpstan",
+ "type": "github"
}
],
- "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/5.3.0"
- },
- "time": "2021-10-19T17:43:47+00:00"
+ "time": "2025-01-05T16:43:48+00:00"
},
{
- "name": "phpdocumentor/type-resolver",
- "version": "1.7.2",
+ "name": "phpstan/phpstan-deprecation-rules",
+ "version": "2.0.1",
"source": {
"type": "git",
- "url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "b2fe4d22a5426f38e014855322200b97b5362c0d"
+ "url": "https://github.com/phpstan/phpstan-deprecation-rules.git",
+ "reference": "1cc1259cb91ee4cfbb5c39bca9f635f067c910b4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b2fe4d22a5426f38e014855322200b97b5362c0d",
- "reference": "b2fe4d22a5426f38e014855322200b97b5362c0d",
+ "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/1cc1259cb91ee4cfbb5c39bca9f635f067c910b4",
+ "reference": "1cc1259cb91ee4cfbb5c39bca9f635f067c910b4",
"shasum": ""
},
"require": {
- "doctrine/deprecations": "^1.0",
"php": "^7.4 || ^8.0",
- "phpdocumentor/reflection-common": "^2.0",
- "phpstan/phpdoc-parser": "^1.13"
+ "phpstan/phpstan": "^2.0"
},
"require-dev": {
- "ext-tokenizer": "*",
- "phpbench/phpbench": "^1.2",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-phpunit": "^1.1",
- "phpunit/phpunit": "^9.5",
- "rector/rector": "^0.13.9",
- "vimeo/psalm": "^4.25"
+ "php-parallel-lint/php-parallel-lint": "^1.2",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpunit/phpunit": "^9.6"
},
- "type": "library",
+ "type": "phpstan-extension",
"extra": {
- "branch-alias": {
- "dev-1.x": "1.x-dev"
+ "phpstan": {
+ "includes": [
+ "rules.neon"
+ ]
}
},
"autoload": {
"psr-4": {
- "phpDocumentor\\Reflection\\": "src"
+ "PHPStan\\": "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",
+ "description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.",
"support": {
- "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.2"
+ "issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues",
+ "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/2.0.1"
},
- "time": "2023-05-30T18:13:47+00:00"
+ "time": "2024-11-28T21:56:36+00:00"
},
{
- "name": "phpstan/phpdoc-parser",
- "version": "1.22.1",
+ "name": "phpstan/phpstan-phpunit",
+ "version": "2.0.3",
"source": {
"type": "git",
- "url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "65c39594fbd8c67abfc68bb323f86447bab79cc0"
+ "url": "https://github.com/phpstan/phpstan-phpunit.git",
+ "reference": "e32ac656788a5bf3dedda89e6a2cad5643bf1a18"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/65c39594fbd8c67abfc68bb323f86447bab79cc0",
- "reference": "65c39594fbd8c67abfc68bb323f86447bab79cc0",
+ "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/e32ac656788a5bf3dedda89e6a2cad5643bf1a18",
+ "reference": "e32ac656788a5bf3dedda89e6a2cad5643bf1a18",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "php": "^7.4 || ^8.0",
+ "phpstan/phpstan": "^2.0.4"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<7.0"
},
"require-dev": {
- "doctrine/annotations": "^2.0",
- "nikic/php-parser": "^4.15",
"php-parallel-lint/php-parallel-lint": "^1.2",
- "phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^1.5",
- "phpstan/phpstan-phpunit": "^1.1",
- "phpstan/phpstan-strict-rules": "^1.0",
- "phpunit/phpunit": "^9.5",
- "symfony/process": "^5.2"
+ "phpstan/phpstan-strict-rules": "^2.0",
+ "phpunit/phpunit": "^9.6"
+ },
+ "type": "phpstan-extension",
+ "extra": {
+ "phpstan": {
+ "includes": [
+ "extension.neon",
+ "rules.neon"
+ ]
+ }
},
- "type": "library",
"autoload": {
"psr-4": {
- "PHPStan\\PhpDocParser\\": [
- "src/"
- ]
+ "PHPStan\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "PHPDoc parser with support for nullable, intersection and generic types",
+ "description": "PHPUnit extensions and rules for PHPStan",
"support": {
- "issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/1.22.1"
+ "issues": "https://github.com/phpstan/phpstan-phpunit/issues",
+ "source": "https://github.com/phpstan/phpstan-phpunit/tree/2.0.3"
},
- "time": "2023-06-29T20:46:06+00:00"
+ "time": "2024-12-19T09:14:43+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "10.1.2",
+ "version": "11.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "db1497ec8dd382e82c962f7abbe0320e4882ee4e"
+ "reference": "418c59fd080954f8c4aa5631d9502ecda2387118"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/db1497ec8dd382e82c962f7abbe0320e4882ee4e",
- "reference": "db1497ec8dd382e82c962f7abbe0320e4882ee4e",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/418c59fd080954f8c4aa5631d9502ecda2387118",
+ "reference": "418c59fd080954f8c4aa5631d9502ecda2387118",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.15",
- "php": ">=8.1",
- "phpunit/php-file-iterator": "^4.0",
- "phpunit/php-text-template": "^3.0",
- "sebastian/code-unit-reverse-lookup": "^3.0",
- "sebastian/complexity": "^3.0",
- "sebastian/environment": "^6.0",
- "sebastian/lines-of-code": "^2.0",
- "sebastian/version": "^4.0",
- "theseer/tokenizer": "^1.2.0"
+ "nikic/php-parser": "^5.3.1",
+ "php": ">=8.2",
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-text-template": "^4.0.1",
+ "sebastian/code-unit-reverse-lookup": "^4.0.1",
+ "sebastian/complexity": "^4.0.1",
+ "sebastian/environment": "^7.2.0",
+ "sebastian/lines-of-code": "^3.0.1",
+ "sebastian/version": "^5.0.2",
+ "theseer/tokenizer": "^1.2.3"
},
"require-dev": {
- "phpunit/phpunit": "^10.1"
+ "phpunit/phpunit": "^11.5.0"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -3755,7 +3152,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "10.1-dev"
+ "dev-main": "11.0.x-dev"
}
},
"autoload": {
@@ -3784,7 +3181,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.2"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.8"
},
"funding": [
{
@@ -3792,32 +3189,32 @@
"type": "github"
}
],
- "time": "2023-05-22T09:04:27+00:00"
+ "time": "2024-12-11T12:34:27+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "4.0.2",
+ "version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "5647d65443818959172645e7ed999217360654b6"
+ "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/5647d65443818959172645e7ed999217360654b6",
- "reference": "5647d65443818959172645e7ed999217360654b6",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6",
+ "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -3845,7 +3242,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
"security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.0.2"
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0"
},
"funding": [
{
@@ -3853,28 +3250,28 @@
"type": "github"
}
],
- "time": "2023-05-07T09:13:23+00:00"
+ "time": "2024-08-27T05:02:59+00:00"
},
{
"name": "phpunit/php-invoker",
- "version": "4.0.0",
+ "version": "5.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7"
+ "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
- "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2",
+ "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
"ext-pcntl": "*",
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-pcntl": "*"
@@ -3882,7 +3279,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -3908,7 +3305,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0"
+ "security": "https://github.com/sebastianbergmann/php-invoker/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1"
},
"funding": [
{
@@ -3916,32 +3314,32 @@
"type": "github"
}
],
- "time": "2023-02-03T06:56:09+00:00"
+ "time": "2024-07-03T05:07:44+00:00"
},
{
"name": "phpunit/php-text-template",
- "version": "3.0.0",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "9f3d3709577a527025f55bcf0f7ab8052c8bb37d"
+ "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/9f3d3709577a527025f55bcf0f7ab8052c8bb37d",
- "reference": "9f3d3709577a527025f55bcf0f7ab8052c8bb37d",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
+ "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -3967,7 +3365,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.0"
+ "security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1"
},
"funding": [
{
@@ -3975,32 +3374,32 @@
"type": "github"
}
],
- "time": "2023-02-03T06:56:46+00:00"
+ "time": "2024-07-03T05:08:43+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "6.0.0",
+ "version": "7.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d"
+ "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d",
- "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
+ "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -4026,7 +3425,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0"
+ "security": "https://github.com/sebastianbergmann/php-timer/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1"
},
"funding": [
{
@@ -4034,20 +3434,20 @@
"type": "github"
}
],
- "time": "2023-02-03T06:57:52+00:00"
+ "time": "2024-07-03T05:09:35+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "10.2.3",
+ "version": "11.5.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "35c8cac1734ede2ae354a6644f7088356ff5b08e"
+ "reference": "153d0531b9f7e883c5053160cad6dd5ac28140b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/35c8cac1734ede2ae354a6644f7088356ff5b08e",
- "reference": "35c8cac1734ede2ae354a6644f7088356ff5b08e",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/153d0531b9f7e883c5053160cad6dd5ac28140b3",
+ "reference": "153d0531b9f7e883c5053160cad6dd5ac28140b3",
"shasum": ""
},
"require": {
@@ -4057,26 +3457,26 @@
"ext-mbstring": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.10.1",
- "phar-io/manifest": "^2.0.3",
- "phar-io/version": "^3.0.2",
- "php": ">=8.1",
- "phpunit/php-code-coverage": "^10.1.1",
- "phpunit/php-file-iterator": "^4.0",
- "phpunit/php-invoker": "^4.0",
- "phpunit/php-text-template": "^3.0",
- "phpunit/php-timer": "^6.0",
- "sebastian/cli-parser": "^2.0",
- "sebastian/code-unit": "^2.0",
- "sebastian/comparator": "^5.0",
- "sebastian/diff": "^5.0",
- "sebastian/environment": "^6.0",
- "sebastian/exporter": "^5.0",
- "sebastian/global-state": "^6.0",
- "sebastian/object-enumerator": "^5.0",
- "sebastian/recursion-context": "^5.0",
- "sebastian/type": "^4.0",
- "sebastian/version": "^4.0"
+ "myclabs/deep-copy": "^1.12.1",
+ "phar-io/manifest": "^2.0.4",
+ "phar-io/version": "^3.2.1",
+ "php": ">=8.2",
+ "phpunit/php-code-coverage": "^11.0.8",
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-invoker": "^5.0.1",
+ "phpunit/php-text-template": "^4.0.1",
+ "phpunit/php-timer": "^7.0.1",
+ "sebastian/cli-parser": "^3.0.2",
+ "sebastian/code-unit": "^3.0.2",
+ "sebastian/comparator": "^6.2.1",
+ "sebastian/diff": "^6.0.2",
+ "sebastian/environment": "^7.2.0",
+ "sebastian/exporter": "^6.3.0",
+ "sebastian/global-state": "^7.0.2",
+ "sebastian/object-enumerator": "^6.0.1",
+ "sebastian/type": "^5.1.0",
+ "sebastian/version": "^5.0.2",
+ "staabm/side-effects-detector": "^1.0.5"
},
"suggest": {
"ext-soap": "To be able to generate mocks based on WSDL files"
@@ -4087,7 +3487,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "10.2-dev"
+ "dev-main": "11.5-dev"
}
},
"autoload": {
@@ -4119,7 +3519,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/10.2.3"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.2"
},
"funding": [
{
@@ -4135,67 +3535,7 @@
"type": "tidelift"
}
],
- "time": "2023-06-30T06:17:38+00:00"
- },
- {
- "name": "psalm/plugin-phpunit",
- "version": "0.18.4",
- "source": {
- "type": "git",
- "url": "https://github.com/psalm/psalm-plugin-phpunit.git",
- "reference": "e4ab3096653d9eb6f6d0ea5f4461898d59ae4dbc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/e4ab3096653d9eb6f6d0ea5f4461898d59ae4dbc",
- "reference": "e4ab3096653d9eb6f6d0ea5f4461898d59ae4dbc",
- "shasum": ""
- },
- "require": {
- "composer/package-versions-deprecated": "^1.10",
- "composer/semver": "^1.4 || ^2.0 || ^3.0",
- "ext-simplexml": "*",
- "php": "^7.1 || ^8.0",
- "vimeo/psalm": "dev-master || dev-4.x || ^4.7.1 || ^5@beta || ^5.0"
- },
- "conflict": {
- "phpunit/phpunit": "<7.5"
- },
- "require-dev": {
- "codeception/codeception": "^4.0.3",
- "php": "^7.3 || ^8.0",
- "phpunit/phpunit": "^7.5 || ^8.0 || ^9.0",
- "squizlabs/php_codesniffer": "^3.3.1",
- "weirdan/codeception-psalm-module": "^0.11.0",
- "weirdan/prophecy-shim": "^1.0 || ^2.0"
- },
- "type": "psalm-plugin",
- "extra": {
- "psalm": {
- "pluginClass": "Psalm\\PhpUnitPlugin\\Plugin"
- }
- },
- "autoload": {
- "psr-4": {
- "Psalm\\PhpUnitPlugin\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Matt Brown",
- "email": "github@muglug.com"
- }
- ],
- "description": "Psalm plugin for PHPUnit",
- "support": {
- "issues": "https://github.com/psalm/psalm-plugin-phpunit/issues",
- "source": "https://github.com/psalm/psalm-plugin-phpunit/tree/0.18.4"
- },
- "time": "2022-12-03T07:47:07+00:00"
+ "time": "2024-12-21T05:51:08+00:00"
},
{
"name": "psr/http-server-handler",
@@ -4310,80 +3650,30 @@
},
"time": "2023-04-11T06:14:47+00:00"
},
- {
- "name": "psr/log",
- "version": "3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
- "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
- "shasum": ""
- },
- "require": {
- "php": ">=8.0.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Log\\": "src"
- }
- },
- "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/3.0.0"
- },
- "time": "2021-07-14T16:46:02+00:00"
- },
{
"name": "sebastian/cli-parser",
- "version": "2.0.0",
+ "version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae"
+ "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae",
- "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180",
+ "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -4406,7 +3696,8 @@
"homepage": "https://github.com/sebastianbergmann/cli-parser",
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0"
+ "security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2"
},
"funding": [
{
@@ -4414,32 +3705,32 @@
"type": "github"
}
],
- "time": "2023-02-03T06:58:15+00:00"
+ "time": "2024-07-03T04:41:36+00:00"
},
{
"name": "sebastian/code-unit",
- "version": "2.0.0",
+ "version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "a81fee9eef0b7a76af11d121767abc44c104e503"
+ "reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503",
- "reference": "a81fee9eef0b7a76af11d121767abc44c104e503",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca",
+ "reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -4462,7 +3753,8 @@
"homepage": "https://github.com/sebastianbergmann/code-unit",
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit/issues",
- "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0"
+ "security": "https://github.com/sebastianbergmann/code-unit/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.2"
},
"funding": [
{
@@ -4470,32 +3762,32 @@
"type": "github"
}
],
- "time": "2023-02-03T06:58:43+00:00"
+ "time": "2024-12-12T09:59:06+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
- "version": "3.0.0",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d"
+ "reference": "183a9b2632194febd219bb9246eee421dad8d45e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
- "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e",
+ "reference": "183a9b2632194febd219bb9246eee421dad8d45e",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -4517,7 +3809,8 @@
"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/3.0.0"
+ "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1"
},
"funding": [
{
@@ -4525,36 +3818,39 @@
"type": "github"
}
],
- "time": "2023-02-03T06:59:15+00:00"
+ "time": "2024-07-03T04:45:54+00:00"
},
{
"name": "sebastian/comparator",
- "version": "5.0.0",
+ "version": "6.3.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c"
+ "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/72f01e6586e0caf6af81297897bd112eb7e9627c",
- "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/d4e47a769525c4dd38cea90e5dcd435ddbbc7115",
+ "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-mbstring": "*",
- "php": ">=8.1",
- "sebastian/diff": "^5.0",
- "sebastian/exporter": "^5.0"
+ "php": ">=8.2",
+ "sebastian/diff": "^6.0",
+ "sebastian/exporter": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.4"
+ },
+ "suggest": {
+ "ext-bcmath": "For comparing BcMath\\Number objects"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "6.2-dev"
}
},
"autoload": {
@@ -4593,7 +3889,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.0"
+ "security": "https://github.com/sebastianbergmann/comparator/security/policy",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.0"
},
"funding": [
{
@@ -4601,33 +3898,33 @@
"type": "github"
}
],
- "time": "2023-02-03T07:07:16+00:00"
+ "time": "2025-01-06T10:28:19+00:00"
},
{
"name": "sebastian/complexity",
- "version": "3.0.0",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "e67d240970c9dc7ea7b2123a6d520e334dd61dc6"
+ "reference": "ee41d384ab1906c68852636b6de493846e13e5a0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/e67d240970c9dc7ea7b2123a6d520e334dd61dc6",
- "reference": "e67d240970c9dc7ea7b2123a6d520e334dd61dc6",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0",
+ "reference": "ee41d384ab1906c68852636b6de493846e13e5a0",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.10",
- "php": ">=8.1"
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -4650,7 +3947,8 @@
"homepage": "https://github.com/sebastianbergmann/complexity",
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
- "source": "https://github.com/sebastianbergmann/complexity/tree/3.0.0"
+ "security": "https://github.com/sebastianbergmann/complexity/security/policy",
+ "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1"
},
"funding": [
{
@@ -4658,33 +3956,33 @@
"type": "github"
}
],
- "time": "2023-02-03T06:59:47+00:00"
+ "time": "2024-07-03T04:49:50+00:00"
},
{
"name": "sebastian/diff",
- "version": "5.0.3",
+ "version": "6.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b"
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b",
- "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544",
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0",
+ "phpunit/phpunit": "^11.0",
"symfony/process": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -4717,7 +4015,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"security": "https://github.com/sebastianbergmann/diff/security/policy",
- "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3"
+ "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2"
},
"funding": [
{
@@ -4725,27 +4023,27 @@
"type": "github"
}
],
- "time": "2023-05-01T07:48:21+00:00"
+ "time": "2024-07-03T04:53:05+00:00"
},
{
"name": "sebastian/environment",
- "version": "6.0.1",
+ "version": "7.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951"
+ "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951",
- "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
+ "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-posix": "*"
@@ -4753,7 +4051,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "7.2-dev"
}
},
"autoload": {
@@ -4781,7 +4079,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"security": "https://github.com/sebastianbergmann/environment/security/policy",
- "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1"
+ "source": "https://github.com/sebastianbergmann/environment/tree/7.2.0"
},
"funding": [
{
@@ -4789,34 +4087,34 @@
"type": "github"
}
],
- "time": "2023-04-11T05:39:26+00:00"
+ "time": "2024-07-03T04:54:44+00:00"
},
{
"name": "sebastian/exporter",
- "version": "5.0.0",
+ "version": "6.3.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0"
+ "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0",
- "reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/3473f61172093b2da7de1fb5782e1f24cc036dc3",
+ "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
- "php": ">=8.1",
- "sebastian/recursion-context": "^5.0"
+ "php": ">=8.2",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "6.1-dev"
}
},
"autoload": {
@@ -4858,7 +4156,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/5.0.0"
+ "security": "https://github.com/sebastianbergmann/exporter/security/policy",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.0"
},
"funding": [
{
@@ -4866,35 +4165,35 @@
"type": "github"
}
],
- "time": "2023-02-03T07:06:49+00:00"
+ "time": "2024-12-05T09:17:50+00:00"
},
{
"name": "sebastian/global-state",
- "version": "6.0.0",
+ "version": "7.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "aab257c712de87b90194febd52e4d184551c2d44"
+ "reference": "3be331570a721f9a4b5917f4209773de17f747d7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/aab257c712de87b90194febd52e4d184551c2d44",
- "reference": "aab257c712de87b90194febd52e4d184551c2d44",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7",
+ "reference": "3be331570a721f9a4b5917f4209773de17f747d7",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "sebastian/object-reflector": "^3.0",
- "sebastian/recursion-context": "^5.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
"ext-dom": "*",
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -4913,13 +4212,14 @@
}
],
"description": "Snapshotting of global state",
- "homepage": "http://www.github.com/sebastianbergmann/global-state",
+ "homepage": "https://www.github.com/sebastianbergmann/global-state",
"keywords": [
"global state"
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.0"
+ "security": "https://github.com/sebastianbergmann/global-state/security/policy",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2"
},
"funding": [
{
@@ -4927,33 +4227,33 @@
"type": "github"
}
],
- "time": "2023-02-03T07:07:38+00:00"
+ "time": "2024-07-03T04:57:36+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "2.0.0",
+ "version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "17c4d940ecafb3d15d2cf916f4108f664e28b130"
+ "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/17c4d940ecafb3d15d2cf916f4108f664e28b130",
- "reference": "17c4d940ecafb3d15d2cf916f4108f664e28b130",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a",
+ "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.10",
- "php": ">=8.1"
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -4976,7 +4276,8 @@
"homepage": "https://github.com/sebastianbergmann/lines-of-code",
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.0"
+ "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1"
},
"funding": [
{
@@ -4984,34 +4285,34 @@
"type": "github"
}
],
- "time": "2023-02-03T07:08:02+00:00"
+ "time": "2024-07-03T04:58:38+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "5.0.0",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906"
+ "reference": "f5b498e631a74204185071eb41f33f38d64608aa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906",
- "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa",
+ "reference": "f5b498e631a74204185071eb41f33f38d64608aa",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "sebastian/object-reflector": "^3.0",
- "sebastian/recursion-context": "^5.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -5033,7 +4334,8 @@
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0"
+ "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1"
},
"funding": [
{
@@ -5041,32 +4343,32 @@
"type": "github"
}
],
- "time": "2023-02-03T07:08:32+00:00"
+ "time": "2024-07-03T05:00:13+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "3.0.0",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "24ed13d98130f0e7122df55d06c5c4942a577957"
+ "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957",
- "reference": "24ed13d98130f0e7122df55d06c5c4942a577957",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9",
+ "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -5088,7 +4390,8 @@
"homepage": "https://github.com/sebastianbergmann/object-reflector/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-reflector/issues",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0"
+ "security": "https://github.com/sebastianbergmann/object-reflector/security/policy",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1"
},
"funding": [
{
@@ -5096,32 +4399,32 @@
"type": "github"
}
],
- "time": "2023-02-03T07:06:18+00:00"
+ "time": "2024-07-03T05:01:32+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "5.0.0",
+ "version": "6.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "05909fb5bc7df4c52992396d0116aed689f93712"
+ "reference": "694d156164372abbd149a4b85ccda2e4670c0e16"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712",
- "reference": "05909fb5bc7df4c52992396d0116aed689f93712",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/694d156164372abbd149a4b85ccda2e4670c0e16",
+ "reference": "694d156164372abbd149a4b85ccda2e4670c0e16",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -5151,7 +4454,8 @@
"homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0"
+ "security": "https://github.com/sebastianbergmann/recursion-context/security/policy",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.2"
},
"funding": [
{
@@ -5159,32 +4463,32 @@
"type": "github"
}
],
- "time": "2023-02-03T07:05:40+00:00"
+ "time": "2024-07-03T05:10:34+00:00"
},
{
"name": "sebastian/type",
- "version": "4.0.0",
+ "version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "462699a16464c3944eefc02ebdd77882bd3925bf"
+ "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf",
- "reference": "462699a16464c3944eefc02ebdd77882bd3925bf",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/461b9c5da241511a2a0e8f240814fb23ce5c0aac",
+ "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "5.1-dev"
}
},
"autoload": {
@@ -5207,7 +4511,8 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/4.0.0"
+ "security": "https://github.com/sebastianbergmann/type/security/policy",
+ "source": "https://github.com/sebastianbergmann/type/tree/5.1.0"
},
"funding": [
{
@@ -5215,29 +4520,29 @@
"type": "github"
}
],
- "time": "2023-02-03T07:10:45+00:00"
+ "time": "2024-09-17T13:12:04+00:00"
},
{
"name": "sebastian/version",
- "version": "4.0.1",
+ "version": "5.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17"
+ "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17",
- "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874",
+ "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -5260,7 +4565,8 @@
"homepage": "https://github.com/sebastianbergmann/version",
"support": {
"issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/4.0.1"
+ "security": "https://github.com/sebastianbergmann/version/security/policy",
+ "source": "https://github.com/sebastianbergmann/version/tree/5.0.2"
},
"funding": [
{
@@ -5268,44 +4574,44 @@
"type": "github"
}
],
- "time": "2023-02-07T11:34:05+00:00"
+ "time": "2024-10-09T05:16:32+00:00"
},
{
"name": "slim/psr7",
- "version": "1.6.1",
+ "version": "1.7.0",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Slim-Psr7.git",
- "reference": "72d2b2bac94ab4575d369f605dbfafbe168d3163"
+ "reference": "753e9646def5ff4db1a06e5cf4ef539bfd30f467"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/slimphp/Slim-Psr7/zipball/72d2b2bac94ab4575d369f605dbfafbe168d3163",
- "reference": "72d2b2bac94ab4575d369f605dbfafbe168d3163",
+ "url": "https://api.github.com/repos/slimphp/Slim-Psr7/zipball/753e9646def5ff4db1a06e5cf4ef539bfd30f467",
+ "reference": "753e9646def5ff4db1a06e5cf4ef539bfd30f467",
"shasum": ""
},
"require": {
"fig/http-message-util": "^1.1.5",
- "php": "^7.4 || ^8.0",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.0",
+ "php": "^8.0",
+ "psr/http-factory": "^1.1",
+ "psr/http-message": "^1.0 || ^2.0",
"ralouphie/getallheaders": "^3.0",
- "symfony/polyfill-php80": "^1.26"
+ "symfony/polyfill-php80": "^1.29"
},
"provide": {
- "psr/http-factory-implementation": "1.0",
- "psr/http-message-implementation": "1.0"
+ "psr/http-factory-implementation": "^1.0",
+ "psr/http-message-implementation": "^1.0 || ^2.0"
},
"require-dev": {
- "adriansuter/php-autoload-override": "^1.3",
+ "adriansuter/php-autoload-override": "^1.4",
"ext-json": "*",
- "http-interop/http-factory-tests": "^0.9.0",
- "php-http/psr7-integration-tests": "1.1",
- "phpspec/prophecy": "^1.15",
- "phpspec/prophecy-phpunit": "^2.0",
- "phpstan/phpstan": "^1.8",
- "phpunit/phpunit": "^9.5",
- "squizlabs/php_codesniffer": "^3.7"
+ "http-interop/http-factory-tests": "^1.1.0",
+ "php-http/psr7-integration-tests": "1.3.0",
+ "phpspec/prophecy": "^1.19",
+ "phpspec/prophecy-phpunit": "^2.2",
+ "phpstan/phpstan": "^1.11",
+ "phpunit/phpunit": "^9.6",
+ "squizlabs/php_codesniffer": "^3.10"
},
"type": "library",
"autoload": {
@@ -5348,22 +4654,22 @@
],
"support": {
"issues": "https://github.com/slimphp/Slim-Psr7/issues",
- "source": "https://github.com/slimphp/Slim-Psr7/tree/1.6.1"
+ "source": "https://github.com/slimphp/Slim-Psr7/tree/1.7.0"
},
- "time": "2023-04-17T16:02:20+00:00"
+ "time": "2024-06-08T14:48:17+00:00"
},
{
"name": "slim/slim",
- "version": "4.11.0",
+ "version": "4.14.0",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Slim.git",
- "reference": "b0f4ca393ea037be9ac7292ba7d0a34d18bac0c7"
+ "reference": "5943393b88716eb9e82c4161caa956af63423913"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/slimphp/Slim/zipball/b0f4ca393ea037be9ac7292ba7d0a34d18bac0c7",
- "reference": "b0f4ca393ea037be9ac7292ba7d0a34d18bac0c7",
+ "url": "https://api.github.com/repos/slimphp/Slim/zipball/5943393b88716eb9e82c4161caa956af63423913",
+ "reference": "5943393b88716eb9e82c4161caa956af63423913",
"shasum": ""
},
"require": {
@@ -5371,28 +4677,29 @@
"nikic/fast-route": "^1.3",
"php": "^7.4 || ^8.0",
"psr/container": "^1.0 || ^2.0",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.0",
+ "psr/http-factory": "^1.1",
+ "psr/http-message": "^1.1 || ^2.0",
"psr/http-server-handler": "^1.0",
"psr/http-server-middleware": "^1.0",
"psr/log": "^1.1 || ^2.0 || ^3.0"
},
"require-dev": {
- "adriansuter/php-autoload-override": "^1.3",
+ "adriansuter/php-autoload-override": "^1.4",
"ext-simplexml": "*",
- "guzzlehttp/psr7": "^2.4",
- "httpsoft/http-message": "^1.0",
- "httpsoft/http-server-request": "^1.0",
- "laminas/laminas-diactoros": "^2.17",
- "nyholm/psr7": "^1.5",
- "nyholm/psr7-server": "^1.0",
- "phpspec/prophecy": "^1.15",
- "phpspec/prophecy-phpunit": "^2.0",
- "phpstan/phpstan": "^1.8",
- "phpunit/phpunit": "^9.5",
- "slim/http": "^1.2",
- "slim/psr7": "^1.5",
- "squizlabs/php_codesniffer": "^3.7"
+ "guzzlehttp/psr7": "^2.6",
+ "httpsoft/http-message": "^1.1",
+ "httpsoft/http-server-request": "^1.1",
+ "laminas/laminas-diactoros": "^2.17 || ^3",
+ "nyholm/psr7": "^1.8",
+ "nyholm/psr7-server": "^1.1",
+ "phpspec/prophecy": "^1.19",
+ "phpspec/prophecy-phpunit": "^2.1",
+ "phpstan/phpstan": "^1.11",
+ "phpunit/phpunit": "^9.6",
+ "slim/http": "^1.3",
+ "slim/psr7": "^1.6",
+ "squizlabs/php_codesniffer": "^3.10",
+ "vimeo/psalm": "^5.24"
},
"suggest": {
"ext-simplexml": "Needed to support XML format in BodyParsingMiddleware",
@@ -5465,96 +4772,82 @@
"type": "tidelift"
}
],
- "time": "2022-11-06T16:33:39+00:00"
+ "time": "2024-06-13T08:54:48+00:00"
},
{
- "name": "spatie/array-to-xml",
- "version": "3.1.6",
+ "name": "staabm/side-effects-detector",
+ "version": "1.0.5",
"source": {
"type": "git",
- "url": "https://github.com/spatie/array-to-xml.git",
- "reference": "e210b98957987c755372465be105d32113f339a4"
+ "url": "https://github.com/staabm/side-effects-detector.git",
+ "reference": "d8334211a140ce329c13726d4a715adbddd0a163"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/e210b98957987c755372465be105d32113f339a4",
- "reference": "e210b98957987c755372465be105d32113f339a4",
+ "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163",
+ "reference": "d8334211a140ce329c13726d4a715adbddd0a163",
"shasum": ""
},
"require": {
- "ext-dom": "*",
- "php": "^8.0"
+ "ext-tokenizer": "*",
+ "php": "^7.4 || ^8.0"
},
"require-dev": {
- "mockery/mockery": "^1.2",
- "pestphp/pest": "^1.21",
- "spatie/pest-plugin-snapshots": "^1.1"
+ "phpstan/extension-installer": "^1.4.3",
+ "phpstan/phpstan": "^1.12.6",
+ "phpunit/phpunit": "^9.6.21",
+ "symfony/var-dumper": "^5.4.43",
+ "tomasvotruba/type-coverage": "1.0.0",
+ "tomasvotruba/unused-public": "1.0.0"
},
"type": "library",
"autoload": {
- "psr-4": {
- "Spatie\\ArrayToXml\\": "src"
- }
+ "classmap": [
+ "lib/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
- {
- "name": "Freek Van der Herten",
- "email": "freek@spatie.be",
- "homepage": "https://freek.dev",
- "role": "Developer"
- }
- ],
- "description": "Convert an array to xml",
- "homepage": "https://github.com/spatie/array-to-xml",
+ "description": "A static analysis tool to detect side effects in PHP code",
"keywords": [
- "array",
- "convert",
- "xml"
+ "static analysis"
],
"support": {
- "source": "https://github.com/spatie/array-to-xml/tree/3.1.6"
+ "issues": "https://github.com/staabm/side-effects-detector/issues",
+ "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5"
},
"funding": [
{
- "url": "https://spatie.be/open-source/support-us",
- "type": "custom"
- },
- {
- "url": "https://github.com/spatie",
+ "url": "https://github.com/staabm",
"type": "github"
}
],
- "time": "2023-05-11T14:04:07+00:00"
+ "time": "2024-10-20T05:08:20+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.27.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
+ "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
- "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
+ "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.27-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -5595,7 +4888,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
},
"funding": [
{
@@ -5611,24 +4904,24 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/process",
- "version": "v6.3.0",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628"
+ "reference": "d34b22ba9390ec19d2dd966c40aa9e8462f27a7e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/8741e3ed7fe2e91ec099e02446fb86667a0f1628",
- "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628",
+ "url": "https://api.github.com/repos/symfony/process/zipball/d34b22ba9390ec19d2dd966c40aa9e8462f27a7e",
+ "reference": "d34b22ba9390ec19d2dd966c40aa9e8462f27a7e",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"type": "library",
"autoload": {
@@ -5656,7 +4949,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v6.3.0"
+ "source": "https://github.com/symfony/process/tree/v7.2.0"
},
"funding": [
{
@@ -5672,20 +4965,20 @@
"type": "tidelift"
}
],
- "time": "2023-05-19T08:06:44+00:00"
+ "time": "2024-11-06T14:24:19+00:00"
},
{
"name": "theseer/tokenizer",
- "version": "1.2.1",
+ "version": "1.2.3",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
+ "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
- "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
+ "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
"shasum": ""
},
"require": {
@@ -5714,7 +5007,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.3"
},
"funding": [
{
@@ -5722,7 +5015,7 @@
"type": "github"
}
],
- "time": "2021-07-28T10:34:58+00:00"
+ "time": "2024-03-03T12:36:25+00:00"
},
{
"name": "tuupola/callable-handler",
@@ -5855,33 +5148,33 @@
},
{
"name": "tuupola/slim-basic-auth",
- "version": "3.3.1",
+ "version": "3.4.0",
"source": {
"type": "git",
"url": "https://github.com/tuupola/slim-basic-auth.git",
- "reference": "18e49c18f5648b05bb6169d166ccb6f797f0fbc4"
+ "reference": "4f3061cd1632a28aa7342495011b3467fe0fe1d1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tuupola/slim-basic-auth/zipball/18e49c18f5648b05bb6169d166ccb6f797f0fbc4",
- "reference": "18e49c18f5648b05bb6169d166ccb6f797f0fbc4",
+ "url": "https://api.github.com/repos/tuupola/slim-basic-auth/zipball/4f3061cd1632a28aa7342495011b3467fe0fe1d1",
+ "reference": "4f3061cd1632a28aa7342495011b3467fe0fe1d1",
"shasum": ""
},
"require": {
- "php": "^7.1|^8.0",
- "psr/http-message": "^1.0.1",
+ "php": "^7.2|^8.0",
+ "psr/http-message": "^1.0.1|^2.0",
"psr/http-server-middleware": "^1.0",
"tuupola/callable-handler": "^0.3.0|^0.4.0|^1.0",
"tuupola/http-factory": "^0.4.0|^1.0.2"
},
"require-dev": {
"equip/dispatch": "^2.0",
- "overtrue/phplint": "^2.0.2",
- "phpstan/phpstan": "^0.12.43",
- "phpunit/phpunit": "^7.0|^8.0|^9.0",
- "squizlabs/php_codesniffer": "^3.3.2",
- "symfony/process": "^3.3",
- "zendframework/zend-diactoros": "^1.3|^2.0"
+ "laminas/laminas-diactoros": "^1.3|^2.0|^3.0",
+ "overtrue/phplint": "^3.0|^4.0|^5.0|^6.0",
+ "phpstan/phpstan": "^1.11",
+ "phpunit/phpunit": "^8.5.30|^9.0",
+ "rector/rector": "^0.14.5",
+ "symplify/easy-coding-standard": "^11.1"
},
"type": "library",
"autoload": {
@@ -5910,179 +5203,9 @@
],
"support": {
"issues": "https://github.com/tuupola/slim-basic-auth/issues",
- "source": "https://github.com/tuupola/slim-basic-auth/tree/3.3.1"
- },
- "funding": [
- {
- "url": "https://github.com/tuupola",
- "type": "github"
- }
- ],
- "time": "2020-10-28T15:22:12+00:00"
- },
- {
- "name": "vimeo/psalm",
- "version": "5.13.1",
- "source": {
- "type": "git",
- "url": "https://github.com/vimeo/psalm.git",
- "reference": "086b94371304750d1c673315321a55d15fc59015"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/vimeo/psalm/zipball/086b94371304750d1c673315321a55d15fc59015",
- "reference": "086b94371304750d1c673315321a55d15fc59015",
- "shasum": ""
- },
- "require": {
- "amphp/amp": "^2.4.2",
- "amphp/byte-stream": "^1.5",
- "composer-runtime-api": "^2",
- "composer/semver": "^1.4 || ^2.0 || ^3.0",
- "composer/xdebug-handler": "^2.0 || ^3.0",
- "dnoegel/php-xdg-base-dir": "^0.1.1",
- "ext-ctype": "*",
- "ext-dom": "*",
- "ext-json": "*",
- "ext-libxml": "*",
- "ext-mbstring": "*",
- "ext-simplexml": "*",
- "ext-tokenizer": "*",
- "felixfbecker/advanced-json-rpc": "^3.1",
- "felixfbecker/language-server-protocol": "^1.5.2",
- "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1",
- "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
- "nikic/php-parser": "^4.14",
- "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0",
- "sebastian/diff": "^4.0 || ^5.0",
- "spatie/array-to-xml": "^2.17.0 || ^3.0",
- "symfony/console": "^4.1.6 || ^5.0 || ^6.0",
- "symfony/filesystem": "^5.4 || ^6.0"
- },
- "provide": {
- "psalm/psalm": "self.version"
- },
- "require-dev": {
- "amphp/phpunit-util": "^2.0",
- "bamarni/composer-bin-plugin": "^1.4",
- "brianium/paratest": "^6.9",
- "ext-curl": "*",
- "mockery/mockery": "^1.5",
- "nunomaduro/mock-final-classes": "^1.1",
- "php-parallel-lint/php-parallel-lint": "^1.2",
- "phpstan/phpdoc-parser": "^1.6",
- "phpunit/phpunit": "^9.6",
- "psalm/plugin-mockery": "^1.1",
- "psalm/plugin-phpunit": "^0.18",
- "slevomat/coding-standard": "^8.4",
- "squizlabs/php_codesniffer": "^3.6",
- "symfony/process": "^4.4 || ^5.0 || ^6.0"
- },
- "suggest": {
- "ext-curl": "In order to send data to shepherd",
- "ext-igbinary": "^2.0.5 is required, used to serialize caching data"
- },
- "bin": [
- "psalm",
- "psalm-language-server",
- "psalm-plugin",
- "psalm-refactor",
- "psalter"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.x-dev",
- "dev-4.x": "4.x-dev",
- "dev-3.x": "3.x-dev",
- "dev-2.x": "2.x-dev",
- "dev-1.x": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psalm\\": "src/Psalm/"
- }
- },
- "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",
- "static analysis"
- ],
- "support": {
- "issues": "https://github.com/vimeo/psalm/issues",
- "source": "https://github.com/vimeo/psalm/tree/5.13.1"
- },
- "time": "2023-06-27T16:39:49+00:00"
- },
- {
- "name": "webmozart/assert",
- "version": "1.11.0",
- "source": {
- "type": "git",
- "url": "https://github.com/webmozarts/assert.git",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "shasum": ""
- },
- "require": {
- "ext-ctype": "*",
- "php": "^7.2 || ^8.0"
- },
- "conflict": {
- "phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<4.6.1 || 4.6.2"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5.13"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.10-dev"
- }
- },
- "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.11.0"
+ "source": "https://github.com/tuupola/slim-basic-auth/tree/3.4.0"
},
- "time": "2022-06-03T18:03:27+00:00"
+ "time": "2024-10-01T09:13:06+00:00"
}
],
"aliases": [],
@@ -6091,9 +5214,9 @@
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
- "php": ">=8.1",
+ "php": ">=8.3",
"ext-json": "*"
},
"platform-dev": [],
- "plugin-api-version": "2.3.0"
+ "plugin-api-version": "2.6.0"
}
diff --git a/docs/installation/upgrade.rst b/docs/installation/upgrade.rst
index d5f24ee..127c0ce 100644
--- a/docs/installation/upgrade.rst
+++ b/docs/installation/upgrade.rst
@@ -3,6 +3,18 @@ Upgrading
This section will cover breaking changes between major versions and other related information to ease upgrading to the latest version.
+Migration from v5.x to v6.x
+---------------------------
+
+.. contents:: Changes
+ :local:
+ :depth: 1
+
+PHP version requirement
+^^^^^^^^^^^^^^^^^^^^^^^
+
+``v6.x`` requires ``PHP >= 8.3``.
+
Migration from v4.x to v5.x
---------------------------
diff --git a/features/file-uploads.feature b/features/file-uploads.feature
index 812af76..dcca18a 100644
--- a/features/file-uploads.feature
+++ b/features/file-uploads.feature
@@ -39,7 +39,7 @@ Feature: Test file uploading
},
"file2": {
"name": "attach-files.feature",
- "type": "",
+ "type": "application/octet-stream",
"tmp_name": "@regExp(/.*/)",
"error": 0,
"size": "@regExp(/[0-9]+/)"
diff --git a/phpstan.neon b/phpstan.neon
new file mode 100644
index 0000000..6c51711
--- /dev/null
+++ b/phpstan.neon
@@ -0,0 +1,14 @@
+parameters:
+ level: 8
+ paths:
+ - src
+ - tests
+ ignoreErrors:
+ -
+ message: '#Method [a-zA-Z0-9\\_]+::test#'
+ identifier: missingType.iterableValue
+ path: tests
+ -
+ message: '#Property [a-zA-Z0-9\\_]+::\$historyContainer#'
+ identifier: assign.propertyType
+ path: tests/Context/ApiContextTest.php
\ No newline at end of file
diff --git a/psalm.xml b/psalm.xml
deleted file mode 100644
index e0c1471..0000000
--- a/psalm.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/ArrayContainsComparator.php b/src/ArrayContainsComparator.php
index 925233d..2309a6d 100644
--- a/src/ArrayContainsComparator.php
+++ b/src/ArrayContainsComparator.php
@@ -53,7 +53,7 @@ public function getMatcherFunction(string $name): callable
* To clarify, the method (and other methods in the class) refers to "lists" and "objects". A
* "list" is a numerically indexed array, and an "object" is an associative array.
*
- * @param array $needle
+ * @param array> $needle
* @param array $haystack
*/
public function compare(array $needle, array $haystack): bool
@@ -239,8 +239,8 @@ protected function compareValues(mixed $needleValue, mixed $haystackValue): bool
/**
* Make sure all values in the $needle array is present in the $haystack array
*
- * @param array $needle
- * @param array $haystack
+ * @param array|scalar> $needle
+ * @param array $haystack
*/
protected function inArray(array $needle, array $haystack): bool
{
@@ -350,6 +350,8 @@ protected function inArray(array $needle, array $haystack): bool
/**
* See if a PHP array is a JSON array
+ *
+ * @param array $array
*/
protected function arrayIsList(array $array): bool
{
@@ -360,6 +362,8 @@ protected function arrayIsList(array $array): bool
/**
* See if a PHP array is a JSON object
+ *
+ * @param array $array
*/
protected function arrayIsObject(array $array): bool
{
diff --git a/src/ArrayContainsComparator/Matcher/ArrayLength.php b/src/ArrayContainsComparator/Matcher/ArrayLength.php
index 3ad8939..bc0a2a7 100644
--- a/src/ArrayContainsComparator/Matcher/ArrayLength.php
+++ b/src/ArrayContainsComparator/Matcher/ArrayLength.php
@@ -11,7 +11,7 @@ class ArrayLength
/**
* Match the exact length of an array
*
- * @param array $array An array
+ * @param array $array An array
* @param int|string $length The expected exact length of $array
* @throws InvalidArgumentException
*/
diff --git a/src/ArrayContainsComparator/Matcher/ArrayMaxLength.php b/src/ArrayContainsComparator/Matcher/ArrayMaxLength.php
index a0e824f..9f44a77 100644
--- a/src/ArrayContainsComparator/Matcher/ArrayMaxLength.php
+++ b/src/ArrayContainsComparator/Matcher/ArrayMaxLength.php
@@ -11,7 +11,7 @@ class ArrayMaxLength
/**
* Match the max length of an array
*
- * @param array $array An array
+ * @param array $array An array
* @param int|string $maxLength The expected maximum length of $array
* @throws InvalidArgumentException
*/
diff --git a/src/ArrayContainsComparator/Matcher/ArrayMinLength.php b/src/ArrayContainsComparator/Matcher/ArrayMinLength.php
index 2313529..a7900d4 100644
--- a/src/ArrayContainsComparator/Matcher/ArrayMinLength.php
+++ b/src/ArrayContainsComparator/Matcher/ArrayMinLength.php
@@ -11,7 +11,7 @@ class ArrayMinLength
/**
* Match the min length of an array
*
- * @param array $array An array
+ * @param array $array An array
* @param int|string $minLength The expected minimum length of $array
* @throws InvalidArgumentException
*/
diff --git a/src/ArrayContainsComparator/Matcher/JWT.php b/src/ArrayContainsComparator/Matcher/JWT.php
index 5ed116a..8a95746 100644
--- a/src/ArrayContainsComparator/Matcher/JWT.php
+++ b/src/ArrayContainsComparator/Matcher/JWT.php
@@ -19,7 +19,7 @@ class JWT
/**
* JWT tokens present in the response body
*
- * @var array
+ * @var array,secret:string}>
*/
private array $jwtTokens = [];
@@ -41,6 +41,8 @@ public function __construct(Comparator $comparator)
/**
* Add a JWT token that can be matched
+ *
+ * @param array $payload
*/
public function addToken(string $name, array $payload, string $secret): self
{
diff --git a/src/Context/ApiClientAwareContext.php b/src/Context/ApiClientAwareContext.php
index 78d677e..79b0497 100644
--- a/src/Context/ApiClientAwareContext.php
+++ b/src/Context/ApiClientAwareContext.php
@@ -10,6 +10,8 @@ interface ApiClientAwareContext extends Context
{
/**
* Initialize the Guzzle client
+ *
+ * @param array $config
*/
public function initializeClient(array $config): self;
}
diff --git a/src/Context/ApiContext.php b/src/Context/ApiContext.php
index 4f367fd..631e26a 100644
--- a/src/Context/ApiContext.php
+++ b/src/Context/ApiContext.php
@@ -86,6 +86,7 @@ class ApiContext implements ApiClientAwareContext, ArrayContainsComparatorAwareC
/**
* Set the client instance
*
+ * @param array $config
* @throws InvalidArgumentException
*/
public function initializeClient(array $config): static
@@ -1409,7 +1410,7 @@ protected function getResponseBody(): array|stdClass
* Get the response body as an array
*
* @throws InvalidArgumentException
- * @return array
+ * @return array
*/
protected function getResponseBodyArray(): array
{
diff --git a/src/Context/Initializer/ApiClientAwareInitializer.php b/src/Context/Initializer/ApiClientAwareInitializer.php
index ae4137a..322bf0b 100644
--- a/src/Context/Initializer/ApiClientAwareInitializer.php
+++ b/src/Context/Initializer/ApiClientAwareInitializer.php
@@ -13,7 +13,7 @@
class ApiClientAwareInitializer implements ContextInitializer
{
/**
- * @var array Guzzle client configuration array
+ * @var array Guzzle client configuration array
* @see http://docs.guzzlephp.org/ Check out the Guzzle docs for a complete overview of available configuration parameters
*/
private array $config = [];
@@ -21,7 +21,7 @@ class ApiClientAwareInitializer implements ContextInitializer
/**
* Class constructor
*
- * @param array $config Guzzle client configuration array
+ * @param array $config Guzzle client configuration array
*/
public function __construct(array $config)
{
diff --git a/src/Exception/ArrayContainsComparatorException.php b/src/Exception/ArrayContainsComparatorException.php
index 8476d65..9f1e97b 100644
--- a/src/Exception/ArrayContainsComparatorException.php
+++ b/src/Exception/ArrayContainsComparatorException.php
@@ -1,14 +1,14 @@
} $config Guzzle client configuration array
* @see http://docs.guzzlephp.org/ Check out the Guzzle docs for a complete overview of available configuration parameters
*/
public function load(ContainerBuilder $container, array $config): void
diff --git a/tests/ArrayContainsComparator/Matcher/ArrayLengthTest.php b/tests/ArrayContainsComparator/Matcher/ArrayLengthTest.php
index 9aa11c6..0c26df5 100644
--- a/tests/ArrayContainsComparator/Matcher/ArrayLengthTest.php
+++ b/tests/ArrayContainsComparator/Matcher/ArrayLengthTest.php
@@ -2,11 +2,11 @@
namespace Imbo\BehatApiExtension\ArrayContainsComparator\Matcher;
use InvalidArgumentException;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
-/**
- * @coversDefaultClass Imbo\BehatApiExtension\ArrayContainsComparator\Matcher\ArrayLength
- */
+#[CoversClass(ArrayLength::class)]
class ArrayLengthTest extends TestCase
{
private ArrayLength $matcher;
@@ -38,41 +38,35 @@ public static function getArraysAndLengths(): array
}
/**
- * @return array,maxLength:int,message:string}>
+ * @return array,maxLength:int,message:string}>
*/
public static function getValuesThatFail(): array
{
return [
[
- 'array' => [1, 2],
+ 'list' => [1, 2],
'maxLength' => 1,
'message' => 'Expected array to have exactly 1 entries, actual length: 2.',
],
[
- 'array' => [],
+ 'list' => [],
'maxLength' => 2,
'message' => 'Expected array to have exactly 2 entries, actual length: 0.',
],
];
}
- /**
- * @dataProvider getArraysAndLengths
- * @covers ::__invoke
- */
- public function testCanMatchLengthOfArrays(array $array, int $length): void
+ #[DataProvider('getArraysAndLengths')]
+ public function testCanMatchLengthOfArrays(array $list, int $length): void
{
$matcher = $this->matcher;
$this->assertTrue(
- $matcher($array, $length),
+ $matcher($list, $length),
'Matcher is supposed to return true.',
);
}
- /**
- * @covers ::__invoke
- */
public function testThrowsExceptionWhenMatchingLengthAgainstAnythingOtherThanAnArray(): void
{
$this->expectException(InvalidArgumentException::class);
@@ -81,15 +75,12 @@ public function testThrowsExceptionWhenMatchingLengthAgainstAnythingOtherThanAnA
$matcher(['foo' => 'bar'], 123);
}
- /**
- * @dataProvider getValuesThatFail
- * @covers ::__invoke
- */
- public function testThrowsExceptionWhenLengthIsNotCorrect(array $array, int $length, string $message): void
+ #[DataProvider('getValuesThatFail')]
+ public function testThrowsExceptionWhenLengthIsNotCorrect(array $list, int $maxLength, string $message): void
{
$this->expectException(InvalidArgumentException::class);
$this->expectExceptionMessage($message);
$matcher = $this->matcher;
- $matcher($array, $length);
+ $matcher($list, $maxLength);
}
}
diff --git a/tests/ArrayContainsComparator/Matcher/ArrayMaxLengthTest.php b/tests/ArrayContainsComparator/Matcher/ArrayMaxLengthTest.php
index 02bbced..8066c63 100644
--- a/tests/ArrayContainsComparator/Matcher/ArrayMaxLengthTest.php
+++ b/tests/ArrayContainsComparator/Matcher/ArrayMaxLengthTest.php
@@ -2,11 +2,11 @@
namespace Imbo\BehatApiExtension\ArrayContainsComparator\Matcher;
use InvalidArgumentException;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
-/**
- * @coversDefaultClass Imbo\BehatApiExtension\ArrayContainsComparator\Matcher\ArrayMaxLength
- */
+#[CoversClass(ArrayMaxLength::class)]
class ArrayMaxLengthTest extends TestCase
{
private ArrayMaxLength $matcher;
@@ -56,22 +56,16 @@ public static function getValuesThatFail(): array
];
}
- /**
- * @dataProvider getArraysAndLengths
- * @covers ::__invoke
- */
- public function testCanMatchMaxLengthOfArrays(array $array, int $length): void
+ #[DataProvider('getArraysAndLengths')]
+ public function testCanMatchMaxLengthOfArrays(array $list, int $length): void
{
$matcher = $this->matcher;
$this->assertTrue(
- $matcher($array, $length),
+ $matcher($list, $length),
'Matcher is supposed to return true.',
);
}
- /**
- * @covers ::__invoke
- */
public function testThrowsExceptionWhenMatchingAgainstAnythingOtherThanAnArray(): void
{
$this->expectException(InvalidArgumentException::class);
@@ -80,10 +74,7 @@ public function testThrowsExceptionWhenMatchingAgainstAnythingOtherThanAnArray()
$matcher(['foo' => 'bar'], 123);
}
- /**
- * @dataProvider getValuesThatFail
- * @covers ::__invoke
- */
+ #[DataProvider('getValuesThatFail')]
public function testThrowsExceptionWhenLengthIsTooShort(array $array, int $maxLength, string $message): void
{
$this->expectException(InvalidArgumentException::class);
diff --git a/tests/ArrayContainsComparator/Matcher/ArrayMinLengthTest.php b/tests/ArrayContainsComparator/Matcher/ArrayMinLengthTest.php
index 77824a1..eb7c64e 100644
--- a/tests/ArrayContainsComparator/Matcher/ArrayMinLengthTest.php
+++ b/tests/ArrayContainsComparator/Matcher/ArrayMinLengthTest.php
@@ -2,11 +2,11 @@
namespace Imbo\BehatApiExtension\ArrayContainsComparator\Matcher;
use InvalidArgumentException;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
-/**
- * @coversDefaultClass Imbo\BehatApiExtension\ArrayContainsComparator\Matcher\ArrayMinLength
- */
+#[CoversClass(ArrayMinLength::class)]
class ArrayMinLengthTest extends TestCase
{
private ArrayMinLength $matcher;
@@ -56,22 +56,16 @@ public static function getValuesThatFail(): array
];
}
- /**
- * @dataProvider getArraysAndMinLengths
- * @covers ::__invoke
- */
- public function testCanMatchMinLengthOfArrays(array $array, int $min): void
+ #[DataProvider('getArraysAndMinLengths')]
+ public function testCanMatchMinLengthOfArrays(array $list, int $min): void
{
$matcher = $this->matcher;
$this->assertTrue(
- $matcher($array, $min),
+ $matcher($list, $min),
'Matcher is supposed to return true.',
);
}
- /**
- * @covers ::__invoke
- */
public function testThrowsExceptionWhenMatchingAgainstAnythingOtherThanAnArray(): void
{
$this->expectException(InvalidArgumentException::class);
@@ -80,10 +74,7 @@ public function testThrowsExceptionWhenMatchingAgainstAnythingOtherThanAnArray()
$matcher(['foo' => 'bar'], 123);
}
- /**
- * @dataProvider getValuesThatFail
- * @covers ::__invoke
- */
+ #[DataProvider('getValuesThatFail')]
public function testThrowsExceptionWhenLengthIsTooLong(array $array, int $minLength, string $message): void
{
$this->expectException(InvalidArgumentException::class);
diff --git a/tests/ArrayContainsComparator/Matcher/GreaterThanTest.php b/tests/ArrayContainsComparator/Matcher/GreaterThanTest.php
index a41a657..bdf7098 100644
--- a/tests/ArrayContainsComparator/Matcher/GreaterThanTest.php
+++ b/tests/ArrayContainsComparator/Matcher/GreaterThanTest.php
@@ -2,11 +2,11 @@
namespace Imbo\BehatApiExtension\ArrayContainsComparator\Matcher;
use InvalidArgumentException;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
-/**
- * @coversDefaultClass Imbo\BehatApiExtension\ArrayContainsComparator\Matcher\GreaterThan
- */
+#[CoversClass(GreaterThan::class)]
class GreaterThanTest extends TestCase
{
private GreaterThan $matcher;
@@ -66,10 +66,7 @@ public static function getFailingValues(): array
];
}
- /**
- * @dataProvider getValuesForMatching
- * @covers ::__invoke
- */
+ #[DataProvider('getValuesForMatching')]
public function testCanCompareValuesOfType(int|float|string $number, int|float|string $min): void
{
$matcher = $this->matcher;
@@ -79,9 +76,6 @@ public function testCanCompareValuesOfType(int|float|string $number, int|float|s
);
}
- /**
- * @covers ::__invoke
- */
public function testThrowsExceptionIfNumberIsNotNumeric(): void
{
$matcher = $this->matcher;
@@ -90,9 +84,6 @@ public function testThrowsExceptionIfNumberIsNotNumeric(): void
$matcher('foo', 123);
}
- /**
- * @covers ::__invoke
- */
public function testThrowsExceptionIfMinimumNumberIsNotNumeric(): void
{
$matcher = $this->matcher;
@@ -101,10 +92,7 @@ public function testThrowsExceptionIfMinimumNumberIsNotNumeric(): void
$matcher(123, 'foo');
}
- /**
- * @dataProvider getFailingValues
- * @covers ::__invoke
- */
+ #[DataProvider('getFailingValues')]
public function testThrowsExceptionWhenComparisonFails(int|string|float $number, int|string|float $min, string $errorMessage): void
{
$matcher = $this->matcher;
diff --git a/tests/ArrayContainsComparator/Matcher/JWTTest.php b/tests/ArrayContainsComparator/Matcher/JWTTest.php
index 5280567..2227e7d 100644
--- a/tests/ArrayContainsComparator/Matcher/JWTTest.php
+++ b/tests/ArrayContainsComparator/Matcher/JWTTest.php
@@ -4,11 +4,11 @@
use Imbo\BehatApiExtension\ArrayContainsComparator;
use Imbo\BehatApiExtension\Exception\ArrayContainsComparatorException;
use InvalidArgumentException;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
-/**
- * @coversDefaultClass Imbo\BehatApiExtension\ArrayContainsComparator\Matcher\JWT
- */
+#[CoversClass(JWT::class)]
class JWTTest extends TestCase
{
private JWT $matcher;
@@ -45,9 +45,6 @@ public static function getJwt(): array
];
}
- /**
- * @covers ::__invoke
- */
public function testThrowsExceptionWhenMatchingAgainstJwtThatDoesNotExist(): void
{
$matcher = $this->matcher;
@@ -56,10 +53,6 @@ public function testThrowsExceptionWhenMatchingAgainstJwtThatDoesNotExist(): voi
$matcher('some jwt', 'some name');
}
- /**
- * @covers ::addToken
- * @covers ::__invoke
- */
public function testThrowsExceptionWhenJwtDoesNotMatch(): void
{
$matcher = $this->matcher->addToken('some name', ['some' => 'data'], 'secret');
@@ -71,10 +64,7 @@ public function testThrowsExceptionWhenJwtDoesNotMatch(): void
);
}
- /**
- * @covers ::__invoke
- * @dataProvider getJwt
- */
+ #[DataProvider('getJwt')]
public function testCanMatchJwt(string $jwt, string $name, array $payload, string $secret): void
{
$matcher = $this->matcher->addToken($name, $payload, $secret);
@@ -84,10 +74,6 @@ public function testCanMatchJwt(string $jwt, string $name, array $payload, strin
));
}
- /**
- * @covers ::__construct
- * @covers ::__invoke
- */
public function testThrowsExceptionWhenComparatorDoesNotReturnSuccess(): void
{
$comparator = $this->createConfiguredMock(ArrayContainsComparator::class, [
diff --git a/tests/ArrayContainsComparator/Matcher/LessThanTest.php b/tests/ArrayContainsComparator/Matcher/LessThanTest.php
index c8db33e..68e4098 100644
--- a/tests/ArrayContainsComparator/Matcher/LessThanTest.php
+++ b/tests/ArrayContainsComparator/Matcher/LessThanTest.php
@@ -2,11 +2,11 @@
namespace Imbo\BehatApiExtension\ArrayContainsComparator\Matcher;
use InvalidArgumentException;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
-/**
- * @coversDefaultClass Imbo\BehatApiExtension\ArrayContainsComparator\Matcher\LessThan
- */
+#[CoversClass(LessThan::class)]
class LessThanTest extends TestCase
{
private LessThan $matcher;
@@ -66,10 +66,7 @@ public static function getFailingValues(): array
];
}
- /**
- * @dataProvider getValuesForMatching
- * @covers ::__invoke
- */
+ #[DataProvider('getValuesForMatching')]
public function testCanCompareValuesOfType(int|string $number, int|string|float $max): void
{
$matcher = $this->matcher;
@@ -79,9 +76,6 @@ public function testCanCompareValuesOfType(int|string $number, int|string|float
);
}
- /**
- * @covers ::__invoke
- */
public function testThrowsExceptionIfNumberIsNotNumeric(): void
{
$matcher = $this->matcher;
@@ -90,9 +84,6 @@ public function testThrowsExceptionIfNumberIsNotNumeric(): void
$matcher('foo', 123);
}
- /**
- * @covers ::__invoke
- */
public function testThrowsExceptionIfMaximumNumberIsNotNumeric(): void
{
$matcher = $this->matcher;
@@ -101,10 +92,7 @@ public function testThrowsExceptionIfMaximumNumberIsNotNumeric(): void
$matcher(123, 'foo');
}
- /**
- * @dataProvider getFailingValues
- * @covers ::__invoke
- */
+ #[DataProvider('getFailingValues')]
public function testThrowsExceptionWhenComparisonFails(int|float|string $number, int|float|string $max, string $errorMessage): void
{
$this->expectException(InvalidArgumentException::class);
diff --git a/tests/ArrayContainsComparator/Matcher/RegExpTest.php b/tests/ArrayContainsComparator/Matcher/RegExpTest.php
index b5b57ba..e5e4ec3 100644
--- a/tests/ArrayContainsComparator/Matcher/RegExpTest.php
+++ b/tests/ArrayContainsComparator/Matcher/RegExpTest.php
@@ -2,11 +2,11 @@
namespace Imbo\BehatApiExtension\ArrayContainsComparator\Matcher;
use InvalidArgumentException;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
-/**
- * @coversDefaultClass Imbo\BehatApiExtension\ArrayContainsComparator\Matcher\RegExp
- */
+#[CoversClass(RegExp::class)]
class RegExpTest extends TestCase
{
private RegExp $matcher;
@@ -37,19 +37,13 @@ public static function getSubjectsAndPatterns(): array
];
}
- /**
- * @dataProvider getSubjectsAndPatterns
- * @covers ::__invoke
- */
+ #[DataProvider('getSubjectsAndPatterns')]
public function testCanMatchRegularExpressionPatternsAgainst(float|int|string $subject, string $pattern): void
{
$matcher = $this->matcher;
$this->assertTrue($matcher($subject, $pattern));
}
- /**
- * @covers ::__invoke
- */
public function testThrowsExceptionIfPatternDoesNotMatchSubject(): void
{
$matcher = $this->matcher;
diff --git a/tests/ArrayContainsComparator/Matcher/VariableTypeTest.php b/tests/ArrayContainsComparator/Matcher/VariableTypeTest.php
index 4f5d11c..c39c4c2 100644
--- a/tests/ArrayContainsComparator/Matcher/VariableTypeTest.php
+++ b/tests/ArrayContainsComparator/Matcher/VariableTypeTest.php
@@ -2,11 +2,11 @@
namespace Imbo\BehatApiExtension\ArrayContainsComparator\Matcher;
use InvalidArgumentException;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
-/**
- * @coversDefaultClass Imbo\BehatApiExtension\ArrayContainsComparator\Matcher\VariableType
- */
+#[CoversClass(VariableType::class)]
class VariableTypeTest extends TestCase
{
private VariableType $matcher;
@@ -158,11 +158,7 @@ public static function getInvalidMatches(): array
];
}
- /**
- * @dataProvider getValuesAndTypes
- * @covers ::__invoke
- * @covers ::normalizeTypes
- */
+ #[DataProvider('getValuesAndTypes')]
public function testCanMatchValuesOfType(mixed $value, string $type): void
{
$matcher = $this->matcher;
@@ -172,9 +168,6 @@ public function testCanMatchValuesOfType(mixed $value, string $type): void
);
}
- /**
- * @covers ::__invoke
- */
public function testThrowsExceptionWhenGivenInvalidType(): void
{
$matcher = $this->matcher;
@@ -183,10 +176,7 @@ public function testThrowsExceptionWhenGivenInvalidType(): void
$matcher('foo', 'resource');
}
- /**
- * @dataProvider getInvalidMatches
- * @covers ::__invoke
- */
+ #[DataProvider('getInvalidMatches')]
public function testThrowsExceptionWhenTypeOfValueDoesNotMatchExpectedType(mixed $value, string $type, string $message): void
{
$matcher = $this->matcher;
diff --git a/tests/ArrayContainsComparatorTest.php b/tests/ArrayContainsComparatorTest.php
index bcac929..978f2e9 100644
--- a/tests/ArrayContainsComparatorTest.php
+++ b/tests/ArrayContainsComparatorTest.php
@@ -4,11 +4,11 @@
use Imbo\BehatApiExtension\ArrayContainsComparator\Matcher;
use Imbo\BehatApiExtension\Exception\ArrayContainsComparatorException;
use InvalidArgumentException;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
-/**
- * @coversDefaultClass Imbo\BehatApiExtension\ArrayContainsComparator
- */
+#[CoversClass(ArrayContainsComparator::class)]
class ArrayContainsComparatorTest extends TestCase
{
private ArrayContainsComparator $comparator;
@@ -19,7 +19,7 @@ public function setUp(): void
}
/**
- * @return array
+ * @return array,haystack:array}>
*/
public static function getDataForInArrayCheck(): array
{
@@ -165,7 +165,7 @@ public static function getDataForInArrayCheck(): array
}
/**
- * @return array
+ * @return array,haystack:array}>
*/
public static function getDataForCompareCheck(): array
{
@@ -210,7 +210,7 @@ public static function getDataForCompareCheck(): array
}
/**
- * @return array
+ * @return array,haystack:array}>
*/
public static function getDataForSpecificKeyInListChecks(): array
{
@@ -509,9 +509,6 @@ public static function getCustomFunctionsAndDataThatWillFail(): array
];
}
- /**
- * @covers ::compare
- */
public function testThrowsExceptionWhenMatchingANumericallyIndexedArrayAgainstAnAssociativeArray(): void
{
$this->expectException(ArrayContainsComparatorException::class);
@@ -539,14 +536,7 @@ public function testThrowsExceptionWhenMatchingANumericallyIndexedArrayAgainstAn
$this->comparator->compare([1, 2, 3], ['foo' => 'bar']);
}
- /**
- * @dataProvider getDataForInArrayCheck
- * @covers ::compare
- * @covers ::inArray
- * @covers ::compareValues
- * @covers ::arrayIsList
- * @covers ::arrayIsObject
- */
+ #[DataProvider('getDataForInArrayCheck')]
public function testCanRecursivelyDoInArrayChecksWith(array $needle, array $haystack): void
{
$this->assertTrue(
@@ -555,10 +545,6 @@ public function testCanRecursivelyDoInArrayChecksWith(array $needle, array $hays
);
}
- /**
- * @covers ::compare
- * @covers ::inArray
- */
public function testThrowsExceptionWhenNeedleValueIsAListAndHaystackDoesNotContainAnyLists(): void
{
$this->expectException(ArrayContainsComparatorException::class);
@@ -584,10 +570,6 @@ public function testThrowsExceptionWhenNeedleValueIsAListAndHaystackDoesNotConta
$this->comparator->compare([[1]], [1]);
}
- /**
- * @covers ::compare
- * @covers ::inArray
- */
public function testThrowsExceptionWhenNeedleValueIsAnObjectAndHaystackDoesNotContainAnyObjects(): void
{
$this->expectException(ArrayContainsComparatorException::class);
@@ -621,10 +603,6 @@ public function testThrowsExceptionWhenNeedleValueIsAnObjectAndHaystackDoesNotCo
]);
}
- /**
- * @covers ::compare
- * @covers ::inArray
- */
public function testThrowsExceptionWhenHaystackListIsMissingValuesFromNeedleList(): void
{
$this->expectException(ArrayContainsComparatorException::class);
@@ -668,10 +646,6 @@ public function testThrowsExceptionWhenHaystackListIsMissingValuesFromNeedleList
]);
}
- /**
- * @covers ::compare
- * @covers ::inArray
- */
public function testThrowsExceptionWhenHaystackObjectIsMissingValuesFromNeedleObject(): void
{
$this->expectException(ArrayContainsComparatorException::class);
@@ -735,13 +709,7 @@ public function testThrowsExceptionWhenHaystackObjectIsMissingValuesFromNeedleOb
]);
}
- /**
- * @dataProvider getDataForCompareCheck
- * @covers ::compare
- * @covers ::compareValues
- * @covers ::arrayIsList
- * @covers ::arrayIsObject
- */
+ #[DataProvider('getDataForCompareCheck')]
public function testCanRecursivelyCompareAssociativeArraysWith(array $needle, array $haystack): void
{
$this->assertTrue(
@@ -750,9 +718,6 @@ public function testCanRecursivelyCompareAssociativeArraysWith(array $needle, ar
);
}
- /**
- * @covers ::compare
- */
public function testThrowsExceptionWhenComparingObjectsAndKeyIsMissingFromHaystack(): void
{
$this->expectException(ArrayContainsComparatorException::class);
@@ -785,9 +750,6 @@ public function testThrowsExceptionWhenComparingObjectsAndKeyIsMissingFromHaysta
], ]);
}
- /**
- * @covers ::compare
- */
public function testThrowsExceptionWhenRegularStringKeyValueDoesNotMatch(): void
{
$this->expectException(ArrayContainsComparatorException::class);
@@ -817,10 +779,6 @@ public function testThrowsExceptionWhenRegularStringKeyValueDoesNotMatch(): void
]);
}
- /**
- * @covers ::compare
- * @covers ::compareValues
- */
public function testCanRecursivelyMatchKeysInObjects(): void
{
$this->assertTrue(
@@ -849,9 +807,6 @@ public function testCanRecursivelyMatchKeysInObjects(): void
);
}
- /**
- * @covers ::compare
- */
public function testThrowsExceptionWhenRegularStringKeyValueInDeepObjectDoesNotMatch(): void
{
$this->expectException(ArrayContainsComparatorException::class);
@@ -893,11 +848,7 @@ public function testThrowsExceptionWhenRegularStringKeyValueInDeepObjectDoesNotM
]);
}
- /**
- * @dataProvider getDataForSpecificKeyInListChecks
- * @covers ::compare
- * @covers ::compareValues
- */
+ #[DataProvider('getDataForSpecificKeyInListChecks')]
public function testCanCompareSpecificIndexesInAListWith(array $needle, array $haystack): void
{
$this->assertTrue(
@@ -906,9 +857,6 @@ public function testCanCompareSpecificIndexesInAListWith(array $needle, array $h
);
}
- /**
- * @covers ::compare
- */
public function testThrowsExceptionWhenTargetingAListIndexWithAKeyThatDoesNotExist(): void
{
$this->expectException(ArrayContainsComparatorException::class);
@@ -938,10 +886,7 @@ public function testThrowsExceptionWhenTargetingAListIndexWithAKeyThatDoesNotExi
]);
}
- /**
- * @dataProvider getDataForSpecificKeyInListChecksWithInvalidData
- * @covers ::compare
- */
+ #[DataProvider('getDataForSpecificKeyInListChecksWithInvalidData')]
public function testThrowsExceptionWhenTargetingAListIndexWithAKeyThatContains(array $needle, array $haystack, string $exceptionMessage): void
{
$this->expectException(ArrayContainsComparatorException::class);
@@ -949,9 +894,6 @@ public function testThrowsExceptionWhenTargetingAListIndexWithAKeyThatContains(a
$this->comparator->compare($needle, $haystack);
}
- /**
- * @covers ::compare
- */
public function testThrowsExceptionWhenTargetingAListIndexThatDoesNotExist(): void
{
$this->expectException(ArrayContainsComparatorException::class);
@@ -987,9 +929,6 @@ public function testThrowsExceptionWhenTargetingAListIndexThatDoesNotExist(): vo
]);
}
- /**
- * @covers ::compare
- */
public function testThrowsExceptionOnValueMismatchWhenTargetingSpecificIndexInList(): void
{
$this->expectException(ArrayContainsComparatorException::class);
@@ -1015,12 +954,7 @@ public function testThrowsExceptionOnValueMismatchWhenTargetingSpecificIndexInLi
]);
}
- /**
- * @dataProvider getCustomFunctionsAndData
- * @covers ::addFunction
- * @covers ::compare
- * @covers ::compareValues
- */
+ #[DataProvider('getCustomFunctionsAndData')]
public function testCanUseCustomFunctionMatcher(string $function, callable $callback, array $needle, array $haystack): void
{
$this->assertTrue(
@@ -1031,10 +965,6 @@ public function testCanUseCustomFunctionMatcher(string $function, callable $call
);
}
- /**
- * @covers ::compare
- * @covers ::compareValues
- */
public function testPerformsARegularStringComparisonWhenSpecifiedCustomFunctionMatcherDoesNotExist(): void
{
$this->expectException(ArrayContainsComparatorException::class);
@@ -1063,12 +993,7 @@ public function testPerformsARegularStringComparisonWhenSpecifiedCustomFunctionM
);
}
- /**
- * @dataProvider getCustomFunctionsAndDataThatWillFail
- * @covers ::addFunction
- * @covers ::compare
- * @covers ::compareValues
- */
+ #[DataProvider('getCustomFunctionsAndDataThatWillFail')]
public function testThrowsExceptionWhenCustomFunctionMatcherFails(string $function, callable $callback, array $needle, array $haystack, string $errorMessage): void
{
$this->expectException(ArrayContainsComparatorException::class);
@@ -1081,10 +1006,6 @@ public function testThrowsExceptionWhenCustomFunctionMatcherFails(string $functi
);
}
- /**
- * @covers ::compare
- * @covers ::inArray
- */
public function testSupportsInArrayCheckWhenListsAreInADeepStructure(): void
{
$needle = [
@@ -1140,9 +1061,6 @@ public function testSupportsInArrayCheckWhenListsAreInADeepStructure(): void
$this->assertTrue($this->comparator->compare($needle, $haystack));
}
- /**
- * @covers ::getMatcherFunction
- */
public function testCanReturnRegisteredMatcherFunction(): void
{
$f = fn (): bool => true;
@@ -1154,9 +1072,6 @@ public function testCanReturnRegisteredMatcherFunction(): void
);
}
- /**
- * @covers ::getMatcherFunction
- */
public function testThrowsExceptionWhenGettingFunctionThatDoesNotExist(): void
{
$this->expectException(InvalidArgumentException::class);
diff --git a/tests/Context/ApiContextTest.php b/tests/Context/ApiContextTest.php
index a7d94e2..4910017 100644
--- a/tests/Context/ApiContextTest.php
+++ b/tests/Context/ApiContextTest.php
@@ -15,6 +15,8 @@
use Imbo\BehatApiExtension\Exception\AssertionFailedException;
use InvalidArgumentException;
use OutOfRangeException;
+use PHPUnit\Framework\Attributes\CoversClass;
+use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
use RuntimeException;
@@ -46,9 +48,7 @@ function is_readable(string $path): bool
return \is_readable($path);
}
-/**
- * @coversDefaultClass Imbo\BehatApiExtension\Context\ApiContext
- */
+#[CoversClass(ApiContext::class)]
class ApiContextTest extends TestCase
{
private ApiContext $context;
@@ -92,26 +92,22 @@ public static function getHttpMethods(): array
}
/**
- * @return array}>
+ * @return array
*/
public static function getResponseCodes(): array
{
return [
[
'code' => 200,
- 'others' => [300, 400, 500],
],
[
'code' => 300,
- 'others' => [200, 400, 500],
],
[
'code' => 400,
- 'others' => [200, 300, 500],
],
[
'code' => 500,
- 'others' => [200, 300, 400],
],
];
}
@@ -387,9 +383,6 @@ public static function getHttpMethodsForFormParametersTest(): array
];
}
- /**
- * @covers ::setRequestHeader
- */
public function testCanSetRequestHeaders(): void
{
$this->mockHandler->append(new Response(200));
@@ -409,9 +402,6 @@ public function testCanSetRequestHeaders(): void
$this->assertSame('bar', $request->getHeaderLine('bar'));
}
- /**
- * @covers ::addRequestHeader
- */
public function testCanAddRequestHeaders(): void
{
$this->mockHandler->append(new Response(200));
@@ -431,9 +421,6 @@ public function testCanAddRequestHeaders(): void
$this->assertSame('foo, bar', $request->getHeaderLine('bar'));
}
- /**
- * @covers ::setBasicAuth
- */
public function testSupportBasicHttpAuthentication(): void
{
$this->mockHandler->append(new Response(200));
@@ -450,9 +437,6 @@ public function testSupportBasicHttpAuthentication(): void
$this->assertSame('Basic dXNlcjpwYXNz', $request->getHeaderLine('authorization'));
}
- /**
- * @covers ::oauthWithPasswordGrantInScope
- */
public function testSupportOAuthWithPasswordGrant(): void
{
$this->mockHandler->append(new Response(200, [], '{"access_token": "some_access_token"}'));
@@ -494,9 +478,6 @@ public function testSupportOAuthWithPasswordGrant(): void
$this->assertSame('Bearer some_access_token', $request->getHeaderLine('authorization'));
}
- /**
- * @covers ::oauthWithPasswordGrantInScope
- */
public function testThrowsExceptionWhenOauthAccessTokenRequestFails(): void
{
$this->mockHandler->append(new Response(401, [], '{"error": "some_error"}'));
@@ -506,9 +487,6 @@ public function testThrowsExceptionWhenOauthAccessTokenRequestFails(): void
$this->context->oauthWithPasswordGrantInScope('/path', 'username', 'password', 'scope', 'client_id', 'client_secret');
}
- /**
- * @covers ::oauthWithPasswordGrantInScope
- */
public function testThrowsExceptionWhenOauthAccessTokenIsMissingFromResponse(): void
{
$this->mockHandler->append(new Response(200, [], '{"foo": "bar"}'));
@@ -518,10 +496,6 @@ public function testThrowsExceptionWhenOauthAccessTokenIsMissingFromResponse():
$this->context->oauthWithPasswordGrantInScope('/path', 'username', 'password', 'scope', 'client_id', 'client_secret');
}
- /**
- * @covers ::addMultipartFileToRequest
- * @covers ::addMultipartPart
- */
public function testCanAddMultipleMultipartFilesToTheRequest(): void
{
$this->mockHandler->append(new Response(200));
@@ -555,10 +529,6 @@ public function testCanAddMultipleMultipartFilesToTheRequest(): void
}
}
- /**
- * @covers ::setRequestMultipartFormParams
- * @covers ::addMultipartPart
- */
public function testCanAddMultipartFormDataParametersToTheRequest(): void
{
$this->mockHandler->append(new Response(200));
@@ -582,10 +552,6 @@ public function testCanAddMultipartFormDataParametersToTheRequest(): void
$this->assertSame(sprintf('multipart/form-data; boundary=%s', $boundary), $request->getHeaderLine('Content-Type'));
}
- /**
- * @covers ::setRequestFormParams
- * @covers ::sendRequest
- */
public function testCanSetFormParametersInTheRequest(): void
{
$this->mockHandler->append(new Response(200));
@@ -607,11 +573,7 @@ public function testCanSetFormParametersInTheRequest(): void
$this->assertSame('foo=bar&bar%5B0%5D=foo&bar%5B1%5D=bar', (string) $request->getBody());
}
- /**
- * @dataProvider getHttpMethodsForFormParametersTest
- * @covers ::setRequestFormParams
- * @covers ::sendRequest
- */
+ #[DataProvider('getHttpMethodsForFormParametersTest')]
public function testCanSetFormParametersInTheRequestWithCustomMethod(string $httpMethod): void
{
$this->mockHandler->append(new Response(200));
@@ -633,9 +595,6 @@ public function testCanSetFormParametersInTheRequestWithCustomMethod(string $htt
$this->assertSame('foo=bar&bar%5B0%5D=foo&bar%5B1%5D=bar', (string) $request->getBody());
}
- /**
- * @covers ::sendRequest
- */
public function testCanSetFormParametersAndAttachAFileInTheSameMultipartRequest(): void
{
$this->mockHandler->append(new Response(200));
@@ -689,9 +648,6 @@ public function testCanSetFormParametersAndAttachAFileInTheSameMultipartRequest(
$this->assertStringContainsString($bar1, $contents);
}
- /**
- * @covers ::addMultipartFileToRequest
- */
public function testThrowsExceptionWhenAddingNonExistingFileAsMultipartPartToTheRequest(): void
{
$this->expectException(InvalidArgumentException::class);
@@ -699,10 +655,6 @@ public function testThrowsExceptionWhenAddingNonExistingFileAsMultipartPartToThe
$this->context->addMultipartFileToRequest('/foo/bar', 'foo');
}
- /**
- * @covers ::setRequestBodyToFileResource
- * @covers ::setRequestBody
- */
public function testCanSetRequestBodyToAFile(): void
{
$this->mockHandler->append(new Response());
@@ -715,10 +667,7 @@ public function testCanSetRequestBodyToAFile(): void
$this->assertSame('text/x-php', $request->getHeaderLine('Content-Type'));
}
- /**
- * @dataProvider getRequestBodyValues
- * @covers ::setRequestBody
- */
+ #[DataProvider('getRequestBodyValues')]
public function testCanSetRequestBodyToAString(string|PyStringNode $data, string $expected): void
{
$this->mockHandler->append(new Response());
@@ -730,11 +679,7 @@ public function testCanSetRequestBodyToAString(string|PyStringNode $data, string
$this->assertSame($expected, (string) $request->getBody());
}
- /**
- * @dataProvider getUris
- * @covers ::initializeClient
- * @covers ::setRequestPath
- */
+ #[DataProvider('getUris')]
public function testResolvesFilePathsCorrectlyWhenAttachingFilesToTheRequestBody(string $baseUri, string $path, string $fullUri): void
{
// Set a new client with the given base_uri (and not the one used in setUp())
@@ -752,10 +697,6 @@ public function testResolvesFilePathsCorrectlyWhenAttachingFilesToTheRequestBody
$this->assertSame($fullUri, (string) $request->getUri());
}
- /**
- * @covers ::addJwtToken
- * @covers ::jsonDecode
- */
public function testCanAddJwtTokensToTheJwtMatcher(): void
{
$name = 'some name';
@@ -782,9 +723,6 @@ public function testCanAddJwtTokensToTheJwtMatcher(): void
);
}
- /**
- * @covers ::addJwtToken
- */
public function testThrowsExceptionWhenTryingToAddJwtTokenWhenThereIsNoMatcherFunctionRegistered(): void
{
$this->comparator
@@ -799,13 +737,7 @@ public function testThrowsExceptionWhenTryingToAddJwtTokenWhenThereIsNoMatcherFu
$this->context->addJwtToken('name', 'secret', new PyStringNode(['{"some":"data"}'], 1));
}
- /**
- * @dataProvider getHttpMethods
- * @covers ::requestPath
- * @covers ::setRequestPath
- * @covers ::setRequestMethod
- * @covers ::sendRequest
- */
+ #[DataProvider('getHttpMethods')]
public function testCanMakeRequestsUsingDifferentHttpMethods(string $method): void
{
$this->mockHandler->append(new Response(200));
@@ -815,13 +747,6 @@ public function testCanMakeRequestsUsingDifferentHttpMethods(string $method): vo
$this->assertSame($method, $this->historyContainer[0]['request']->getMethod());
}
- /**
- * @covers ::requestPath
- * @covers ::setRequestMethod
- * @covers ::setRequestPath
- * @covers ::setRequestBody
- * @covers ::sendRequest
- */
public function testCanMakeRequestsWithQueryStringInThePath(): void
{
$this->mockHandler->append(new Response(200));
@@ -837,10 +762,6 @@ public function testCanMakeRequestsWithQueryStringInThePath(): void
$this->assertSame('foo=bar&bar=foo&a%5B%5D=1&a%5B%5D=2', $request->getUri()->getQuery());
}
- /**
- * @covers ::setQueryStringParameter
- * @covers ::setQueryStringParameters
- */
public function testCanSetQueryStringParameters(): void
{
$this->mockHandler->append(new Response(200));
@@ -879,11 +800,7 @@ public function testCanSetQueryStringParameters(): void
$this->assertSame('p1%5B0%5D=v6&p1%5B1%5D=v7&p2%5B0%5D=v8&p3=v9&p4=v5&p5=v10', $request->getUri()->getQuery());
}
- /**
- * @dataProvider getResponseCodes
- * @covers ::assertResponseCodeIs
- * @covers ::validateResponseCode
- */
+ #[DataProvider('getResponseCodes')]
public function testCanAssertWhatTheResponseCodeIs(int $code): void
{
$this->mockHandler->append(new Response($code));
@@ -891,10 +808,6 @@ public function testCanAssertWhatTheResponseCodeIs(int $code): void
$this->assertTrue($this->context->assertResponseCodeIs($code));
}
- /**
- * @covers ::assertResponseCodeIsNot
- * @covers ::validateResponseCode
- */
public function testCanAssertWhatTheResponseCodeIsNot(): void
{
$this->mockHandler->append(new Response(200));
@@ -903,12 +816,9 @@ public function testCanAssertWhatTheResponseCodeIsNot(): void
}
/**
- * @dataProvider getGroupAndResponseCodes
- * @covers ::assertResponseIs
- * @covers ::requireResponse
- * @covers ::getResponseCodeGroupRange
* @param array $codes
*/
+ #[DataProvider('getGroupAndResponseCodes')]
public function testCanAssertWhichGroupTheResponseIsIn(string $group, array $codes): void
{
foreach ($codes as $code) {
@@ -919,11 +829,9 @@ public function testCanAssertWhichGroupTheResponseIsIn(string $group, array $cod
}
/**
- * @dataProvider getGroupAndResponseCodes
- * @covers ::assertResponseIsNot
- * @covers ::assertResponseIs
* @param array $codes
*/
+ #[DataProvider('getGroupAndResponseCodes')]
public function testCanAssertWhichGroupTheResponseIsNotIn(string $group, array $codes): void
{
$groups = [
@@ -945,10 +853,7 @@ public function testCanAssertWhichGroupTheResponseIsNotIn(string $group, array $
}
}
- /**
- * @dataProvider getResponseCodesAndReasonPhrases
- * @covers ::assertResponseReasonPhraseIs
- */
+ #[DataProvider('getResponseCodesAndReasonPhrases')]
public function testCanAssertWhatTheResponseReasonPhraseIs(int $code, string $phrase): void
{
$this->mockHandler->append(new Response($code, [], null, '1.1', $phrase));
@@ -956,9 +861,6 @@ public function testCanAssertWhatTheResponseReasonPhraseIs(int $code, string $ph
$this->assertTrue($this->context->assertResponseReasonPhraseIs($phrase));
}
- /**
- * @covers ::assertResponseReasonPhraseIsNot
- */
public function testCanAssertWhatTheResponseReasonPhraseIsNot(): void
{
$this->mockHandler->append(new Response());
@@ -966,9 +868,6 @@ public function testCanAssertWhatTheResponseReasonPhraseIsNot(): void
$this->assertTrue($this->context->assertResponseReasonPhraseIsNot('Not Modified'));
}
- /**
- * @covers ::assertResponseReasonPhraseMatches
- */
public function testCanAssertThatTheResponseReasonPhraseMatchesAnExpression(): void
{
$this->mockHandler->append(new Response(200));
@@ -976,10 +875,7 @@ public function testCanAssertThatTheResponseReasonPhraseMatchesAnExpression(): v
$this->assertTrue($this->context->assertResponseReasonPhraseMatches('/OK/'));
}
- /**
- * @dataProvider getResponseCodesAndReasonPhrases
- * @covers ::assertResponseStatusLineIs
- */
+ #[DataProvider('getResponseCodesAndReasonPhrases')]
public function testCanAssertWhatTheResponseStatusLineIs(int $code, string $phrase): void
{
$this->mockHandler->append(new Response($code, [], null, '1.1', $phrase));
@@ -987,9 +883,6 @@ public function testCanAssertWhatTheResponseStatusLineIs(int $code, string $phra
$this->assertTrue($this->context->assertResponseStatusLineIs(sprintf('%d %s', $code, $phrase)));
}
- /**
- * @covers ::assertResponseStatusLineIsNot
- */
public function testCanAssertWhatTheResponseStatusLineIsNot(): void
{
$this->mockHandler->append(new Response());
@@ -997,9 +890,6 @@ public function testCanAssertWhatTheResponseStatusLineIsNot(): void
$this->assertTrue($this->context->assertResponseStatusLineIsNot('304 Not Modified'));
}
- /**
- * @covers ::assertResponseStatusLineMatches
- */
public function testCanAssertThatTheResponseStatusLineMatchesAnExpression(): void
{
$this->mockHandler->append(new Response(200));
@@ -1007,9 +897,6 @@ public function testCanAssertThatTheResponseStatusLineMatchesAnExpression(): voi
$this->assertTrue($this->context->assertResponseStatusLineMatches('/200 OK/'));
}
- /**
- * @covers ::assertResponseHeaderExists
- */
public function testCanAssertThatAResponseHeaderExists(): void
{
$this->mockHandler->append(new Response(200, ['Content-Type' => 'application/json']));
@@ -1017,9 +904,6 @@ public function testCanAssertThatAResponseHeaderExists(): void
$this->assertTrue($this->context->assertResponseHeaderExists('Content-Type'));
}
- /**
- * @covers ::assertResponseHeaderDoesNotExist
- */
public function testCanAssertThatAResponseHeaderDoesNotExist(): void
{
$this->mockHandler->append(new Response(200));
@@ -1027,9 +911,6 @@ public function testCanAssertThatAResponseHeaderDoesNotExist(): void
$this->assertTrue($this->context->assertResponseHeaderDoesNotExist('Content-Type'));
}
- /**
- * @covers ::assertResponseHeaderIs
- */
public function testCanAssertWhatAResponseHeaderIs(): void
{
$this->mockHandler->append(new Response(200, ['Content-Type' => 'application/json']));
@@ -1037,9 +918,6 @@ public function testCanAssertWhatAResponseHeaderIs(): void
$this->assertTrue($this->context->assertResponseHeaderIs('Content-Type', 'application/json'));
}
- /**
- * @covers ::assertResponseHeaderIsNot
- */
public function testCanAssertWhatAResponseHeaderIsNot(): void
{
$this->mockHandler->append(new Response(200, ['Content-Length' => '123']));
@@ -1047,9 +925,6 @@ public function testCanAssertWhatAResponseHeaderIsNot(): void
$this->assertTrue($this->context->assertResponseHeaderIsNot('Content-Type', '456'));
}
- /**
- * @covers ::assertResponseHeaderMatches
- */
public function testCanAssertThatAResponseHeaderMatchesAnExpression(): void
{
$this->mockHandler->append(new Response(200, ['Content-Type' => 'application/json']));
@@ -1057,9 +932,6 @@ public function testCanAssertThatAResponseHeaderMatchesAnExpression(): void
$this->assertTrue($this->context->assertResponseHeaderMatches('Content-Type', '#^application/(json|xml)$#'));
}
- /**
- * @covers ::assertResponseBodyIs
- */
public function testCanAssertWhatTheResponseBodyIs(): void
{
$this->mockHandler->append(new Response(200, [], 'response body'));
@@ -1067,9 +939,6 @@ public function testCanAssertWhatTheResponseBodyIs(): void
$this->assertTrue($this->context->assertResponseBodyIs(new PyStringNode(['response body'], 1)));
}
- /**
- * @covers ::assertResponseBodyIsNot
- */
public function testCanAssertWhatTheResponseBodyIsNot(): void
{
$this->mockHandler->append(new Response(200, [], 'response body'));
@@ -1077,9 +946,6 @@ public function testCanAssertWhatTheResponseBodyIsNot(): void
$this->assertTrue($this->context->assertResponseBodyIsNot(new PyStringNode(['some other response body'], 1)));
}
- /**
- * @covers ::assertResponseBodyMatches
- */
public function testCanAssertThatTheResponseBodyMatchesAnExpression(): void
{
$this->mockHandler->append(new Response(200, [], '{"foo":"bar"}'));
@@ -1087,11 +953,6 @@ public function testCanAssertThatTheResponseBodyMatchesAnExpression(): void
$this->assertTrue($this->context->assertResponseBodyMatches(new PyStringNode(['/^{"FOO": ?"BAR"}$/i'], 1)));
}
- /**
- * @covers ::assertResponseBodyIsAnEmptyJsonArray
- * @covers ::getResponseBodyArray
- * @covers ::getResponseBody
- */
public function testCanAssertThatTheResponseIsAnEmptyArray(): void
{
$this->mockHandler->append(new Response(200, [], (string) json_encode([])));
@@ -1099,9 +960,6 @@ public function testCanAssertThatTheResponseIsAnEmptyArray(): void
$this->assertTrue($this->context->assertResponseBodyIsAnEmptyJsonArray());
}
- /**
- * @covers ::assertResponseBodyIsAnEmptyJsonObject
- */
public function testCanAssertThatTheResponseIsAnEmptyObject(): void
{
$this->mockHandler->append(new Response(200, [], (string) json_encode(new stdClass())));
@@ -1109,9 +967,6 @@ public function testCanAssertThatTheResponseIsAnEmptyObject(): void
$this->assertTrue($this->context->assertResponseBodyIsAnEmptyJsonObject());
}
- /**
- * @covers ::assertResponseBodyIsEmpty
- */
public function testCanAssertThatTheResponseBodyIsEmpty(): void
{
$this->mockHandler->append(new Response(204));
@@ -1119,9 +974,6 @@ public function testCanAssertThatTheResponseBodyIsEmpty(): void
$this->assertTrue($this->context->assertResponseBodyIsEmpty());
}
- /**
- * @covers ::assertResponseBodyIsEmpty
- */
public function testCanAssertThatTheResponseBodyIsEmptyCanFail(): void
{
$this->mockHandler->append(new Response(200, [], 'some content'));
@@ -1131,9 +983,6 @@ public function testCanAssertThatTheResponseBodyIsEmptyCanFail(): void
$this->assertTrue($this->context->assertResponseBodyIsEmpty());
}
- /**
- * @covers ::assertResponseBodyIsEmpty
- */
public function testAssertThatTheResponseBodyIsEmptyThrowsExceptionOnMissingResponse(): void
{
$this->expectException(RuntimeException::class);
@@ -1142,11 +991,9 @@ public function testAssertThatTheResponseBodyIsEmptyThrowsExceptionOnMissingResp
}
/**
- * @dataProvider getResponseBodyArrays
- * @covers ::assertResponseBodyJsonArrayLength
- * @covers ::getResponseBodyArray
* @param array $body
*/
+ #[DataProvider('getResponseBodyArrays')]
public function testCanAssertThatTheArrayInTheResponseBodyHasACertainLength(array $body, int $lengthToUse, bool $willFail): void
{
$this->mockHandler->append(new Response(200, [], (string) json_encode($body)));
@@ -1166,11 +1013,9 @@ public function testCanAssertThatTheArrayInTheResponseBodyHasACertainLength(arra
}
/**
- * @dataProvider getResponseBodyArraysForAtLeast
- * @covers ::assertResponseBodyJsonArrayMinLength
- * @covers ::getResponseBody
* @param array $body
*/
+ #[DataProvider('getResponseBodyArraysForAtLeast')]
public function testCanAssertTheMinLengthOfAnArrayInTheResponseBody(array $body, int $min): void
{
$this->mockHandler->append(new Response(200, [], (string) json_encode($body)));
@@ -1179,11 +1024,9 @@ public function testCanAssertTheMinLengthOfAnArrayInTheResponseBody(array $body,
}
/**
- * @dataProvider getResponseBodyArraysForAtMost
- * @covers ::assertResponseBodyJsonArrayMaxLength
- * @covers ::getResponseBody
* @param array $body
*/
+ #[DataProvider('getResponseBodyArraysForAtMost')]
public function testCanAssertTheMaxLengthOfAnArrayInTheResponseBody(array $body, int $max): void
{
$this->mockHandler->append(new Response(200, [], (string) json_encode($body)));
@@ -1191,12 +1034,6 @@ public function testCanAssertTheMaxLengthOfAnArrayInTheResponseBody(array $body,
$this->assertTrue($this->context->assertResponseBodyJsonArrayMaxLength($max));
}
- /**
- * @covers ::setArrayContainsComparator
- * @covers ::assertResponseBodyContainsJson
- * @covers ::getResponseBody
- * @covers ::jsonDecode
- */
public function testCanAssertThatTheResponseBodyContainsJson(): void
{
$this->mockHandler->append(new Response(200, [], '{"foo":"bar","bar":"foo"}'));
@@ -1212,7 +1049,6 @@ public function testCanAssertThatTheResponseBodyContainsJson(): void
/**
* @see https://github.com/imbo/behat-api-extension/issues/7
- * @covers ::setRequestBody
*/
public function testThrowsExceptionWhenTryingToCombineARequestBodyWithMultipartOrFormData(): void
{
@@ -1223,9 +1059,6 @@ public function testThrowsExceptionWhenTryingToCombineARequestBodyWithMultipartO
$this->context->setRequestBody('some body');
}
- /**
- * @covers ::setRequestBodyToFileResource
- */
public function testThrowsExceptionWhenAttachingANonExistingFileToTheRequestBody(): void
{
$this->mockHandler->append(new Response());
@@ -1234,9 +1067,6 @@ public function testThrowsExceptionWhenAttachingANonExistingFileToTheRequestBody
$this->context->setRequestBodyToFileResource('/foo/bar');
}
- /**
- * @covers ::setRequestBodyToFileResource
- */
public function testThrowsExceptionWhenAttachingANonReadableFileToTheRequestBody(): void
{
$this->mockHandler->append(new Response());
@@ -1245,9 +1075,6 @@ public function testThrowsExceptionWhenAttachingANonReadableFileToTheRequestBody
$this->context->setRequestBodyToFileResource('/non/readable/file');
}
- /**
- * @covers ::sendRequest
- */
public function testThrowsExceptionWhenTheRequestCanNotBeSent(): void
{
$this->mockHandler->append(new RequestException('error', new Request('GET', 'path')));
@@ -1256,9 +1083,6 @@ public function testThrowsExceptionWhenTheRequestCanNotBeSent(): void
$this->context->requestPath('path');
}
- /**
- * @covers ::assertResponseCodeIs
- */
public function testAssertingWhatTheResponseCodeIsCanFail(): void
{
$this->mockHandler->append(new Response(200));
@@ -1268,11 +1092,7 @@ public function testAssertingWhatTheResponseCodeIsCanFail(): void
$this->context->assertResponseCodeIs(400);
}
- /**
- * @dataProvider getInvalidHttpResponseCodes
- * @covers ::assertResponseCodeIs
- * @covers ::validateResponseCode
- */
+ #[DataProvider('getInvalidHttpResponseCodes')]
public function testThrowsExceptionWhenSpecifyingAnInvalidCodeWhenAssertingWhatTheResponseCodeIs(int $code): void
{
$this->mockHandler->append(new Response(200));
@@ -1284,10 +1104,6 @@ public function testThrowsExceptionWhenSpecifyingAnInvalidCodeWhenAssertingWhatT
$this->context->assertResponseCodeIs($code);
}
- /**
- * @covers ::assertResponseCodeIs
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingWhatTheResponseCodeIsWhenNoResponseExists(): void
{
$this->expectException(RuntimeException::class);
@@ -1295,9 +1111,6 @@ public function testThrowsExceptionWhenAssertingWhatTheResponseCodeIsWhenNoRespo
$this->context->assertResponseCodeIs(200);
}
- /**
- * @covers ::assertResponseCodeIsNot
- */
public function testAssertingWhatTheResponseCodeIsNotCanFail(): void
{
$this->mockHandler->append(new Response(200));
@@ -1307,11 +1120,7 @@ public function testAssertingWhatTheResponseCodeIsNotCanFail(): void
$this->context->assertResponseCodeIsNot(200);
}
- /**
- * @dataProvider getInvalidHttpResponseCodes
- * @covers ::assertResponseCodeIsNot
- * @covers ::validateResponseCode
- */
+ #[DataProvider('getInvalidHttpResponseCodes')]
public function testThrowsExceptionWhenSpecifyingAnInvalidCodeWhenAssertingWhatTheResponseCodeIsNot(int $code): void
{
$this->mockHandler->append(new Response(200));
@@ -1323,10 +1132,6 @@ public function testThrowsExceptionWhenSpecifyingAnInvalidCodeWhenAssertingWhatT
$this->context->assertResponseCodeIsNot($code);
}
- /**
- * @covers ::assertResponseCodeIsNot
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingWhatTheResponseCodeIsNotWhenNoResponseExists(): void
{
$this->expectException(RuntimeException::class);
@@ -1334,12 +1139,7 @@ public function testThrowsExceptionWhenAssertingWhatTheResponseCodeIsNotWhenNoRe
$this->context->assertResponseCodeIsNot(200);
}
- /**
- * @dataProvider getDataForResponseGroupFailures
- * @covers ::assertResponseIs
- * @covers ::getResponseCodeGroupRange
- * @covers ::getResponseGroup
- */
+ #[DataProvider('getDataForResponseGroupFailures')]
public function testAssertingThatTheResponseIsInAGroupCanFail(int $responseCode, string $actualGroup, string $expectedGroup): void
{
$this->mockHandler->append(new Response($responseCode));
@@ -1355,10 +1155,6 @@ public function testAssertingThatTheResponseIsInAGroupCanFail(int $responseCode,
$this->context->assertResponseIs($expectedGroup);
}
- /**
- * @covers ::assertResponseIs
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingWhichGroupTheResponseIsInWhenNoResponseExists(): void
{
$this->expectException(RuntimeException::class);
@@ -1366,10 +1162,6 @@ public function testThrowsExceptionWhenAssertingWhichGroupTheResponseIsInWhenNoR
$this->context->assertResponseIs('success');
}
- /**
- * @covers ::assertResponseIs
- * @covers ::getResponseCodeGroupRange
- */
public function testThrowsExceptionWhenAssertingThatTheResponseIsInAnInvalidGroup(): void
{
$this->mockHandler->append(new Response(200));
@@ -1379,10 +1171,6 @@ public function testThrowsExceptionWhenAssertingThatTheResponseIsInAnInvalidGrou
$this->context->assertResponseIs('foobar');
}
- /**
- * @covers ::assertResponseIsNot
- * @covers ::assertResponseIs
- */
public function testAssertingThatTheResponseIsNotInAGroupCanFail(): void
{
$this->mockHandler->append(new Response(200));
@@ -1392,10 +1180,6 @@ public function testAssertingThatTheResponseIsNotInAGroupCanFail(): void
$this->context->assertResponseIsNot('success');
}
- /**
- * @covers ::assertResponseIsNot
- * @covers ::getResponseCodeGroupRange
- */
public function testThrowsExceptionWhenAssertingThatTheResponseIsNotInAnInvalidGroup(): void
{
$this->mockHandler->append(new Response(200));
@@ -1405,10 +1189,6 @@ public function testThrowsExceptionWhenAssertingThatTheResponseIsNotInAnInvalidG
$this->context->assertResponseIsNot('foobar');
}
- /**
- * @covers ::assertResponseIsNot
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingWhichGroupTheResponseIsNotInWhenNoResponseExists(): void
{
$this->expectException(RuntimeException::class);
@@ -1416,9 +1196,6 @@ public function testThrowsExceptionWhenAssertingWhichGroupTheResponseIsNotInWhen
$this->context->assertResponseIsNot('success');
}
- /**
- * @covers ::assertResponseReasonPhraseIs
- */
public function testAssertingWhatTheResponseReasonPhraseIsCanFail(): void
{
$this->mockHandler->append(new Response());
@@ -1428,10 +1205,6 @@ public function testAssertingWhatTheResponseReasonPhraseIsCanFail(): void
$this->context->assertResponseReasonPhraseIs('ok');
}
- /**
- * @covers ::assertResponseReasonPhraseIs
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingWhatTheResponseReasonPhraseIsWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1439,9 +1212,6 @@ public function testThrowsExceptionWhenAssertingWhatTheResponseReasonPhraseIsWhe
$this->context->assertResponseReasonPhraseIs('OK');
}
- /**
- * @covers ::assertResponseReasonPhraseIsNot
- */
public function testAssertingWhatTheResponseReasonPhraseIsNotCanFail(): void
{
$this->mockHandler->append(new Response());
@@ -1451,10 +1221,6 @@ public function testAssertingWhatTheResponseReasonPhraseIsNotCanFail(): void
$this->context->assertResponseReasonPhraseIsNot('OK');
}
- /**
- * @covers ::assertResponseReasonPhraseIsNot
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingWhatTheResponseReasonPhraseIsNotWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1462,9 +1228,6 @@ public function testThrowsExceptionWhenAssertingWhatTheResponseReasonPhraseIsNot
$this->context->assertResponseReasonPhraseIsNot('OK');
}
- /**
- * @covers ::assertResponseReasonPhraseMatches
- */
public function testAssertingThatTheResponseReasonPhraseMatchesAnExpressionCanFail(): void
{
$this->mockHandler->append(new Response(200));
@@ -1474,10 +1237,6 @@ public function testAssertingThatTheResponseReasonPhraseMatchesAnExpressionCanFa
$this->context->assertResponseReasonPhraseMatches('/ok/');
}
- /**
- * @covers ::assertResponseReasonPhraseMatches
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingThatTheResponseReasonPhraseMatchesAnExpressionWhenThereIsNoResponse(): void
{
$this->expectException(RuntimeException::class);
@@ -1485,9 +1244,6 @@ public function testThrowsExceptionWhenAssertingThatTheResponseReasonPhraseMatch
$this->context->assertResponseReasonPhraseMatches('/ok/');
}
- /**
- * @covers ::assertResponseStatusLineIs
- */
public function testAssertingWhatTheResponseStatusLineIsCanFail(): void
{
$this->mockHandler->append(new Response());
@@ -1497,10 +1253,6 @@ public function testAssertingWhatTheResponseStatusLineIsCanFail(): void
$this->context->assertResponseStatusLineIs('200 Foobar');
}
- /**
- * @covers ::assertResponseStatusLineIs
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingWhatTheResponseStatusLineIsWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1508,9 +1260,6 @@ public function testThrowsExceptionWhenAssertingWhatTheResponseStatusLineIsWhenN
$this->context->assertResponseStatusLineIs('200 OK');
}
- /**
- * @covers ::assertResponseStatusLineIsNot
- */
public function testAssertingWhatTheResponseStatusLineIsNotCanFail(): void
{
$this->mockHandler->append(new Response());
@@ -1520,10 +1269,6 @@ public function testAssertingWhatTheResponseStatusLineIsNotCanFail(): void
$this->context->assertResponseStatusLineIsNot('200 OK');
}
- /**
- * @covers ::assertResponseStatusLineIsNot
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingWhatTheResponseStatusLineIsNotWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1531,9 +1276,6 @@ public function testThrowsExceptionWhenAssertingWhatTheResponseStatusLineIsNotWh
$this->context->assertResponseStatusLineIsNot('200 OK');
}
- /**
- * @covers ::assertResponseStatusLineMatches
- */
public function testAssertingThatTheResponseStatusLineMatchesAnExpressionCanFail(): void
{
$this->mockHandler->append(new Response(200));
@@ -1543,10 +1285,6 @@ public function testAssertingThatTheResponseStatusLineMatchesAnExpressionCanFail
$this->context->assertResponseStatusLineMatches('/200 ok/');
}
- /**
- * @covers ::assertResponseStatusLineMatches
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingThatTheResponseStatusLineMatchesAnExpressionWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1554,9 +1292,6 @@ public function testThrowsExceptionWhenAssertingThatTheResponseStatusLineMatches
$this->context->assertResponseStatusLineMatches('/200 OK/');
}
- /**
- * @covers ::assertResponseHeaderExists
- */
public function testAssertingThatAResponseHeaderExistsCanFail(): void
{
$this->mockHandler->append(new Response(200));
@@ -1566,10 +1301,6 @@ public function testAssertingThatAResponseHeaderExistsCanFail(): void
$this->context->assertResponseHeaderExists('Content-Type');
}
- /**
- * @covers ::assertResponseHeaderExists
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingThatAResponseHeaderExistWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1577,9 +1308,6 @@ public function testThrowsExceptionWhenAssertingThatAResponseHeaderExistWhenNoRe
$this->context->assertResponseHeaderExists('Connection');
}
- /**
- * @covers ::assertResponseHeaderDoesNotExist
- */
public function testAssertingThatAResponseHeaderDoesNotExistCanFail(): void
{
$this->mockHandler->append(new Response(200, ['Content-Type' => 'application/json']));
@@ -1589,10 +1317,6 @@ public function testAssertingThatAResponseHeaderDoesNotExistCanFail(): void
$this->context->assertResponseHeaderDoesNotExist('Content-Type');
}
- /**
- * @covers ::assertResponseHeaderDoesNotExist
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingThatAResponseHeaderDoesNotExistWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1600,9 +1324,6 @@ public function testThrowsExceptionWhenAssertingThatAResponseHeaderDoesNotExistW
$this->context->assertResponseHeaderDoesNotExist('Connection');
}
- /**
- * @covers ::assertResponseHeaderIs
- */
public function testAssertingWhatAResponseHeaderIsCanFail(): void
{
$this->mockHandler->append(new Response(200, ['Content-Type' => 'application/json']));
@@ -1612,10 +1333,6 @@ public function testAssertingWhatAResponseHeaderIsCanFail(): void
$this->context->assertResponseHeaderIs('Content-Type', 'application/xml');
}
- /**
- * @covers ::assertResponseHeaderIs
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingWhatAResponseHeaderIsWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1623,9 +1340,6 @@ public function testThrowsExceptionWhenAssertingWhatAResponseHeaderIsWhenNoRespo
$this->context->assertResponseHeaderIs('Connection', 'close');
}
- /**
- * @covers ::assertResponseHeaderIsNot
- */
public function testAssertingWhatAResponseHeaderIsNotCanFail(): void
{
$this->mockHandler->append(new Response(200, ['Content-Type' => '123']));
@@ -1635,10 +1349,6 @@ public function testAssertingWhatAResponseHeaderIsNotCanFail(): void
$this->context->assertResponseHeaderIsNot('content-type', '123');
}
- /**
- * @covers ::assertResponseHeaderIsNot
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingWhatAResponseHeaderIsNotWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1646,9 +1356,6 @@ public function testThrowsExceptionWhenAssertingWhatAResponseHeaderIsNotWhenNoRe
$this->context->assertResponseHeaderIsNot('header', 'value');
}
- /**
- * @covers ::assertResponseHeaderMatches
- */
public function testAssertingThatAResponseHeaderMatchesAnExpressionCanFail(): void
{
$this->mockHandler->append(new Response(200, ['Content-Type' => 'application/json']));
@@ -1658,10 +1365,6 @@ public function testAssertingThatAResponseHeaderMatchesAnExpressionCanFail(): vo
$this->context->assertResponseHeaderMatches('Content-Type', '#^application/xml$#');
}
- /**
- * @covers ::assertResponseHeaderMatches
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingThatAResponseHeaderMatchesAnExpressionWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1669,9 +1372,6 @@ public function testThrowsExceptionWhenAssertingThatAResponseHeaderMatchesAnExpr
$this->context->assertResponseHeaderMatches('Connection', 'close');
}
- /**
- * @covers ::assertResponseBodyIs
- */
public function testAssertingWhatTheResponseBodyIsCanFail(): void
{
$this->mockHandler->append(new Response(200, [], 'response body'));
@@ -1681,10 +1381,6 @@ public function testAssertingWhatTheResponseBodyIsCanFail(): void
$this->context->assertResponseBodyIs(new PyStringNode(['foo'], 1));
}
- /**
- * @covers ::assertResponseBodyIs
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingWhatTheResponseBodyIsWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1692,9 +1388,6 @@ public function testThrowsExceptionWhenAssertingWhatTheResponseBodyIsWhenNoRespo
$this->context->assertResponseBodyIs(new PyStringNode(['some body'], 1));
}
- /**
- * @covers ::assertResponseBodyIsNot
- */
public function testAssertingWhatTheResponseBodyIsNotCanFail(): void
{
$this->mockHandler->append(new Response(200, [], 'response body'));
@@ -1704,10 +1397,6 @@ public function testAssertingWhatTheResponseBodyIsNotCanFail(): void
$this->context->assertResponseBodyIsNot(new PyStringNode(['response body'], 1));
}
- /**
- * @covers ::assertResponseBodyIsNot
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingWhatTheResponseBodyIsNotWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1715,9 +1404,6 @@ public function testThrowsExceptionWhenAssertingWhatTheResponseBodyIsNotWhenNoRe
$this->context->assertResponseBodyIsNot(new PyStringNode(['some body'], 1));
}
- /**
- * @covers ::assertResponseBodyMatches
- */
public function testAssertingThatTheResponseBodyMatchesAnExpressionCanFail(): void
{
$this->mockHandler->append(new Response(200, [], '{"foo":"bar"}'));
@@ -1727,10 +1413,6 @@ public function testAssertingThatTheResponseBodyMatchesAnExpressionCanFail(): vo
$this->context->assertResponseBodyMatches(new PyStringNode(['/^{"FOO": "BAR"}$/'], 1));
}
- /**
- * @covers ::assertResponseBodyMatches
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingThatTheResponseBodyMatchesAnExpressionWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1738,11 +1420,6 @@ public function testThrowsExceptionWhenAssertingThatTheResponseBodyMatchesAnExpr
$this->context->assertResponseBodyMatches(new PyStringNode(['/foo/'], 1));
}
- /**
- * @covers ::assertResponseBodyIsAnEmptyJsonArray
- * @covers ::getResponseBodyArray
- * @covers ::getResponseBody
- */
public function testAssertingThatTheResponseIsAnEmptyArrayCanFail(): void
{
$this->mockHandler->append(new Response(200, [], (string) json_encode([1, 2, 3])));
@@ -1752,11 +1429,6 @@ public function testAssertingThatTheResponseIsAnEmptyArrayCanFail(): void
$this->context->assertResponseBodyIsAnEmptyJsonArray();
}
- /**
- * @covers ::assertResponseBodyIsAnEmptyJsonArray
- * @covers ::getResponseBodyArray
- * @covers ::getResponseBody
- */
public function testThrowsExceptionWhenAssertingThatTheResponseBodyIsAnEmptyArrayWhenTheBodyDoesNotContainAnArray(): void
{
$this->mockHandler->append(new Response(200, [], '123'));
@@ -1766,9 +1438,6 @@ public function testThrowsExceptionWhenAssertingThatTheResponseBodyIsAnEmptyArra
$this->context->assertResponseBodyIsAnEmptyJsonArray();
}
- /**
- * @covers ::assertResponseBodyIsAnEmptyJsonObject
- */
public function testAssertingThatTheResponseIsAnEmptyObjectCanFail(): void
{
$object = new stdClass();
@@ -1780,10 +1449,6 @@ public function testAssertingThatTheResponseIsAnEmptyObjectCanFail(): void
$this->context->assertResponseBodyIsAnEmptyJsonObject();
}
- /**
- * @covers ::assertResponseBodyIsAnEmptyJsonObject
- * @covers ::getResponseBody
- */
public function testThrowsExceptionWhenAssertingThatTheResponseBodyIsAnEmptyObjectWhenTheBodyDoesNotContainAnObject(): void
{
$this->mockHandler->append(new Response(200, [], (string) json_encode([])));
@@ -1793,11 +1458,6 @@ public function testThrowsExceptionWhenAssertingThatTheResponseBodyIsAnEmptyObje
$this->context->assertResponseBodyIsAnEmptyJsonObject();
}
- /**
- * @covers ::assertResponseBodyJsonArrayLength
- * @covers ::getResponseBodyArray
- * @covers ::getResponseBody
- */
public function testAssertingThatTheResponseBodyIsAJsonArrayWithACertainLengthCanFail(): void
{
$this->mockHandler->append(new Response(200, [], (string) json_encode([1, 2, 3])));
@@ -1807,10 +1467,6 @@ public function testAssertingThatTheResponseBodyIsAJsonArrayWithACertainLengthCa
$this->context->assertResponseBodyJsonArrayLength(2);
}
- /**
- * @covers ::assertResponseBodyJsonArrayLength
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingTheLengthOfAJsonArrayInTheResponseBodyWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1818,10 +1474,6 @@ public function testThrowsExceptionWhenAssertingTheLengthOfAJsonArrayInTheRespon
$this->context->assertResponseBodyJsonArrayLength(5);
}
- /**
- * @covers ::assertResponseBodyJsonArrayLength
- * @covers ::getResponseBodyArray
- */
public function testThrowsExceptionWhenAssertingTheLengthOfAJsonArrayInTheResponseBodyAndTheBodyDoesNotContainAnArray(): void
{
$this->mockHandler->append(new Response(200, [], (string) json_encode(['foo' => 'bar'])));
@@ -1831,10 +1483,6 @@ public function testThrowsExceptionWhenAssertingTheLengthOfAJsonArrayInTheRespon
$this->context->assertResponseBodyJsonArrayLength(0);
}
- /**
- * @covers ::assertResponseBodyJsonArrayMinLength
- * @covers ::getResponseBody
- */
public function testAssertingThatTheResponseBodyContainsAJsonArrayWithAMinimumLengthCanFail(): void
{
$this->mockHandler->append(new Response(200, [], (string) json_encode([1, 2, 3])));
@@ -1844,10 +1492,6 @@ public function testAssertingThatTheResponseBodyContainsAJsonArrayWithAMinimumLe
$this->context->assertResponseBodyJsonArrayMinLength(4);
}
- /**
- * @covers ::assertResponseBodyJsonArrayMinLength
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingTheMinimumLengthOfAnArrayInTheResponseBodyWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1855,10 +1499,6 @@ public function testThrowsExceptionWhenAssertingTheMinimumLengthOfAnArrayInTheRe
$this->context->assertResponseBodyJsonArrayMinLength(5);
}
- /**
- * @covers ::assertResponseBodyJsonArrayMinLength
- * @covers ::getResponseBody
- */
public function testThrowsExceptionWhenAssertingTheMinimumLengthOfAnArrayInTheResponseBodyAndTheBodyDoesNotContainAnArray(): void
{
$this->mockHandler->append(new Response(200, [], (string) json_encode(['foo' => 'bar'])));
@@ -1868,10 +1508,6 @@ public function testThrowsExceptionWhenAssertingTheMinimumLengthOfAnArrayInTheRe
$this->context->assertResponseBodyJsonArrayMinLength(2);
}
- /**
- * @covers ::assertResponseBodyJsonArrayMaxLength
- * @covers ::getResponseBody
- */
public function testAssertingThatTheResponseBodyContainsAJsonArrayWithAMaximumLengthCanFail(): void
{
$this->mockHandler->append(new Response(200, [], (string) json_encode([1, 2, 3])));
@@ -1881,10 +1517,6 @@ public function testAssertingThatTheResponseBodyContainsAJsonArrayWithAMaximumLe
$this->context->assertResponseBodyJsonArrayMaxLength(2);
}
- /**
- * @covers ::assertResponseBodyJsonArrayMaxLength
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingTheMaximumLengthOfAnArrayInTheResponseBodyWhenNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1892,10 +1524,6 @@ public function testThrowsExceptionWhenAssertingTheMaximumLengthOfAnArrayInTheRe
$this->context->assertResponseBodyJsonArrayMaxLength(5);
}
- /**
- * @covers ::assertResponseBodyJsonArrayMaxLength
- * @covers ::getResponseBody
- */
public function testThrowsExceptionWhenAssertingTheMaximumLengthOfAnArrayInTheResponseBodyAndTheBodyDoesNotContainAnArray(): void
{
$this->mockHandler->append(new Response(200, [], (string) json_encode(['foo' => 'bar'])));
@@ -1905,10 +1533,6 @@ public function testThrowsExceptionWhenAssertingTheMaximumLengthOfAnArrayInTheRe
$this->context->assertResponseBodyJsonArrayMaxLength(2);
}
- /**
- * @covers ::assertResponseBodyContainsJson
- * @covers ::getResponseBody
- */
public function testAssertingThatTheResponseBodyContainsJsonCanFail(): void
{
$this->mockHandler->append(new Response(200, [], '{"foo":"bar"}'));
@@ -1924,11 +1548,6 @@ public function testAssertingThatTheResponseBodyContainsJsonCanFail(): void
$this->context->assertResponseBodyContainsJson(new PyStringNode(['{"bar":"foo"}'], 1));
}
- /**
- * @covers ::setArrayContainsComparator
- * @covers ::assertResponseBodyContainsJson
- * @covers ::getResponseBody
- */
public function testWillThrowExceptionWhenArrayContainsComparatorDoesNotReturnInACorrectMannerWhenCheckingTheResponseBodyForJson(): void
{
$this->mockHandler->append(new Response(200, [], '{"foo":"bar"}'));
@@ -1944,10 +1563,6 @@ public function testWillThrowExceptionWhenArrayContainsComparatorDoesNotReturnIn
$this->context->assertResponseBodyContainsJson(new PyStringNode(['{"bar":"foo"}'], 1));
}
- /**
- * @covers ::assertResponseBodyContainsJson
- * @covers ::requireResponse
- */
public function testThrowsExceptionWhenAssertingThatTheResponseContainsJsonAndNoResponseExist(): void
{
$this->expectException(RuntimeException::class);
@@ -1955,10 +1570,6 @@ public function testThrowsExceptionWhenAssertingThatTheResponseContainsJsonAndNo
$this->context->assertResponseBodyContainsJson(new PyStringNode(['{"foo":"bar"}'], 1));
}
- /**
- * @covers ::assertResponseBodyContainsJson
- * @covers ::getResponseBody
- */
public function testThrowsExceptionWhenAssertingThatTheResponseContainsJsonAndTheResponseContainsInvalidData(): void
{
$this->mockHandler->append(new Response(200, [], "{'foo':'bar'}"));
@@ -1968,10 +1579,6 @@ public function testThrowsExceptionWhenAssertingThatTheResponseContainsJsonAndTh
$this->context->assertResponseBodyContainsJson(new PyStringNode(['{"foo":"bar"}'], 1));
}
- /**
- * @covers ::assertResponseBodyContainsJson
- * @covers ::jsonDecode
- */
public function testThrowsExceptionWhenAssertingThatTheBodyContainsJsonAndTheParameterFromTheTestIsInvalid(): void
{
$this->mockHandler->append(new Response(200, [], '{"foo":"bar"}'));
@@ -1982,8 +1589,6 @@ public function testThrowsExceptionWhenAssertingThatTheBodyContainsJsonAndThePar
}
/**
- * @covers ::requestPath
- * @covers ::setRequestMethod
* @see https://github.com/imbo/behat-api-extension/issues/51
*/
public function testUsesHttpGetByDefaultWhenRequesting(): void
diff --git a/tests/Context/Initializer/ApiClientAwareInitializerTest.php b/tests/Context/Initializer/ApiClientAwareInitializerTest.php
index 09f0e35..26a7ccf 100644
--- a/tests/Context/Initializer/ApiClientAwareInitializerTest.php
+++ b/tests/Context/Initializer/ApiClientAwareInitializerTest.php
@@ -2,18 +2,13 @@
namespace Imbo\BehatApiExtension\Context\Initializer;
use Imbo\BehatApiExtension\Context\ApiClientAwareContext;
+use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
-/**
- * @coversDefaultClass Imbo\BehatApiExtension\Context\Initializer\ApiClientAwareInitializer
- */
+#[CoversClass(ApiClientAwareInitializer::class)]
class ApiClientAwareInitializerTest extends TestCase
{
- /**
- * @covers ::initializeContext
- * @covers ::__construct
- */
public function testInjectsClientWhenInitializingContext(): void
{
// Set up a socket for the test case, try all ports between 8000 and 8079. If no ports are
diff --git a/tests/Context/Initializer/ArrayContainsComparatorAwareInitializerTest.php b/tests/Context/Initializer/ArrayContainsComparatorAwareInitializerTest.php
index 10084c1..3ee80e0 100644
--- a/tests/Context/Initializer/ArrayContainsComparatorAwareInitializerTest.php
+++ b/tests/Context/Initializer/ArrayContainsComparatorAwareInitializerTest.php
@@ -4,17 +4,13 @@
use Imbo\BehatApiExtension\ArrayContainsComparator;
use Imbo\BehatApiExtension\ArrayContainsComparator\Matcher;
use Imbo\BehatApiExtension\Context\ArrayContainsComparatorAwareContext;
+use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
-/**
- * @coversDefaultClass Imbo\BehatApiExtension\Context\Initializer\ArrayContainsComparatorAwareInitializer
- */
+#[CoversClass(ArrayContainsComparatorAwareInitializer::class)]
class ArrayContainsComparatorAwareInitializerTest extends TestCase
{
- /**
- * @covers ::__construct
- */
public function testInitializerInjectsDefaultMatcherFunctions(): void
{
/** @var ArrayContainsComparator&MockObject */
@@ -40,9 +36,6 @@ public function testInitializerInjectsDefaultMatcherFunctions(): void
new ArrayContainsComparatorAwareInitializer($comparator);
}
- /**
- * @covers ::initializeContext
- */
public function testInjectsComparatorWhenInitializingContext(): void
{
/** @var ArrayContainsComparator&MockObject */
diff --git a/tests/Exception/ArrayContainsComparatorExceptionTest.php b/tests/Exception/ArrayContainsComparatorExceptionTest.php
index 94e492f..908109c 100644
--- a/tests/Exception/ArrayContainsComparatorExceptionTest.php
+++ b/tests/Exception/ArrayContainsComparatorExceptionTest.php
@@ -1,11 +1,11 @@
expectException(ArrayContainsComparatorException::class);
diff --git a/tests/ServiceContainer/BehatApiExtensionTest.php b/tests/ServiceContainer/BehatApiExtensionTest.php
index 70ee69e..aef7a2a 100644
--- a/tests/ServiceContainer/BehatApiExtensionTest.php
+++ b/tests/ServiceContainer/BehatApiExtensionTest.php
@@ -1,14 +1,13 @@
extension = new BehatApiExtension();
}
- /**
- * @covers ::getConfigKey
- * @covers ::configure
- */
public function testCanBuildConfiguration(): void
{
/** @var ArrayNodeDefinition */
@@ -40,9 +35,6 @@ public function testCanBuildConfiguration(): void
], $config);
}
- /**
- * @covers ::configure
- */
public function testCanOverrideDefaultValuesWhenBuildingConfiguration(): void
{
/** @var ArrayNodeDefinition */