diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..7cf00f8
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,49 @@
+name: CI
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+
+concurrency:
+ group: '${{ github.workflow }}-${{ github.event.number || github.sha }}'
+ cancel-in-progress: true
+
+permissions:
+ contents: read
+
+jobs:
+ test:
+ strategy:
+ matrix:
+ php-version: [ '8.2', '8.3' ]
+ name: Test on PHP ${{ matrix.php-version }}
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php-version }}
+ extensions: curl, json, mbstring
+
+ - name: Validate composer.json and composer.lock
+ run: composer validate --strict
+
+ - name: Cache Composer packages
+ id: composer-cache
+ uses: actions/cache@v3
+ with:
+ path: vendor
+ key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
+
+ - name: Install dependencies
+ run: composer install --prefer-source
+
+ - name: Create Environments
+ run: echo "${{ secrets.TEST_ENV_VARIABLES }}" > .env
+
+ - name: Run test suite
+ run: composer run-script test
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
deleted file mode 100644
index 5d390fb..0000000
--- a/.github/workflows/tests.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-name: PHPUnit Test
-
-on:
- push:
- pull_request:
-
-concurrency:
- group: test
-
-permissions:
- contents: read
-
-jobs:
- build:
-
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v3
-
- - name: Validate composer.json and composer.lock
- run: composer validate --strict
-
- - name: Cache Composer packages
- id: composer-cache
- uses: actions/cache@v3
-
- - name: Create Environments
- run: echo "${{ secrets.TEST_ENV_VARIABLES }}" > .env
-
- - name: Install and update Composer packages
- run: composer run-script install-dependencies
-
- - name: Run test suite
- run: composer run-script phpunit-test
diff --git a/composer.json b/composer.json
index c690f2f..a44119f 100644
--- a/composer.json
+++ b/composer.json
@@ -1,61 +1,60 @@
{
- "name": "telegram-bot-php/core",
- "description": "A PHP library that makes using Telegram Bot API much easier.",
- "keywords": [
- "php",
- "library",
- "telegram",
- "update-handler",
- "bot",
- "core"
- ],
- "license": "MIT",
- "homepage": "https://github.com/telegram-bot-php/core",
- "support": {
- "issues": "https://github.com/telegram-bot-php/core/issues",
- "source": "https://github.com/telegram-bot-php/core"
- },
- "authors": [
- {
- "name": "Shahrad Elahi",
- "email": "shahrad@litehex.com"
- },
- {
- "name": "LiteHex",
- "email": "opensource@litehex.com"
- }
- ],
- "minimum-stability": "dev",
- "prefer-stable": true,
- "scripts": {
- "install-dependencies": "composer install --prefer-source",
- "phpunit-test": "vendor/bin/phpunit --colors=always --configuration phpunit.xml"
- },
- "require": {
- "php": ">=8.0",
- "ext-curl": "*",
- "ext-json": "*",
- "ext-mbstring": "*",
- "guzzlehttp/guzzle": "^7.8",
- "symfony/dotenv": "^v6.4"
- },
- "require-dev": {
- "fakerphp/faker": "^1.23",
- "phpunit/phpunit": "^9.5",
- "psr/log": "^1.1|^2.0|^3.0"
- },
- "autoload": {
- "psr-4": {
- "TelegramBot\\": "src/"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "TelegramBotTest\\": "tests/"
- }
- },
- "config": {
- "sort-packages": true,
- "optimize-autoloader": true
- }
+ "name": "telegram-bot-php/core",
+ "description": "A PHP library that makes using Telegram Bot API much easier.",
+ "keywords": [
+ "php",
+ "library",
+ "telegram",
+ "update-handler",
+ "bot",
+ "core"
+ ],
+ "license": "MIT",
+ "homepage": "https://github.com/telegram-bot-php/core",
+ "support": {
+ "issues": "https://github.com/telegram-bot-php/core/issues",
+ "source": "https://github.com/telegram-bot-php/core"
+ },
+ "authors": [
+ {
+ "name": "Shahrad Elahi",
+ "email": "shahrad@litehex.com"
+ },
+ {
+ "name": "LiteHex",
+ "email": "opensource@litehex.com"
+ }
+ ],
+ "minimum-stability": "dev",
+ "prefer-stable": true,
+ "scripts": {
+ "test": "phpunit --colors=always --configuration phpunit.xml"
+ },
+ "require": {
+ "php": ">=8.2",
+ "ext-curl": "*",
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "guzzlehttp/guzzle": "^7.8",
+ "symfony/dotenv": "^v7.1"
+ },
+ "require-dev": {
+ "fakerphp/faker": "^1.23",
+ "phpunit/phpunit": "^11.2",
+ "psr/log": "^1.1|^2.0|^3.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "TelegramBot\\": "src/"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "TelegramBotTest\\": "tests/"
+ }
+ },
+ "config": {
+ "sort-packages": true,
+ "optimize-autoloader": true
+ }
}
diff --git a/composer.lock b/composer.lock
index 7e9d01f..4d8d20d 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "b4e7d50089d28035c1d9ad24845a8d8f",
+ "content-hash": "c60c31b1ce6f99912fe735d08a25eb0b",
"packages": [
{
"name": "guzzlehttp/guzzle",
@@ -604,28 +604,28 @@
},
{
"name": "symfony/dotenv",
- "version": "v6.4.7",
+ "version": "v7.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/dotenv.git",
- "reference": "982a8d58c73a7d91d229bc20493b8ae13208741c"
+ "reference": "efa715ec40c098f2fba62444f4fd75d0d4248ede"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dotenv/zipball/982a8d58c73a7d91d229bc20493b8ae13208741c",
- "reference": "982a8d58c73a7d91d229bc20493b8ae13208741c",
+ "url": "https://api.github.com/repos/symfony/dotenv/zipball/efa715ec40c098f2fba62444f4fd75d0d4248ede",
+ "reference": "efa715ec40c098f2fba62444f4fd75d0d4248ede",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"conflict": {
- "symfony/console": "<5.4",
- "symfony/process": "<5.4"
+ "symfony/console": "<6.4",
+ "symfony/process": "<6.4"
},
"require-dev": {
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0"
+ "symfony/console": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -658,7 +658,7 @@
"environment"
],
"support": {
- "source": "https://github.com/symfony/dotenv/tree/v6.4.7"
+ "source": "https://github.com/symfony/dotenv/tree/v7.1.1"
},
"funding": [
{
@@ -674,80 +674,10 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:22:46+00:00"
+ "time": "2024-05-31T14:57:53+00:00"
}
],
"packages-dev": [
- {
- "name": "doctrine/instantiator",
- "version": "2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
- "shasum": ""
- },
- "require": {
- "php": "^8.1"
- },
- "require-dev": {
- "doctrine/coding-standard": "^11",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpbench/phpbench": "^1.2",
- "phpstan/phpstan": "^1.9.4",
- "phpstan/phpstan-phpunit": "^1.3",
- "phpunit/phpunit": "^9.5.27",
- "vimeo/psalm": "^5.4"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "https://ocramius.github.io/"
- }
- ],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
- "keywords": [
- "constructor",
- "instantiate"
- ],
- "support": {
- "issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/2.0.0"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
- "type": "tidelift"
- }
- ],
- "time": "2022-12-30T00:23:10+00:00"
- },
{
"name": "fakerphp/faker",
"version": "v1.23.1",
@@ -813,16 +743,16 @@
},
{
"name": "myclabs/deep-copy",
- "version": "1.11.1",
+ "version": "1.12.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
+ "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
- "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
+ "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
"shasum": ""
},
"require": {
@@ -830,11 +760,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",
@@ -860,7 +791,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.0"
},
"funding": [
{
@@ -868,7 +799,7 @@
"type": "tidelift"
}
],
- "time": "2023-03-08T13:26:56+00:00"
+ "time": "2024-06-12T14:39:25+00:00"
},
{
"name": "nikic/php-parser",
@@ -1048,35 +979,35 @@
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.31",
+ "version": "11.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965"
+ "reference": "7e35a2cbcabac0e6865fd373742ea432a3c34f92"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965",
- "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e35a2cbcabac0e6865fd373742ea432a3c34f92",
+ "reference": "7e35a2cbcabac0e6865fd373742ea432a3c34f92",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=7.3",
- "phpunit/php-file-iterator": "^3.0.3",
- "phpunit/php-text-template": "^2.0.2",
- "sebastian/code-unit-reverse-lookup": "^2.0.2",
- "sebastian/complexity": "^2.0",
- "sebastian/environment": "^5.1.2",
- "sebastian/lines-of-code": "^1.0.3",
- "sebastian/version": "^3.0.1",
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.2",
+ "phpunit/php-file-iterator": "^5.0",
+ "phpunit/php-text-template": "^4.0",
+ "sebastian/code-unit-reverse-lookup": "^4.0",
+ "sebastian/complexity": "^4.0",
+ "sebastian/environment": "^7.0",
+ "sebastian/lines-of-code": "^3.0",
+ "sebastian/version": "^5.0",
"theseer/tokenizer": "^1.2.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -1085,7 +1016,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.2-dev"
+ "dev-main": "11.0-dev"
}
},
"autoload": {
@@ -1114,7 +1045,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/9.2.31"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.3"
},
"funding": [
{
@@ -1122,32 +1053,32 @@
"type": "github"
}
],
- "time": "2024-03-02T06:37:42+00:00"
+ "time": "2024-03-12T15:35:40+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "3.0.6",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
+ "reference": "99e95c94ad9500daca992354fa09d7b99abe2210"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
- "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/99e95c94ad9500daca992354fa09d7b99abe2210",
+ "reference": "99e95c94ad9500daca992354fa09d7b99abe2210",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -1174,7 +1105,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
+ "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.0.0"
},
"funding": [
{
@@ -1182,28 +1114,28 @@
"type": "github"
}
],
- "time": "2021-12-02T12:48:52+00:00"
+ "time": "2024-02-02T06:05:04+00:00"
},
{
"name": "phpunit/php-invoker",
- "version": "3.1.1",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ "reference": "5d8d9355a16d8cc5a1305b0a85342cfa420612be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5d8d9355a16d8cc5a1305b0a85342cfa420612be",
+ "reference": "5d8d9355a16d8cc5a1305b0a85342cfa420612be",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
"ext-pcntl": "*",
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-pcntl": "*"
@@ -1211,7 +1143,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.1-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -1237,7 +1169,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+ "security": "https://github.com/sebastianbergmann/php-invoker/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.0"
},
"funding": [
{
@@ -1245,32 +1178,32 @@
"type": "github"
}
],
- "time": "2020-09-28T05:58:55+00:00"
+ "time": "2024-02-02T06:05:50+00:00"
},
{
"name": "phpunit/php-text-template",
- "version": "2.0.4",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ "reference": "d38f6cbff1cdb6f40b03c9811421561668cc133e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/d38f6cbff1cdb6f40b03c9811421561668cc133e",
+ "reference": "d38f6cbff1cdb6f40b03c9811421561668cc133e",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -1296,7 +1229,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+ "security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.0"
},
"funding": [
{
@@ -1304,32 +1238,32 @@
"type": "github"
}
],
- "time": "2020-10-26T05:33:50+00:00"
+ "time": "2024-02-02T06:06:56+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "5.0.3",
+ "version": "7.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ "reference": "8a59d9e25720482ee7fcdf296595e08795b84dc5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8a59d9e25720482ee7fcdf296595e08795b84dc5",
+ "reference": "8a59d9e25720482ee7fcdf296595e08795b84dc5",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -1355,7 +1289,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
+ "security": "https://github.com/sebastianbergmann/php-timer/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.0"
},
"funding": [
{
@@ -1363,24 +1298,23 @@
"type": "github"
}
],
- "time": "2020-10-26T13:16:10+00:00"
+ "time": "2024-02-02T06:08:01+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "9.6.19",
+ "version": "11.2.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8"
+ "reference": "be9e3ed32a1287a9bfda15936cc86fef4e4cf591"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a1a54a473501ef4cdeaae4e06891674114d79db8",
- "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/be9e3ed32a1287a9bfda15936cc86fef4e4cf591",
+ "reference": "be9e3ed32a1287a9bfda15936cc86fef4e4cf591",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.3.1 || ^2",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
@@ -1390,27 +1324,25 @@
"myclabs/deep-copy": "^1.10.1",
"phar-io/manifest": "^2.0.3",
"phar-io/version": "^3.0.2",
- "php": ">=7.3",
- "phpunit/php-code-coverage": "^9.2.28",
- "phpunit/php-file-iterator": "^3.0.5",
- "phpunit/php-invoker": "^3.1.1",
- "phpunit/php-text-template": "^2.0.3",
- "phpunit/php-timer": "^5.0.2",
- "sebastian/cli-parser": "^1.0.1",
- "sebastian/code-unit": "^1.0.6",
- "sebastian/comparator": "^4.0.8",
- "sebastian/diff": "^4.0.3",
- "sebastian/environment": "^5.1.3",
- "sebastian/exporter": "^4.0.5",
- "sebastian/global-state": "^5.0.1",
- "sebastian/object-enumerator": "^4.0.3",
- "sebastian/resource-operations": "^3.0.3",
- "sebastian/type": "^3.2",
- "sebastian/version": "^3.0.2"
+ "php": ">=8.2",
+ "phpunit/php-code-coverage": "^11.0",
+ "phpunit/php-file-iterator": "^5.0",
+ "phpunit/php-invoker": "^5.0",
+ "phpunit/php-text-template": "^4.0",
+ "phpunit/php-timer": "^7.0",
+ "sebastian/cli-parser": "^3.0",
+ "sebastian/code-unit": "^3.0",
+ "sebastian/comparator": "^6.0",
+ "sebastian/diff": "^6.0",
+ "sebastian/environment": "^7.0",
+ "sebastian/exporter": "^6.1.2",
+ "sebastian/global-state": "^7.0",
+ "sebastian/object-enumerator": "^6.0",
+ "sebastian/type": "^5.0",
+ "sebastian/version": "^5.0"
},
"suggest": {
- "ext-soap": "To be able to generate mocks based on WSDL files",
- "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
+ "ext-soap": "To be able to generate mocks based on WSDL files"
},
"bin": [
"phpunit"
@@ -1418,7 +1350,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.6-dev"
+ "dev-main": "11.2-dev"
}
},
"autoload": {
@@ -1450,7 +1382,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.19"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/11.2.5"
},
"funding": [
{
@@ -1466,7 +1398,7 @@
"type": "tidelift"
}
],
- "time": "2024-04-05T04:35:58+00:00"
+ "time": "2024-06-20T13:11:31+00:00"
},
{
"name": "psr/container",
@@ -1573,28 +1505,28 @@
},
{
"name": "sebastian/cli-parser",
- "version": "1.0.2",
+ "version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b"
+ "reference": "00a74d5568694711f0222e54fb281e1d15fdf04a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
- "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/00a74d5568694711f0222e54fb281e1d15fdf04a",
+ "reference": "00a74d5568694711f0222e54fb281e1d15fdf04a",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -1617,7 +1549,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/1.0.2"
+ "security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.1"
},
"funding": [
{
@@ -1625,32 +1558,32 @@
"type": "github"
}
],
- "time": "2024-03-02T06:27:43+00:00"
+ "time": "2024-03-02T07:26:58+00:00"
},
{
"name": "sebastian/code-unit",
- "version": "1.0.8",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ "reference": "6634549cb8d702282a04a774e36a7477d2bd9015"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/6634549cb8d702282a04a774e36a7477d2bd9015",
+ "reference": "6634549cb8d702282a04a774e36a7477d2bd9015",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -1673,7 +1606,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/1.0.8"
+ "security": "https://github.com/sebastianbergmann/code-unit/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.0"
},
"funding": [
{
@@ -1681,32 +1615,32 @@
"type": "github"
}
],
- "time": "2020-10-26T13:08:54+00:00"
+ "time": "2024-02-02T05:50:41+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
- "version": "2.0.3",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ "reference": "df80c875d3e459b45c6039e4d9b71d4fbccae25d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/df80c875d3e459b45c6039e4d9b71d4fbccae25d",
+ "reference": "df80c875d3e459b45c6039e4d9b71d4fbccae25d",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -1728,7 +1662,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/2.0.3"
+ "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.0"
},
"funding": [
{
@@ -1736,34 +1671,36 @@
"type": "github"
}
],
- "time": "2020-09-28T05:30:19+00:00"
+ "time": "2024-02-02T05:52:17+00:00"
},
{
"name": "sebastian/comparator",
- "version": "4.0.8",
+ "version": "6.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
+ "reference": "bd0f2fa5b9257c69903537b266ccb80fcf940db8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
- "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/bd0f2fa5b9257c69903537b266ccb80fcf940db8",
+ "reference": "bd0f2fa5b9257c69903537b266ccb80fcf940db8",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/diff": "^4.0",
- "sebastian/exporter": "^4.0"
+ "ext-dom": "*",
+ "ext-mbstring": "*",
+ "php": ">=8.2",
+ "sebastian/diff": "^6.0",
+ "sebastian/exporter": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -1802,7 +1739,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
+ "security": "https://github.com/sebastianbergmann/comparator/security/policy",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/6.0.0"
},
"funding": [
{
@@ -1810,33 +1748,33 @@
"type": "github"
}
],
- "time": "2022-09-14T12:41:17+00:00"
+ "time": "2024-02-02T05:53:45+00:00"
},
{
"name": "sebastian/complexity",
- "version": "2.0.3",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a"
+ "reference": "88a434ad86150e11a606ac4866b09130712671f0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a",
- "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/88a434ad86150e11a606ac4866b09130712671f0",
+ "reference": "88a434ad86150e11a606ac4866b09130712671f0",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=7.3"
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -1859,7 +1797,8 @@
"homepage": "https://github.com/sebastianbergmann/complexity",
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
- "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3"
+ "security": "https://github.com/sebastianbergmann/complexity/security/policy",
+ "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.0"
},
"funding": [
{
@@ -1867,33 +1806,33 @@
"type": "github"
}
],
- "time": "2023-12-22T06:19:30+00:00"
+ "time": "2024-02-02T05:55:19+00:00"
},
{
"name": "sebastian/diff",
- "version": "4.0.6",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc"
+ "reference": "ab83243ecc233de5655b76f577711de9f842e712"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc",
- "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ab83243ecc233de5655b76f577711de9f842e712",
+ "reference": "ab83243ecc233de5655b76f577711de9f842e712",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3",
+ "phpunit/phpunit": "^11.0",
"symfony/process": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -1925,7 +1864,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6"
+ "security": "https://github.com/sebastianbergmann/diff/security/policy",
+ "source": "https://github.com/sebastianbergmann/diff/tree/6.0.1"
},
"funding": [
{
@@ -1933,27 +1873,27 @@
"type": "github"
}
],
- "time": "2024-03-02T06:30:58+00:00"
+ "time": "2024-03-02T07:30:33+00:00"
},
{
"name": "sebastian/environment",
- "version": "5.1.5",
+ "version": "7.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
+ "reference": "4eb3a442574d0e9d141aab209cd4aaf25701b09a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
- "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4eb3a442574d0e9d141aab209cd4aaf25701b09a",
+ "reference": "4eb3a442574d0e9d141aab209cd4aaf25701b09a",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-posix": "*"
@@ -1961,7 +1901,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.1-dev"
+ "dev-main": "7.1-dev"
}
},
"autoload": {
@@ -1980,7 +1920,7 @@
}
],
"description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
+ "homepage": "https://github.com/sebastianbergmann/environment",
"keywords": [
"Xdebug",
"environment",
@@ -1988,7 +1928,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
- "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
+ "security": "https://github.com/sebastianbergmann/environment/security/policy",
+ "source": "https://github.com/sebastianbergmann/environment/tree/7.1.0"
},
"funding": [
{
@@ -1996,34 +1937,34 @@
"type": "github"
}
],
- "time": "2023-02-03T06:03:51+00:00"
+ "time": "2024-03-23T08:56:34+00:00"
},
{
"name": "sebastian/exporter",
- "version": "4.0.6",
+ "version": "6.1.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72"
+ "reference": "507d2333cbc4e6ea248fbda2d45ee1511e03da13"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72",
- "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/507d2333cbc4e6ea248fbda2d45ee1511e03da13",
+ "reference": "507d2333cbc4e6ea248fbda2d45ee1511e03da13",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/recursion-context": "^4.0"
+ "ext-mbstring": "*",
+ "php": ">=8.2",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "ext-mbstring": "*",
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "6.1-dev"
}
},
"autoload": {
@@ -2065,7 +2006,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6"
+ "security": "https://github.com/sebastianbergmann/exporter/security/policy",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/6.1.2"
},
"funding": [
{
@@ -2073,38 +2015,35 @@
"type": "github"
}
],
- "time": "2024-03-02T06:33:00+00:00"
+ "time": "2024-06-18T11:19:56+00:00"
},
{
"name": "sebastian/global-state",
- "version": "5.0.7",
+ "version": "7.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9"
+ "reference": "c3a307e832f2e69c7ef869e31fc644fde0e7cb3e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
- "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c3a307e832f2e69c7ef869e31fc644fde0e7cb3e",
+ "reference": "c3a307e832f2e69c7ef869e31fc644fde0e7cb3e",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
"ext-dom": "*",
- "phpunit/phpunit": "^9.3"
- },
- "suggest": {
- "ext-uopz": "*"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -2123,13 +2062,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/5.0.7"
+ "security": "https://github.com/sebastianbergmann/global-state/security/policy",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.1"
},
"funding": [
{
@@ -2137,33 +2077,33 @@
"type": "github"
}
],
- "time": "2024-03-02T06:35:11+00:00"
+ "time": "2024-03-02T07:32:10+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "1.0.4",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5"
+ "reference": "376c5b3f6b43c78fdc049740bca76a7c846706c0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5",
- "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/376c5b3f6b43c78fdc049740bca76a7c846706c0",
+ "reference": "376c5b3f6b43c78fdc049740bca76a7c846706c0",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=7.3"
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -2186,7 +2126,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/1.0.4"
+ "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.0"
},
"funding": [
{
@@ -2194,34 +2135,34 @@
"type": "github"
}
],
- "time": "2023-12-22T06:20:34+00:00"
+ "time": "2024-02-02T06:00:36+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "4.0.4",
+ "version": "6.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
+ "reference": "f75f6c460da0bbd9668f43a3dde0ec0ba7faa678"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f75f6c460da0bbd9668f43a3dde0ec0ba7faa678",
+ "reference": "f75f6c460da0bbd9668f43a3dde0ec0ba7faa678",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -2243,7 +2184,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/4.0.4"
+ "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.0"
},
"funding": [
{
@@ -2251,32 +2193,32 @@
"type": "github"
}
],
- "time": "2020-10-26T13:12:34+00:00"
+ "time": "2024-02-02T06:01:29+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "2.0.4",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ "reference": "bb2a6255d30853425fd38f032eb64ced9f7f132d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/bb2a6255d30853425fd38f032eb64ced9f7f132d",
+ "reference": "bb2a6255d30853425fd38f032eb64ced9f7f132d",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -2298,7 +2240,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/2.0.4"
+ "security": "https://github.com/sebastianbergmann/object-reflector/security/policy",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.0"
},
"funding": [
{
@@ -2306,32 +2249,32 @@
"type": "github"
}
],
- "time": "2020-10-26T13:14:26+00:00"
+ "time": "2024-02-02T06:02:18+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "4.0.5",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
+ "reference": "2f15508e17af4ea35129bbc32ce28a814d9c7426"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
- "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2f15508e17af4ea35129bbc32ce28a814d9c7426",
+ "reference": "2f15508e17af4ea35129bbc32ce28a814d9c7426",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -2361,61 +2304,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/4.0.5"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2023-02-03T06:07:39+00:00"
- },
- {
- "name": "sebastian/resource-operations",
- "version": "3.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e",
- "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides a list of PHP built-in functions that operate on resources",
- "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "support": {
- "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4"
+ "security": "https://github.com/sebastianbergmann/recursion-context/security/policy",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.1"
},
"funding": [
{
@@ -2423,32 +2313,32 @@
"type": "github"
}
],
- "time": "2024-03-14T16:00:52+00:00"
+ "time": "2024-06-17T05:22:57+00:00"
},
{
"name": "sebastian/type",
- "version": "3.2.1",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
+ "reference": "b8502785eb3523ca0dd4afe9ca62235590020f3f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
- "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8502785eb3523ca0dd4afe9ca62235590020f3f",
+ "reference": "b8502785eb3523ca0dd4afe9ca62235590020f3f",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.5"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.2-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -2471,7 +2361,8 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
+ "security": "https://github.com/sebastianbergmann/type/security/policy",
+ "source": "https://github.com/sebastianbergmann/type/tree/5.0.0"
},
"funding": [
{
@@ -2479,29 +2370,29 @@
"type": "github"
}
],
- "time": "2023-02-03T06:13:03+00:00"
+ "time": "2024-02-02T06:09:34+00:00"
},
{
"name": "sebastian/version",
- "version": "3.0.2",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c6c1022351a901512170118436c764e473f6de8c"
+ "reference": "13999475d2cb1ab33cb73403ba356a814fdbb001"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
- "reference": "c6c1022351a901512170118436c764e473f6de8c",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/13999475d2cb1ab33cb73403ba356a814fdbb001",
+ "reference": "13999475d2cb1ab33cb73403ba356a814fdbb001",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -2524,7 +2415,8 @@
"homepage": "https://github.com/sebastianbergmann/version",
"support": {
"issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
+ "security": "https://github.com/sebastianbergmann/version/security/policy",
+ "source": "https://github.com/sebastianbergmann/version/tree/5.0.0"
},
"funding": [
{
@@ -2532,7 +2424,7 @@
"type": "github"
}
],
- "time": "2020-09-28T06:39:44+00:00"
+ "time": "2024-02-02T06:10:47+00:00"
},
{
"name": "theseer/tokenizer",
@@ -2591,7 +2483,7 @@
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
- "php": ">=8.0",
+ "php": ">=8.2",
"ext-curl": "*",
"ext-json": "*",
"ext-mbstring": "*"
diff --git a/phpunit.setup.php b/phpunit.setup.php
new file mode 100644
index 0000000..6e9fc2a
--- /dev/null
+++ b/phpunit.setup.php
@@ -0,0 +1,5 @@
+load(__DIR__ . '/.env');
+
diff --git a/phpunit.xml b/phpunit.xml
index 570f041..1abcd26 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -1,19 +1,25 @@
-
-
-
-
-
-
-
-
- tests/
-
-
-
-
- tests/
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+ tests/
+
+
+
+
diff --git a/src/Telegram.php b/src/Telegram.php
index f8146df..16eb9e5 100644
--- a/src/Telegram.php
+++ b/src/Telegram.php
@@ -48,7 +48,6 @@ public function __construct(string $api_token = '')
throw new TelegramException('Invalid Telegram API token');
}
- CrashPad::enableCrashHandler();
self::setToken($api_token);
}
diff --git a/tests/DummyUpdate.php b/tests/DummyUpdate.php
index 73569ee..879165a 100644
--- a/tests/DummyUpdate.php
+++ b/tests/DummyUpdate.php
@@ -9,114 +9,114 @@
class DummyUpdate {
- private static function faker(): Generator {
- return Factory::create();
- }
+ private static function faker(): Generator {
+ return Factory::create();
+ }
- public static function message(): Message {
- return new Message([
- 'message_id' => self::faker()->randomNumber(),
- 'from' => [
- 'id' => self::faker()->randomNumber(),
- 'is_bot' => false,
- 'first_name' => self::faker()->firstName(),
- 'last_name' => self::faker()->lastName(),
- 'username' => self::faker()->userName(),
- 'language_code' => self::faker()->languageCode(),
- ],
- 'chat' => [
- 'id' => self::faker()->randomNumber(),
- 'first_name' => self::faker()->firstName(),
- 'last_name' => self::faker()->lastName(),
- 'username' => self::faker()->userName(),
- 'type' => 'private',
- ],
- 'date' => self::faker()->unixTime(),
- 'text' => self::faker()->sentence(),
- ]);
- }
+ public static function message(): Message {
+ return new Message([
+ 'message_id' => self::faker()->randomNumber(),
+ 'from' => [
+ 'id' => self::faker()->randomNumber(),
+ 'is_bot' => false,
+ 'first_name' => self::faker()->firstName(),
+ 'last_name' => self::faker()->lastName(),
+ 'username' => self::faker()->userName(),
+ 'language_code' => self::faker()->languageCode(),
+ ],
+ 'chat' => [
+ 'id' => self::faker()->randomNumber(),
+ 'first_name' => self::faker()->firstName(),
+ 'last_name' => self::faker()->lastName(),
+ 'username' => self::faker()->userName(),
+ 'type' => 'private',
+ ],
+ 'date' => self::faker()->unixTime(),
+ 'text' => self::faker()->sentence(),
+ ]);
+ }
- public static function messageWithEntities(): Message {
- return new Message([
- 'message_id' => self::faker()->randomNumber(),
- 'from' => [
- 'id' => self::faker()->randomNumber(),
- 'is_bot' => false,
- 'first_name' => self::faker()->firstName(),
- 'last_name' => self::faker()->lastName(),
- 'username' => self::faker()->userName(),
- 'language_code' => self::faker()->languageCode(),
- ],
- 'chat' => [
- 'id' => self::faker()->randomNumber(),
- 'first_name' => self::faker()->firstName(),
- 'last_name' => self::faker()->lastName(),
- 'username' => self::faker()->userName(),
- 'type' => 'private',
- ],
- 'date' => self::faker()->unixTime(),
- 'text' => self::faker()->sentence(),
- 'entities' => [
- [
- 'offset' => 0,
- 'length' => 1,
- 'type' => 'bold',
+ public static function messageWithEntities(): Message {
+ return new Message([
+ 'message_id' => self::faker()->randomNumber(),
+ 'from' => [
+ 'id' => self::faker()->randomNumber(),
+ 'is_bot' => false,
+ 'first_name' => self::faker()->firstName(),
+ 'last_name' => self::faker()->lastName(),
+ 'username' => self::faker()->userName(),
+ 'language_code' => self::faker()->languageCode(),
],
- [
- 'offset' => 2,
- 'length' => 3,
- 'type' => 'italic',
+ 'chat' => [
+ 'id' => self::faker()->randomNumber(),
+ 'first_name' => self::faker()->firstName(),
+ 'last_name' => self::faker()->lastName(),
+ 'username' => self::faker()->userName(),
+ 'type' => 'private',
],
- [
- 'offset' => 6,
- 'length' => 7,
- 'type' => 'code',
+ 'date' => self::faker()->unixTime(),
+ 'text' => self::faker()->sentence(),
+ 'entities' => [
+ [
+ 'offset' => 0,
+ 'length' => 1,
+ 'type' => 'bold',
+ ],
+ [
+ 'offset' => 2,
+ 'length' => 3,
+ 'type' => 'italic',
+ ],
+ [
+ 'offset' => 6,
+ 'length' => 7,
+ 'type' => 'code',
+ ]
]
- ]
- ]);
- }
+ ]);
+ }
- public static function messageWithReply(): Message {
- return new Message([
- 'message_id' => self::faker()->randomNumber(),
- 'from' => [
- 'id' => self::faker()->randomNumber(),
- 'is_bot' => false,
- 'first_name' => self::faker()->firstName(),
- 'last_name' => self::faker()->lastName(),
- 'username' => self::faker()->userName(),
- 'language_code' => self::faker()->languageCode(),
- ],
- 'chat' => [
- 'id' => self::faker()->randomNumber(),
- 'first_name' => self::faker()->firstName(),
- 'last_name' => self::faker()->lastName(),
- 'username' => self::faker()->userName(),
- 'type' => 'private',
- ],
- 'date' => self::faker()->unixTime(),
- 'text' => self::faker()->sentence(),
- 'reply_to_message' => [
+ public static function messageWithReply(): Message {
+ return new Message([
'message_id' => self::faker()->randomNumber(),
'from' => [
- 'id' => self::faker()->randomNumber(),
- 'is_bot' => false,
- 'first_name' => self::faker()->firstName(),
- 'last_name' => self::faker()->lastName(),
- 'username' => self::faker()->userName(),
- 'language_code' => self::faker()->languageCode(),
+ 'id' => self::faker()->randomNumber(),
+ 'is_bot' => false,
+ 'first_name' => self::faker()->firstName(),
+ 'last_name' => self::faker()->lastName(),
+ 'username' => self::faker()->userName(),
+ 'language_code' => self::faker()->languageCode(),
],
'chat' => [
- 'id' => self::faker()->randomNumber(),
- 'first_name' => self::faker()->firstName(),
- 'last_name' => self::faker()->lastName(),
- 'username' => self::faker()->userName(),
- 'type' => 'private',
+ 'id' => self::faker()->randomNumber(),
+ 'first_name' => self::faker()->firstName(),
+ 'last_name' => self::faker()->lastName(),
+ 'username' => self::faker()->userName(),
+ 'type' => 'private',
],
'date' => self::faker()->unixTime(),
'text' => self::faker()->sentence(),
- ]
- ]);
- }
+ 'reply_to_message' => [
+ 'message_id' => self::faker()->randomNumber(),
+ 'from' => [
+ 'id' => self::faker()->randomNumber(),
+ 'is_bot' => false,
+ 'first_name' => self::faker()->firstName(),
+ 'last_name' => self::faker()->lastName(),
+ 'username' => self::faker()->userName(),
+ 'language_code' => self::faker()->languageCode(),
+ ],
+ 'chat' => [
+ 'id' => self::faker()->randomNumber(),
+ 'first_name' => self::faker()->firstName(),
+ 'last_name' => self::faker()->lastName(),
+ 'username' => self::faker()->userName(),
+ 'type' => 'private',
+ ],
+ 'date' => self::faker()->unixTime(),
+ 'text' => self::faker()->sentence(),
+ ]
+ ]);
+ }
-}
\ No newline at end of file
+}
diff --git a/tests/Examples/EchoBot/Plugins/MainPlugin.php b/tests/Examples/EchoBot/Plugins/MainPlugin.php
index 263e3bc..fd9cde0 100644
--- a/tests/Examples/EchoBot/Plugins/MainPlugin.php
+++ b/tests/Examples/EchoBot/Plugins/MainPlugin.php
@@ -3,13 +3,15 @@
namespace TelegramBotTest\Examples\EchoBot\Plugins;
+use PHPUnit\Framework\Assert;
use TelegramBot\Entities\Message;
class MainPlugin extends \TelegramBot\Plugin {
- public function onMessage(int $updateId, Message $message): \Generator {
- echo "UpdateId: " . $updateId . ", Text: " . $message->getText();
+ public function onMessage(int $update_id, Message $message): \Generator {
+ Assert::assertEquals('Hello World!', $message->getText());
+ Assert::assertEquals(1, $update_id);
yield;
}
-}
\ No newline at end of file
+}
diff --git a/tests/WebhookTest.php b/tests/WebhookTest.php
index 4982352..19190b3 100644
--- a/tests/WebhookTest.php
+++ b/tests/WebhookTest.php
@@ -2,7 +2,7 @@
namespace TelegramBotTest;
-use PHPUnit\Framework\TestCase;
+use PHPUnit\Framework\Assert;
use TelegramBot\Entities\Message;
use TelegramBot\Entities\Update;
use TelegramBot\Plugin;
@@ -10,57 +10,46 @@
class WebhookTest extends \PHPUnit\Framework\TestCase {
- public function testAnonymousPlugins() {
- $plugin = new class($this) extends Plugin {
+ public function testAnonymousPlugins() {
+ $plugin = new class() extends Plugin {
- private $testCase;
+ public function onMessage(int $update_id, Message $message): \Generator {
+ Assert::assertEquals(1, $update_id);
+ Assert::assertEquals('Hello World!', $message->getText());
+ yield;
+ }
- public function __construct(TestCase $testCase) {
- $this->testCase = $testCase;
- }
+ };
- public function onMessage(int $update_id, Message $message): \Generator {
- $this->testCase->assertEquals(1, $update_id);
- $this->testCase->assertEquals('Hello World!', $message->getText());
- yield;
- }
+ $message = DummyUpdate::message();
+ $message->set('text', 'Hello World!');
- };
+ (new UpdateHandler())->addPlugins($plugin)->resolve(new Update([
+ 'update_id' => 1,
+ 'message' => $message->getRawData(),
+ ]));
+ }
- $message = DummyUpdate::message();
- $message->set('text', 'Hello World!');
+ public function testFilterIncomingUpdates() {
- (new UpdateHandler())->addPlugins($plugin)->resolve(new Update([
- 'update_id' => 1,
- 'message' => $message->getRawData(),
- ]));
- }
+ $plugin = new class() extends Plugin {
+ public function __process(Update $update): void {
+ Assert::fail('This should not be called');
+ }
+ };
- public function testFilterIncomingUpdates() {
+ $handler = (new UpdateHandler())->addPlugins($plugin);
- $plugin = new class($this) extends Plugin {
+ $handler->filterIncomingUpdates([
+ Update::TYPE_MESSAGE
+ ]);
- public function __construct(TestCase $testCase) {
- $this->testCase = $testCase;
- }
+ $handler->resolve(new Update([
+ 'update_id' => 1,
+ 'message' => DummyUpdate::message()->getRawData(),
+ ]));
- public function __process(Update $update): void {
- $this->testCase->fail('This should not be called');
- }
- };
+ $this->assertTrue(true);
+ }
- $handler = (new UpdateHandler())->addPlugins($plugin);
-
- $handler->filterIncomingUpdates([
- Update::TYPE_MESSAGE
- ]);
-
- $handler->resolve(new Update([
- 'update_id' => 1,
- 'message' => DummyUpdate::message()->getRawData(),
- ]));
-
- $this->assertTrue(true);
- }
-
-}
\ No newline at end of file
+}