diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 7f848c7..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-language: php
-php:
- - 7.0
- - 5.6
- - 5.5
- - 5.4
-before_script:
- - echo 'date.timezone = "Europe/London"' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
- - composer install
-script: php vendor/bin/phing
\ No newline at end of file
diff --git a/build.xml b/build.xml
index 6b7c7ad..8c62540 100644
--- a/build.xml
+++ b/build.xml
@@ -1,5 +1,5 @@
-
+
@@ -99,7 +99,7 @@
=5.3",
+ "php": ">=8.3",
"ext-curl": "*"
},
"require-dev": {
- "phpunit/phpunit": "4.3.*",
- "phing/phing": "2.*"
+ "phpunit/phpunit": "^12.0",
+ "phing/phing": "^3.1"
},
"autoload": {
"psr-0": {
diff --git a/composer.lock b/composer.lock
index 684c48a..5dbc3f8 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,129 +4,374 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "2971f54d7a3d6cb237719624f564582b",
+ "content-hash": "1e7a9762b404d1aaa6d5f528d8cb8dd3",
"packages": [],
"packages-dev": [
{
- "name": "doctrine/instantiator",
- "version": "1.5.0",
+ "name": "myclabs/deep-copy",
+ "version": "1.14.0",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b"
+ "url": "https://github.com/myclabs/DeepCopy.git",
+ "reference": "8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b",
- "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae",
+ "reference": "8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "php": "^8.0"
+ },
+ "conflict": {
+ "doctrine/collections": "<1.6.8",
+ "doctrine/common": "<2.13.3 || >=3 <3.2.2"
},
"require-dev": {
- "doctrine/coding-standard": "^9 || ^11",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpbench/phpbench": "^0.16 || ^1",
- "phpstan/phpstan": "^1.4",
- "phpstan/phpstan-phpunit": "^1",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
- "vimeo/psalm": "^4.30 || ^5.4"
+ "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",
"autoload": {
+ "files": [
+ "src/DeepCopy/deep_copy.php"
+ ],
"psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+ "DeepCopy\\": "src/DeepCopy/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
+ "description": "Create deep copies (clones) of your objects",
+ "keywords": [
+ "clone",
+ "copy",
+ "duplicate",
+ "object",
+ "object graph"
+ ],
+ "support": {
+ "issues": "https://github.com/myclabs/DeepCopy/issues",
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.14.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/mnapoli",
+ "type": "github"
+ }
+ ],
+ "time": "2026-08-11T10:17:44+00:00"
+ },
+ {
+ "name": "nikic/php-parser",
+ "version": "v5.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "reference": "044a6a392ff8ad0d61f14370a5fbbd0a0107152f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/044a6a392ff8ad0d61f14370a5fbbd0a0107152f",
+ "reference": "044a6a392ff8ad0d61f14370a5fbbd0a0107152f",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "ext-tokenizer": "*",
+ "php": ">=7.4"
+ },
+ "require-dev": {
+ "ircmaxell/php-yacc": "^0.0.7",
+ "phpunit/phpunit": "^9.0"
+ },
+ "bin": [
+ "bin/php-parse"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpParser\\": "lib/PhpParser"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
"authors": [
{
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "https://ocramius.github.io/"
+ "name": "Nikita Popov"
}
],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
+ "description": "A PHP parser written in PHP",
"keywords": [
- "constructor",
- "instantiate"
+ "parser",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/nikic/PHP-Parser/issues",
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.8.0"
+ },
+ "time": "2026-07-04T14:30:18+00:00"
+ },
+ {
+ "name": "phar-io/manifest",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/manifest.git",
+ "reference": "54750ef60c58e43759730615a392c31c80e23176"
+ },
+ "dist": {
+ "type": "zip",
+ "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",
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
],
+ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
"support": {
- "issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/1.5.0"
+ "issues": "https://github.com/phar-io/manifest/issues",
+ "source": "https://github.com/phar-io/manifest/tree/2.0.4"
},
"funding": [
{
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-03T12:33:53+00:00"
+ },
+ {
+ "name": "phar-io/version",
+ "version": "3.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/version.git",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
},
{
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
},
{
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
- "type": "tidelift"
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
}
],
- "time": "2022-12-30T00:15:36+00:00"
+ "description": "Library for handling version information and constraints",
+ "support": {
+ "issues": "https://github.com/phar-io/version/issues",
+ "source": "https://github.com/phar-io/version/tree/3.2.1"
+ },
+ "time": "2022-02-21T01:04:05+00:00"
},
{
"name": "phing/phing",
- "version": "2.17.4",
+ "version": "3.1.2",
"source": {
"type": "git",
"url": "https://github.com/phingofficial/phing.git",
- "reference": "9f3bc8c72e65452686dcf64497e02a082f138908"
+ "reference": "b83482ca629bc4d3073c3f6939fcaa2cacd3f0bf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phingofficial/phing/zipball/9f3bc8c72e65452686dcf64497e02a082f138908",
- "reference": "9f3bc8c72e65452686dcf64497e02a082f138908",
+ "url": "https://api.github.com/repos/phingofficial/phing/zipball/b83482ca629bc4d3073c3f6939fcaa2cacd3f0bf",
+ "reference": "b83482ca629bc4d3073c3f6939fcaa2cacd3f0bf",
"shasum": ""
},
"require": {
- "php": ">=5.2.0"
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-libxml": "*",
+ "ext-simplexml": "*",
+ "ext-xml": "*",
+ "php": ">= 8.1",
+ "sebastian/version": "^3.0|^4.0|^5.0|^6.0",
+ "symfony/console": "^6.4.22|^7.0|^8.0",
+ "symfony/filesystem": "^5.4.45|^6.4|^7.0|^8.0",
+ "symfony/string": "^6.3.12|^7.0|^8.0",
+ "symfony/yaml": "^6.3.12|^7.0|^8.0"
+ },
+ "replace": {
+ "phing/task-analyzers": "self.version",
+ "phing/task-apigen": "self.version",
+ "phing/task-archives": "self.version",
+ "phing/task-aws": "self.version",
+ "phing/task-coverage": "self.version",
+ "phing/task-dbdeploy": "self.version",
+ "phing/task-ftpdeploy": "self.version",
+ "phing/task-git": "self.version",
+ "phing/task-hg": "self.version",
+ "phing/task-http": "self.version",
+ "phing/task-inifile": "self.version",
+ "phing/task-ioncube": "self.version",
+ "phing/task-jshint": "self.version",
+ "phing/task-jsmin": "self.version",
+ "phing/task-liquibase": "self.version",
+ "phing/task-phkpackage": "self.version",
+ "phing/task-phpdoc": "self.version",
+ "phing/task-phpunit": "self.version",
+ "phing/task-sass": "self.version",
+ "phing/task-smarty": "self.version",
+ "phing/task-ssh": "self.version",
+ "phing/task-svn": "self.version",
+ "phing/task-visualizer": "self.version",
+ "phing/task-zendcodeanalyser": "self.version",
+ "phing/task-zendserverdevelopmenttools": "self.version"
},
"require-dev": {
+ "aws/aws-sdk-php": "^3.181",
+ "ergebnis/composer-normalize": "^2.13",
+ "ext-curl": "*",
+ "ext-iconv": "*",
+ "ext-openssl": "*",
"ext-pdo_sqlite": "*",
- "mikey179/vfsstream": "^1.6",
- "pdepend/pdepend": "2.x",
- "pear/archive_tar": "1.4.x",
- "pear/http_request2": "dev-trunk",
- "pear/net_growl": "dev-trunk",
- "pear/pear-core-minimal": "1.10.1",
- "pear/versioncontrol_git": "@dev",
- "pear/versioncontrol_svn": "~0.5",
- "phpdocumentor/phpdocumentor": "2.x",
- "phploc/phploc": "~2.0.6",
- "phpmd/phpmd": "~2.2",
- "phpunit/phpunit": ">=3.7",
- "sebastian/git": "~1.0",
- "sebastian/phpcpd": "2.x",
+ "ext-phar": "*",
+ "ext-sockets": "*",
+ "ext-xsl": "*",
+ "ext-zip": "*",
+ "friendsofphp/php-cs-fixer": "^3.0",
+ "guzzlehttp/guzzle": "^7.9",
+ "guzzlehttp/promises": "^2.0.3",
+ "jawira/plantuml-client": "^1.0",
+ "jawira/plantuml-encoding": "^1.0",
+ "mehr-als-nix/parallel": "^v1.0",
+ "mikey179/vfsstream": "2.0.x-dev",
+ "monolog/monolog": "^3.9",
+ "monorepo-php/monorepo": "^12.4",
+ "pdepend/pdepend": "^2.9",
+ "pear/archive_tar": "^1.4",
+ "pear/console_getopt": "^v1.4.3",
+ "pear/mail": "^2.0",
+ "pear/mail_mime": "^1.10",
+ "pear/net_ftp": "dev-master",
+ "pear/net_growl": "dev-master",
+ "pear/pear-core-minimal": "~1.10.10",
+ "pear/pear_exception": "^v1.0.2",
+ "pear/versioncontrol_git": "dev-master",
+ "pear/versioncontrol_svn": "^0.7.0",
+ "phing/phing-composer-configurator": "dev-master",
+ "phpmd/phpmd": "^2.14",
+ "phpstan/phpstan": "^2.1",
+ "phpunit/phpunit": "^9.6.21",
+ "psr/http-message": "^2.0",
+ "roave/security-advisories": "dev-master",
+ "scssphp/scssphp": "^2.1",
"siad007/versioncontrol_hg": "^1.0",
- "simpletest/simpletest": "^1.1",
- "squizlabs/php_codesniffer": "~2.2",
- "symfony/yaml": "^2.8 || ^3.1 || ^4.0"
+ "smarty/smarty": "^5.7",
+ "squizlabs/php_codesniffer": "^4.0",
+ "symfony/config": "^5.2|^6.0",
+ "symfony/dependency-injection": "^5.2|^6.0",
+ "symfony/stopwatch": "^5.2|^6.0",
+ "tedivm/jshrink": "^1.3"
},
"suggest": {
- "pdepend/pdepend": "PHP version of JDepend",
- "pear/archive_tar": "Tar file management class",
- "pear/versioncontrol_git": "A library that provides OO interface to handle Git repository",
- "pear/versioncontrol_svn": "A simple OO-style interface for Subversion, the free/open-source version control system",
+ "aws/aws-sdk-php": "Used for Amazon tasks",
+ "ext-gettext": "Used for gettext translation filter",
+ "ext-intl": "Used for Tstamp task",
+ "ext-posix": "Used for Posix selector and ACLs",
+ "ext-sockets": "Used for the Socket condition",
+ "ext-tidy": "Used for the Tidy filter",
+ "guzzlehttp/guzzle": "Used for Http tasks",
+ "jawira/plantuml-encoding": "Required by VisualizerTask",
+ "mehr-als-nix/parallel": "̈Used for Parallel task",
+ "monolog/monolog": "Required by the MonologListener",
+ "pdepend/pdepend": "Used for PHPDepend task",
+ "pear/archive_tar": "Used for Tar task",
+ "pear/mail": "Used for Mail task",
+ "pear/mail_mime": "Used for Mail task",
+ "pear/net_ftp": "Used for FtpDeploy task",
+ "pear/net_growl": "Used for Growl task",
+ "pear/pear-core-minimal": "Used for PEAR-related tasks",
+ "pear/versioncontrol_git": "Used for Git tasks",
+ "pear/versioncontrol_svn": "Used for Subversion tasks",
"phpdocumentor/phpdocumentor": "Documentation Generator for PHP",
- "phploc/phploc": "A tool for quickly measuring the size of a PHP project",
- "phpmd/phpmd": "PHP version of PMD tool",
+ "phpmd/phpmd": "Used for PHPMD task",
+ "phpstan/phpstan": "Used for PHPStan task",
"phpunit/php-code-coverage": "Library that provides collection, processing, and rendering functionality for PHP code coverage information",
"phpunit/phpunit": "The PHP Unit Testing Framework",
- "sebastian/phpcpd": "Copy/Paste Detector (CPD) for PHP code",
- "siad007/versioncontrol_hg": "A library for interfacing with Mercurial repositories.",
+ "scssphp/scssphp": "A compiler for SCSS written in PHP, used by SassTask",
+ "siad007/versioncontrol_hg": "Used for Mercurial tasks",
+ "smarty/smarty": "Used for Smarty task",
+ "squizlabs/php_codesniffer": "Used for PHP CodeSniffer task",
+ "symfony/stopwatch": "Needed by the StopwatchTask",
"tedivm/jshrink": "Javascript Minifier built in PHP"
},
"bin": [
@@ -134,19 +379,104 @@
],
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "2.16.x-dev"
+ "phing-custom-taskdefs": {
+ "scp": "Phing\\Task\\Ext\\Ssh\\ScpTask",
+ "ssh": "Phing\\Task\\Ext\\Ssh\\SshTask",
+ "tar": "Phing\\Task\\Ext\\Archive\\TarTask",
+ "zip": "Phing\\Task\\Ext\\Archive\\ZipTask",
+ "sass": "Phing\\Task\\Ext\\Sass\\SassTask",
+ "gitgc": "Phing\\Task\\Ext\\Git\\Git\\GitGcTask",
+ "hgadd": "Phing\\Task\\Ext\\Hg\\HgAddTask",
+ "hglog": "Phing\\Task\\Ext\\Hg\\HgLogTask",
+ "hgtag": "Phing\\Task\\Ext\\Hg\\HgTagTask",
+ "jsmin": "Phing\\Task\\Ext\\JsMin\\JsMinTask",
+ "phpmd": "Phing\\Task\\Ext\\Analyzer\\Phpmd\\PHPMDTask",
+ "s3get": "Phing\\Task\\Ext\\Amazon\\S3\\S3GetTask",
+ "s3put": "Phing\\Task\\Ext\\Amazon\\S3\\S3PutTask",
+ "sonar": "Phing\\Task\\Ext\\Analyzer\\Sonar\\SonarTask",
+ "untar": "Phing\\Task\\Ext\\Archive\\UntarTask",
+ "unzip": "Phing\\Task\\Ext\\Archive\\UnzipTask",
+ "apigen": "Phing\\Task\\Ext\\ApiGen\\ApiGenTask",
+ "gitlog": "Phing\\Task\\Ext\\Git\\Git\\GitLogTask",
+ "gittag": "Phing\\Task\\Ext\\Git\\Git\\GitTagTask",
+ "hginit": "Phing\\Task\\Ext\\Hg\\HgInitTask",
+ "hgpull": "Phing\\Task\\Ext\\Hg\\HgPullTask",
+ "hgpush": "Phing\\Task\\Ext\\Hg\\HgPushTask",
+ "jshint": "Phing\\Task\\Ext\\JsHint\\JsHintTask",
+ "phpdoc": "Phing\\Task\\Ext\\PhpDoc\\PhpDocumentor2Task",
+ "smarty": "Phing\\Task\\Ext\\Snmarty\\SmartyTask",
+ "svnlog": "Phing\\Task\\Ext\\Svn\\SvnLogTask",
+ "analyze": "Phing\\Task\\Ext\\ZendCodeAnalyzer\\ZendCodeAnalyzerTask",
+ "gitinit": "Phing\\Task\\Ext\\Git\\Git\\GitInitTask",
+ "gitpull": "Phing\\Task\\Ext\\Git\\Git\\GitPullTask",
+ "gitpush": "Phing\\Task\\Ext\\Git\\Git\\GitPushTask",
+ "hgclone": "Phing\\Task\\Ext\\Hg\\HgCloneTask",
+ "httpget": "Phing\\Task\\Ext\\Http\\HttpGetTask",
+ "inifile": "Phing\\Task\\Ext\\IniFile\\IniFileTask",
+ "phpdoc2": "Phing\\Task\\Ext\\PhpDoc\\PhpDocumentor2Task",
+ "phpstan": "Phing\\Task\\Ext\\Analyzer\\Phpstan\\PHPStanTask",
+ "phpunit": "Phing\\Task\\Ext\\PhpUnit\\PHPUnitTask",
+ "svncopy": "Phing\\Task\\Ext\\Svn\\SvnCopyTask",
+ "svninfo": "Phing\\Task\\Ext\\Svn\\SvnInfoTask",
+ "svnlist": "Phing\\Task\\Ext\\Svn\\SvnListTask",
+ "dbdeploy": "Phing\\Task\\Ext\\DbDeploy\\DbDeployTask",
+ "gitclone": "Phing\\Task\\Ext\\Git\\Git\\GitCloneTask",
+ "gitfetch": "Phing\\Task\\Ext\\Git\\Git\\GitFetchTask",
+ "gitmerge": "Phing\\Task\\Ext\\Git\\Git\\GitMergeTask",
+ "hgcommit": "Phing\\Task\\Ext\\Hg\\HgCommitTask",
+ "hgrevert": "Phing\\Task\\Ext\\Hg\\HgRevertTask",
+ "hgupdate": "Phing\\Task\\Ext\\Hg\\HgUpdateTask",
+ "zsdtpack": "Phing\\Task\\Ext\\ZendServerDeploymentTool\\ZsdtPackTask",
+ "ftpdeploy": "Phing\\Task\\Ext\\FtpDeploy\\FtpDeployTask",
+ "gitbranch": "Phing\\Task\\Ext\\Git\\Git\\GitBranchTask",
+ "gitcommit": "Phing\\Task\\Ext\\Git\\Git\\GitCommitTask",
+ "hgarchive": "Phing\\Task\\Ext\\Hg\\HgArchiveTask",
+ "liquibase": "Phing\\Task\\Ext\\Liquibase\\LiquibaseTask",
+ "phpdepend": "Phing\\Task\\Ext\\Analyzer\\Pdepend\\PhpDependTask",
+ "svncommit": "Phing\\Task\\Ext\\Svn\\SvnCommitTask",
+ "svnexport": "Phing\\Task\\Ext\\Svn\\SvnExportTask",
+ "svnrevert": "Phing\\Task\\Ext\\Svn\\SvnRevertTask",
+ "svnswitch": "Phing\\Task\\Ext\\Svn\\SvnSwitchTask",
+ "svnupdate": "Phing\\Task\\Ext\\Svn\\SvnUpdateTask",
+ "gitarchive": "Phing\\Task\\Ext\\Git\\Git\\GitArchiveTask",
+ "phkpackage": "Phing\\Task\\Ext\\PhkPackage\\PhkPackageTask",
+ "svnpropget": "Phing\\Task\\Ext\\Svn\\SvnPropgetTask",
+ "svnpropset": "Phing\\Task\\Ext\\Svn\\SvnPropsetTask",
+ "visualizer": "Phing\\Task\\Ext\\Visualizer\\VisualizerTask",
+ "gitcheckout": "Phing\\Task\\Ext\\Git\\Git\\GitCheckoutTask",
+ "gitdescribe": "Phing\\Task\\Ext\\Git\\Git\\GitDescribeTask",
+ "svncheckout": "Phing\\Task\\Ext\\Svn\\SvnCheckoutTask",
+ "svnproplist": "Phing\\Task\\Ext\\Svn\\SvnProplistTask",
+ "http-request": "Phing\\Task\\Ext\\Http\\HttpRequestTask",
+ "zsdtvalidate": "Phing\\Task\\Ext\\ZendServerDeploymentTool\\ZsdtValidateTask",
+ "liquibase-tag": "Phing\\Task\\Ext\\Liquibase\\LiquibaseTagTask",
+ "phpunitreport": "Phing\\Task\\Ext\\PhpUnit\\PHPUnitReportTask",
+ "coverage-setup": "Phing\\Task\\Ext\\Coverage\\CoverageSetupTask",
+ "ioncubeencoder": "Phing\\Task\\Ext\\Ioncube\\IoncubeEncoderTask",
+ "ioncubelicense": "Phing\\Task\\Ext\\Ioncube\\IoncubeLicenseTask",
+ "liquibase-diff": "Phing\\Task\\Ext\\Liquibase\\LiquibaseDiffTask",
+ "coverage-merger": "Phing\\Task\\Ext\\Coverage\\CoverageMergerTask",
+ "coverage-report": "Phing\\Task\\Ext\\Coverage\\CoverageReportTask",
+ "liquibase-dbdoc": "Phing\\Task\\Ext\\Liquibase\\LiquibaseDbDocTask",
+ "svnlastrevision": "Phing\\Task\\Ext\\Svn\\SvnLastRevisionTask",
+ "liquibase-update": "Phing\\Task\\Ext\\Liquibase\\LiquibaseUpdateTask",
+ "zendcodeanalyzer": "Phing\\Task\\Ext\\ZendCodeAnalyzer\\ZendCodeAnalyzerTask",
+ "coverage-threshold": "Phing\\Task\\Ext\\Coverage\\CoverageThresholdTask",
+ "liquibase-rollback": "Phing\\Task\\Ext\\Liquibase\\LiquibaseRollbackTask",
+ "liquibase-changelog": "Phing\\Task\\Ext\\Liquibase\\LiquibaseChangeLogTask"
+ },
+ "phing-custom-typedefs": {
+ "sshconfig": "Phing\\Task\\Ext\\Ssh\\Ssh2MethodParam",
+ "tarfileset": "Phing\\Task\\Ext\\Archive\\TarFileSet",
+ "zipfileset": "Phing\\Task\\Ext\\Archive\\ZipFileSet"
}
},
"autoload": {
- "classmap": [
- "classes/phing/"
- ]
+ "psr-4": {
+ "Phing\\": "src/Phing"
+ }
},
"notification-url": "https://packagist.org/downloads/",
- "include-path": [
- "classes"
- ],
"license": [
"LGPL-3.0-only"
],
@@ -157,29 +487,37 @@
},
{
"name": "Phing Community",
- "homepage": "https://www.phing.info/trac/wiki/Development/Contributors"
+ "homepage": "https://github.com/phingofficial/phing/blob/main/CREDITS.md"
}
],
"description": "PHing Is Not GNU make; it's a PHP project build system or build tool based on Apache Ant.",
"homepage": "https://www.phing.info/",
"keywords": [
+ "ant",
"build",
+ "build-automation",
+ "build-tool",
+ "dev",
+ "make",
"phing",
+ "php",
"task",
"tool"
],
"support": {
+ "chat": "https://phing.slack.com/",
+ "docs": "https://www.phing.info/docs/guide/stable/",
"irc": "irc://irc.freenode.net/phing",
- "issues": "https://www.phing.info/trac/report",
- "source": "https://github.com/phingofficial/phing/tree/2.17.4"
+ "issues": "https://github.com/phingofficial/phing/issues",
+ "source": "https://github.com/phingofficial/phing/"
},
"funding": [
{
- "url": "https://github.com/mrook",
+ "url": "https://github.com/sponsors/mrook",
"type": "github"
},
{
- "url": "https://github.com/siad007",
+ "url": "https://github.com/sponsors/siad007",
"type": "github"
},
{
@@ -187,43 +525,46 @@
"type": "patreon"
}
],
- "time": "2022-07-08T09:07:07+00:00"
+ "time": "2026-02-06T17:21:03+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "2.2.4",
+ "version": "12.5.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
+ "reference": "186dab580576598076de6818596d12b61801880e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
- "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/186dab580576598076de6818596d12b61801880e",
+ "reference": "186dab580576598076de6818596d12b61801880e",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
- "phpunit/php-file-iterator": "~1.3",
- "phpunit/php-text-template": "~1.2",
- "phpunit/php-token-stream": "~1.3",
- "sebastian/environment": "^1.3.2",
- "sebastian/version": "~1.0"
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "ext-xmlwriter": "*",
+ "nikic/php-parser": "^5.7.0",
+ "php": ">=8.3",
+ "phpunit/php-text-template": "^5.0",
+ "sebastian/complexity": "^5.0",
+ "sebastian/environment": "^8.1.2",
+ "sebastian/lines-of-code": "^4.0.1",
+ "sebastian/version": "^6.0",
+ "theseer/tokenizer": "^2.0.1"
},
"require-dev": {
- "ext-xdebug": ">=2.1.4",
- "phpunit/phpunit": "~4"
+ "phpunit/phpunit": "^12.5.28"
},
"suggest": {
- "ext-dom": "*",
- "ext-xdebug": ">=2.2.1",
- "ext-xmlwriter": "*"
+ "ext-pcov": "PHP extension that provides line coverage",
+ "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.2.x-dev"
+ "dev-main": "12.5.x-dev"
}
},
"autoload": {
@@ -238,7 +579,7 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
+ "email": "sebastian@phpunit.de",
"role": "lead"
}
],
@@ -250,46 +591,69 @@
"xunit"
],
"support": {
- "irc": "irc://irc.freenode.net/phpunit",
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/2.2"
+ "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.5.7"
},
- "time": "2015-10-06T15:47:00+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-06-01T13:24:19+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "1.3.4",
+ "version": "6.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb"
+ "reference": "a248d1640ab059b075f53a2ef0f9856e864e06b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb",
- "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a248d1640ab059b075f53a2ef0f9856e864e06b5",
+ "reference": "a248d1640ab059b075f53a2ef0f9856e864e06b5",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=8.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^12.5.33"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "6.0-dev"
+ }
+ },
"autoload": {
"classmap": [
- "File/"
+ "src/"
]
},
"notification-url": "https://packagist.org/downloads/",
- "include-path": [
- ""
- ],
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
+ "email": "sebastian@phpunit.de",
"role": "lead"
}
],
@@ -300,30 +664,60 @@
"iterator"
],
"support": {
- "irc": "irc://irc.freenode.net/phpunit",
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/1.3.4"
+ "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/6.0.2"
},
- "time": "2013-10-10T15:34:57+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpunit/php-file-iterator",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-08-25T14:40:53+00:00"
},
{
- "name": "phpunit/php-text-template",
- "version": "1.2.1",
+ "name": "phpunit/php-invoker",
+ "version": "6.0.0",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
+ "url": "https://github.com/sebastianbergmann/php-invoker.git",
+ "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/12b54e689b07a25a9b41e57736dfab6ec9ae5406",
+ "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=8.3"
+ },
+ "require-dev": {
+ "ext-pcntl": "*",
+ "phpunit/phpunit": "^12.0"
+ },
+ "suggest": {
+ "ext-pcntl": "*"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "6.0-dev"
+ }
+ },
"autoload": {
"classmap": [
"src/"
@@ -340,38 +734,50 @@
"role": "lead"
}
],
- "description": "Simple template engine.",
- "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+ "description": "Invoke callables with a timeout",
+ "homepage": "https://github.com/sebastianbergmann/php-invoker/",
"keywords": [
- "template"
+ "process"
],
"support": {
- "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1"
+ "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
+ "security": "https://github.com/sebastianbergmann/php-invoker/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/6.0.0"
},
- "time": "2015-06-21T13:50:34+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2025-02-07T04:58:58+00:00"
},
{
- "name": "phpunit/php-timer",
- "version": "1.0.8",
+ "name": "phpunit/php-text-template",
+ "version": "5.0.0",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260"
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
+ "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260",
- "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/e1367a453f0eda562eedb4f659e13aa900d66c53",
+ "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "~4|~5"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "5.0-dev"
+ }
+ },
"autoload": {
"classmap": [
"src/"
@@ -384,47 +790,52 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
+ "email": "sebastian@phpunit.de",
"role": "lead"
}
],
- "description": "Utility class for timing",
- "homepage": "https://github.com/sebastianbergmann/php-timer/",
+ "description": "Simple template engine.",
+ "homepage": "https://github.com/sebastianbergmann/php-text-template/",
"keywords": [
- "timer"
+ "template"
],
"support": {
- "irc": "irc://irc.freenode.net/phpunit",
- "issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/master"
+ "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
+ "security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/5.0.0"
},
- "time": "2016-05-12T18:03:57+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2025-02-07T04:59:16+00:00"
},
{
- "name": "phpunit/php-token-stream",
- "version": "1.4.12",
+ "name": "phpunit/php-timer",
+ "version": "8.0.0",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-token-stream.git",
- "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16"
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
+ "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16",
- "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc",
+ "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc",
"shasum": ""
},
"require": {
- "ext-tokenizer": "*",
- "php": ">=5.3.3"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "~4.2"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.4-dev"
+ "dev-main": "8.0-dev"
}
},
"autoload": {
@@ -439,56 +850,69 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
}
],
- "description": "Wrapper around PHP's tokenizer extension.",
- "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
+ "description": "Utility class for timing",
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
"keywords": [
- "tokenizer"
+ "timer"
],
"support": {
- "issues": "https://github.com/sebastianbergmann/php-token-stream/issues",
- "source": "https://github.com/sebastianbergmann/php-token-stream/tree/1.4"
+ "issues": "https://github.com/sebastianbergmann/php-timer/issues",
+ "security": "https://github.com/sebastianbergmann/php-timer/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/8.0.0"
},
- "abandoned": true,
- "time": "2017-12-04T08:55:13+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2025-02-07T04:59:38+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "4.3.5",
+ "version": "12.5.35",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "2dab9d593997db4abcf58d0daf798eb4e9cecfe1"
+ "reference": "345ac22e42cb14cdc7aa8428655d8bb8c82a4aab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2dab9d593997db4abcf58d0daf798eb4e9cecfe1",
- "reference": "2dab9d593997db4abcf58d0daf798eb4e9cecfe1",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/345ac22e42cb14cdc7aa8428655d8bb8c82a4aab",
+ "reference": "345ac22e42cb14cdc7aa8428655d8bb8c82a4aab",
"shasum": ""
},
"require": {
"ext-dom": "*",
+ "ext-filter": "*",
"ext-json": "*",
- "ext-pcre": "*",
- "ext-reflection": "*",
- "ext-spl": "*",
- "php": ">=5.3.3",
- "phpunit/php-code-coverage": "~2.0",
- "phpunit/php-file-iterator": "~1.3.2",
- "phpunit/php-text-template": "~1.2",
- "phpunit/php-timer": "~1.0.2",
- "phpunit/phpunit-mock-objects": "~2.3",
- "sebastian/comparator": "~1.0",
- "sebastian/diff": "~1.1",
- "sebastian/environment": "~1.0",
- "sebastian/exporter": "~1.0",
- "sebastian/version": "~1.0",
- "symfony/yaml": "~2.0"
- },
- "suggest": {
- "phpunit/php-invoker": "~1.1"
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-xmlwriter": "*",
+ "myclabs/deep-copy": "^1.14.0",
+ "phar-io/manifest": "^2.0.4",
+ "phar-io/version": "^3.2.1",
+ "php": ">=8.3",
+ "phpunit/php-code-coverage": "^12.5.7",
+ "phpunit/php-file-iterator": "^6.0.2",
+ "phpunit/php-invoker": "^6.0.0",
+ "phpunit/php-text-template": "^5.0.0",
+ "phpunit/php-timer": "^8.0.0",
+ "sebastian/cli-parser": "^4.2.1",
+ "sebastian/comparator": "^7.1.8",
+ "sebastian/diff": "^7.0.1",
+ "sebastian/environment": "^8.1.2",
+ "sebastian/exporter": "^7.0.3",
+ "sebastian/global-state": "^8.0.3",
+ "sebastian/object-enumerator": "^7.0.0",
+ "sebastian/recursion-context": "^7.0.1",
+ "sebastian/type": "^6.0.4",
+ "sebastian/version": "^6.0.0",
+ "staabm/side-effects-detector": "^1.0.5"
},
"bin": [
"phpunit"
@@ -496,19 +920,18 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.3.x-dev"
+ "dev-main": "12.5-dev"
}
},
"autoload": {
+ "files": [
+ "src/Framework/Assert/Functions.php"
+ ],
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
- "include-path": [
- "",
- "../../symfony/yaml/"
- ],
"license": [
"BSD-3-Clause"
],
@@ -520,107 +943,102 @@
}
],
"description": "The PHP Unit Testing framework.",
- "homepage": "http://www.phpunit.de/",
+ "homepage": "https://phpunit.de/",
"keywords": [
"phpunit",
"testing",
"xunit"
],
"support": {
- "irc": "irc://irc.freenode.net/phpunit",
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/4.3"
+ "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5.35"
},
- "time": "2014-11-11T10:11:09+00:00"
+ "funding": [
+ {
+ "url": "https://phpunit.de/sponsoring.html",
+ "type": "other"
+ }
+ ],
+ "time": "2026-09-09T04:48:50+00:00"
},
{
- "name": "phpunit/phpunit-mock-objects",
- "version": "2.3.8",
+ "name": "psr/container",
+ "version": "2.0.2",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
- "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
- "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.0.2",
- "php": ">=5.3.3",
- "phpunit/php-text-template": "~1.2",
- "sebastian/exporter": "~1.2"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.4"
- },
- "suggest": {
- "ext-soap": "*"
+ "php": ">=7.4.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.3.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "psr-4": {
+ "Psr\\Container\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
- "role": "lead"
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
}
],
- "description": "Mock Object library for PHPUnit",
- "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
+ "description": "Common Container Interface (PHP FIG PSR-11)",
+ "homepage": "https://github.com/php-fig/container",
"keywords": [
- "mock",
- "xunit"
+ "PSR-11",
+ "container",
+ "container-interface",
+ "container-interop",
+ "psr"
],
"support": {
- "irc": "irc://irc.freenode.net/phpunit",
- "issues": "https://github.com/sebastianbergmann/phpunit-mock-objects/issues",
- "source": "https://github.com/sebastianbergmann/phpunit-mock-objects/tree/2.3"
+ "issues": "https://github.com/php-fig/container/issues",
+ "source": "https://github.com/php-fig/container/tree/2.0.2"
},
- "abandoned": true,
- "time": "2015-10-02T06:51:40+00:00"
+ "time": "2021-11-05T16:47:00+00:00"
},
{
- "name": "sebastian/comparator",
- "version": "1.2.4",
+ "name": "sebastian/cli-parser",
+ "version": "4.2.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
+ "url": "https://github.com/sebastianbergmann/cli-parser.git",
+ "reference": "7d05781b13f7dec9043a629a21d086ed74582a15"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
- "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/7d05781b13f7dec9043a629a21d086ed74582a15",
+ "reference": "7d05781b13f7dec9043a629a21d086ed74582a15",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
- "sebastian/diff": "~1.2",
- "sebastian/exporter": "~1.2 || ~2.0"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "~4.4"
+ "phpunit/phpunit": "^12.5.25"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2.x-dev"
+ "dev-main": "4.2-dev"
}
},
"autoload": {
@@ -634,24 +1052,100 @@
],
"authors": [
{
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for parsing CLI options",
+ "homepage": "https://github.com/sebastianbergmann/cli-parser",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
+ "security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/4.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
},
{
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
},
{
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
},
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/cli-parser",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-05-17T05:29:34+00:00"
+ },
+ {
+ "name": "sebastian/comparator",
+ "version": "7.1.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "7c65c1e79836812819705b473a90c12399542485"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/7c65c1e79836812819705b473a90c12399542485",
+ "reference": "7c65c1e79836812819705b473a90c12399542485",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-mbstring": "*",
+ "php": ">=8.3",
+ "sebastian/diff": "^7.0",
+ "sebastian/exporter": "^7.0.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^12.5.25"
+ },
+ "suggest": {
+ "ext-bcmath": "For comparing BcMath\\Number objects"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "7.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
}
],
"description": "Provides the functionality to compare PHP values for equality",
- "homepage": "http://www.github.com/sebastianbergmann/comparator",
+ "homepage": "https://github.com/sebastianbergmann/comparator",
"keywords": [
"comparator",
"compare",
@@ -659,34 +1153,112 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/1.2"
+ "security": "https://github.com/sebastianbergmann/comparator/security/policy",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.8"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-05-21T04:45:25+00:00"
+ },
+ {
+ "name": "sebastian/complexity",
+ "version": "5.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/complexity.git",
+ "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/bad4316aba5303d0221f43f8cee37eb58d384bbb",
+ "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^12.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for calculating the complexity of PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/complexity",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/complexity/issues",
+ "security": "https://github.com/sebastianbergmann/complexity/security/policy",
+ "source": "https://github.com/sebastianbergmann/complexity/tree/5.0.0"
},
- "time": "2017-01-29T09:50:25+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2025-02-07T04:55:25+00:00"
},
{
"name": "sebastian/diff",
- "version": "1.4.1",
+ "version": "7.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e"
+ "reference": "cd4cabe39f8a4e8ee6818ba99f10a05561ea4ad6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e",
- "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/cd4cabe39f8a4e8ee6818ba99f10a05561ea4ad6",
+ "reference": "cd4cabe39f8a4e8ee6818ba99f10a05561ea4ad6",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "~4.8"
+ "phpunit/phpunit": "^12.5.33",
+ "symfony/process": "^7.4.17"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.4-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -699,50 +1271,75 @@
"BSD-3-Clause"
],
"authors": [
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
- },
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
}
],
"description": "Diff implementation",
"homepage": "https://github.com/sebastianbergmann/diff",
"keywords": [
- "diff"
+ "diff",
+ "udiff",
+ "unidiff",
+ "unified diff"
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/master"
+ "security": "https://github.com/sebastianbergmann/diff/security/policy",
+ "source": "https://github.com/sebastianbergmann/diff/tree/7.0.1"
},
- "time": "2015-12-08T07:14:41+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/diff",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-08-25T15:35:54+00:00"
},
{
"name": "sebastian/environment",
- "version": "1.3.7",
+ "version": "8.1.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716"
+ "reference": "9d32c685773823b1983e256ae4ecd48a10d6e439"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716",
- "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/9d32c685773823b1983e256ae4ecd48a10d6e439",
+ "reference": "9d32c685773823b1983e256ae4ecd48a10d6e439",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "~4.4"
+ "phpunit/phpunit": "^12.5.26"
+ },
+ "suggest": {
+ "ext-posix": "*"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.3.x-dev"
+ "dev-main": "8.1-dev"
}
},
"autoload": {
@@ -761,7 +1358,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",
@@ -769,36 +1366,55 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
- "source": "https://github.com/sebastianbergmann/environment/tree/1.3.7"
+ "security": "https://github.com/sebastianbergmann/environment/security/policy",
+ "source": "https://github.com/sebastianbergmann/environment/tree/8.1.2"
},
- "time": "2016-05-17T03:18:57+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/environment",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-05-25T13:40:20+00:00"
},
{
"name": "sebastian/exporter",
- "version": "1.2.2",
+ "version": "7.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
+ "reference": "c5e21b5de653ce0a769fb36f5cdfcb5e7a32cf23"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
- "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/c5e21b5de653ce0a769fb36f5cdfcb5e7a32cf23",
+ "reference": "c5e21b5de653ce0a769fb36f5cdfcb5e7a32cf23",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
- "sebastian/recursion-context": "~1.0"
+ "ext-mbstring": "*",
+ "php": ">=8.3",
+ "sebastian/recursion-context": "^7.0.1"
},
"require-dev": {
- "ext-mbstring": "*",
- "phpunit/phpunit": "~4.4"
+ "phpunit/phpunit": "^12.5.25"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.3.x-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -811,6 +1427,10 @@
"BSD-3-Clause"
],
"authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
{
"name": "Jeff Welch",
"email": "whatthejeff@gmail.com"
@@ -819,55 +1439,73 @@
"name": "Volker Dusch",
"email": "github@wallbash.com"
},
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
{
"name": "Adam Harvey",
"email": "aharvey@php.net"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
}
],
"description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "http://www.github.com/sebastianbergmann/exporter",
+ "homepage": "https://www.github.com/sebastianbergmann/exporter",
"keywords": [
"export",
"exporter"
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/master"
+ "security": "https://github.com/sebastianbergmann/exporter/security/policy",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/7.0.3"
},
- "time": "2016-06-17T09:04:28+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-05-20T04:37:17+00:00"
},
{
- "name": "sebastian/recursion-context",
- "version": "1.0.5",
+ "name": "sebastian/global-state",
+ "version": "8.0.3",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7"
+ "url": "https://github.com/sebastianbergmann/global-state.git",
+ "reference": "b164d3274d6537ab462591c5755f76a8f5b1aae9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
- "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/b164d3274d6537ab462591c5755f76a8f5b1aae9",
+ "reference": "b164d3274d6537ab462591c5755f76a8f5b1aae9",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=8.3",
+ "sebastian/object-reflector": "^5.0",
+ "sebastian/recursion-context": "^7.0.1"
},
"require-dev": {
- "phpunit/phpunit": "~4.4"
+ "ext-dom": "*",
+ "phpunit/phpunit": "^12.5.28"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-main": "8.0-dev"
}
},
"autoload": {
@@ -880,42 +1518,68 @@
"BSD-3-Clause"
],
"authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
}
],
- "description": "Provides functionality to recursively process PHP variables",
- "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
+ "description": "Snapshotting of global state",
+ "homepage": "https://www.github.com/sebastianbergmann/global-state",
+ "keywords": [
+ "global state"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/master"
+ "issues": "https://github.com/sebastianbergmann/global-state/issues",
+ "security": "https://github.com/sebastianbergmann/global-state/security/policy",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/8.0.3"
},
- "time": "2016-10-03T07:41:43+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-06-01T15:10:33+00:00"
},
{
- "name": "sebastian/version",
- "version": "1.0.6",
+ "name": "sebastian/lines-of-code",
+ "version": "4.0.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/version.git",
- "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
+ "url": "https://github.com/sebastianbergmann/lines-of-code.git",
+ "reference": "d543b8ef219dcd8da262cbb958639a96bedba10e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
- "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d543b8ef219dcd8da262cbb958639a96bedba10e",
+ "reference": "d543b8ef219dcd8da262cbb958639a96bedba10e",
"shasum": ""
},
+ "require": {
+ "nikic/php-parser": "^5.7.0",
+ "php": ">=8.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^12.5.25"
+ },
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "4.0-dev"
+ }
+ },
"autoload": {
"classmap": [
"src/"
@@ -932,79 +1596,866 @@
"role": "lead"
}
],
- "description": "Library that helps with managing the version number of Git-hosted PHP projects",
- "homepage": "https://github.com/sebastianbergmann/version",
+ "description": "Library for counting the lines of code in PHP source code",
+ "homepage": "https://github.com/sebastianbergmann/lines-of-code",
"support": {
- "issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/1.0.6"
+ "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
+ "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/4.0.1"
},
- "time": "2015-06-21T13:59:46+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/lines-of-code",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-05-19T16:22:07+00:00"
},
{
- "name": "symfony/polyfill-ctype",
- "version": "v1.27.0",
+ "name": "sebastian/object-enumerator",
+ "version": "7.0.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+ "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
- "reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1effe8e9b8e068e9ae228e542d5d11b5d16db894",
+ "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=8.3",
+ "sebastian/object-reflector": "^5.0",
+ "sebastian/recursion-context": "^7.0"
},
- "provide": {
- "ext-ctype": "*"
- },
- "suggest": {
- "ext-ctype": "For best performance"
+ "require-dev": {
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "Gert de Pagter",
- "email": "BackEndTea@gmail.com"
- },
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Traverses array structures and object graphs to enumerate all referenced objects",
+ "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
+ "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/7.0.0"
+ },
+ "funding": [
{
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2025-02-07T04:57:48+00:00"
+ },
+ {
+ "name": "sebastian/object-reflector",
+ "version": "5.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
+ "reference": "4bfa827c969c98be1e527abd576533293c634f6a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/4bfa827c969c98be1e527abd576533293c634f6a",
+ "reference": "4bfa827c969c98be1e527abd576533293c634f6a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^12.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Allows reflection of object attributes, including inherited and non-public ones",
+ "homepage": "https://github.com/sebastianbergmann/object-reflector/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
+ "security": "https://github.com/sebastianbergmann/object-reflector/security/policy",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/5.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2025-02-07T04:58:17+00:00"
+ },
+ {
+ "name": "sebastian/recursion-context",
+ "version": "7.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
+ "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/0b01998a7d5b1f122911a66bebcb8d46f0c82d8c",
+ "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^12.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "7.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ }
+ ],
+ "description": "Provides functionality to recursively process PHP variables",
+ "homepage": "https://github.com/sebastianbergmann/recursion-context",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
+ "security": "https://github.com/sebastianbergmann/recursion-context/security/policy",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/7.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2025-08-13T04:44:59+00:00"
+ },
+ {
+ "name": "sebastian/type",
+ "version": "6.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/type.git",
+ "reference": "82ff822c2edc46724be9f7411d3163021f602773"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/82ff822c2edc46724be9f7411d3163021f602773",
+ "reference": "82ff822c2edc46724be9f7411d3163021f602773",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^12.5.25"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "6.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the types of the PHP type system",
+ "homepage": "https://github.com/sebastianbergmann/type",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/type/issues",
+ "security": "https://github.com/sebastianbergmann/type/security/policy",
+ "source": "https://github.com/sebastianbergmann/type/tree/6.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/type",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-05-20T06:45:45+00:00"
+ },
+ {
+ "name": "sebastian/version",
+ "version": "6.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/3e6ccf7657d4f0a59200564b08cead899313b53c",
+ "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "6.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+ "homepage": "https://github.com/sebastianbergmann/version",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/version/issues",
+ "security": "https://github.com/sebastianbergmann/version/security/policy",
+ "source": "https://github.com/sebastianbergmann/version/tree/6.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2025-02-07T05:00:38+00:00"
+ },
+ {
+ "name": "staabm/side-effects-detector",
+ "version": "1.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/staabm/side-effects-detector.git",
+ "reference": "d8334211a140ce329c13726d4a715adbddd0a163"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163",
+ "reference": "d8334211a140ce329c13726d4a715adbddd0a163",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": "^7.4 || ^8.0"
+ },
+ "require-dev": {
+ "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": {
+ "classmap": [
+ "lib/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "A static analysis tool to detect side effects in PHP code",
+ "keywords": [
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/staabm/side-effects-detector/issues",
+ "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/staabm",
+ "type": "github"
+ }
+ ],
+ "time": "2024-10-20T05:08:20+00:00"
+ },
+ {
+ "name": "symfony/console",
+ "version": "v7.4.18",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/console.git",
+ "reference": "23d6f88a29f6d0eac45bd77d70307adf83ba7ab0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/console/zipball/23d6f88a29f6d0eac45bd77d70307adf83ba7ab0",
+ "reference": "23d6f88a29f6d0eac45bd77d70307adf83ba7ab0",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/string": "^7.2|^8.0"
+ },
+ "conflict": {
+ "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": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/lock": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Console\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Eases the creation of beautiful and testable command line interfaces",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "cli",
+ "command-line",
+ "console",
+ "terminal"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/console/tree/v7.4.18"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-08-25T14:18:37+00:00"
+ },
+ {
+ "name": "symfony/deprecation-contracts",
+ "version": "v3.7.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/deprecation-contracts.git",
+ "reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/f3202fa1b5097b0af062dc978b32ecf63404e31d",
+ "reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1"
+ },
+ "type": "library",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
+ "branch-alias": {
+ "dev-main": "3.7-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "function.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "A generic function and convention to trigger deprecation notices",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-06-05T06:23:12+00:00"
+ },
+ {
+ "name": "symfony/filesystem",
+ "version": "v7.4.18",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/filesystem.git",
+ "reference": "90d412aa5277c6819db39e7605aa46b1019e3232"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/90d412aa5277c6819db39e7605aa46b1019e3232",
+ "reference": "90d412aa5277c6819db39e7605aa46b1019e3232",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-mbstring": "~1.8"
+ },
+ "require-dev": {
+ "symfony/process": "^6.4|^7.0|^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Filesystem\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides basic utilities for the filesystem",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/filesystem/tree/v7.4.18"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-08-23T10:03:40+00:00"
+ },
+ {
+ "name": "symfony/polyfill-ctype",
+ "version": "v1.37.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-ctype.git",
+ "reference": "141046a8f9477948ff284fa65be2095baafb94f2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2",
+ "reference": "141046a8f9477948ff284fa65be2095baafb94f2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2"
+ },
+ "provide": {
+ "ext-ctype": "*"
+ },
+ "suggest": {
+ "ext-ctype": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Ctype\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Gert de Pagter",
+ "email": "BackEndTea@gmail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for ctype functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
- "ctype",
+ "ctype",
+ "polyfill",
+ "portable"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.37.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-04-10T16:19:22+00:00"
+ },
+ {
+ "name": "symfony/polyfill-intl-grapheme",
+ "version": "v1.41.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
+ "reference": "bb899c1db0aa8127dc3afe8cda4a67eb24915f8d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/bb899c1db0aa8127dc3afe8cda4a67eb24915f8d",
+ "reference": "bb899c1db0aa8127dc3afe8cda4a67eb24915f8d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for intl's grapheme_* functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "grapheme",
+ "intl",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.41.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-07-28T08:25:59+00:00"
+ },
+ {
+ "name": "symfony/polyfill-intl-normalizer",
+ "version": "v1.42.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
+ "reference": "aa20edea75bd9c48cfecc8360922e5a6e5c44502"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/aa20edea75bd9c48cfecc8360922e5a6e5c44502",
+ "reference": "aa20edea75bd9c48cfecc8360922e5a6e5c44502",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for intl's Normalizer class and related functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "intl",
+ "normalizer",
"polyfill",
- "portable"
+ "portable",
+ "shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.42.0"
},
"funding": [
{
@@ -1015,37 +2466,309 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2026-08-07T06:33:24+00:00"
},
{
- "name": "symfony/yaml",
- "version": "v2.8.52",
+ "name": "symfony/polyfill-mbstring",
+ "version": "v1.38.2",
"source": {
"type": "git",
- "url": "https://github.com/symfony/yaml.git",
- "reference": "02c1859112aa779d9ab394ae4f3381911d84052b"
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
+ "reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6",
+ "reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6",
+ "shasum": ""
+ },
+ "require": {
+ "ext-iconv": "*",
+ "php": ">=7.2"
+ },
+ "provide": {
+ "ext-mbstring": "*"
+ },
+ "suggest": {
+ "ext-mbstring": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for the Mbstring extension",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "mbstring",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.38.2"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-05-27T06:59:30+00:00"
+ },
+ {
+ "name": "symfony/service-contracts",
+ "version": "v3.7.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/service-contracts.git",
+ "reference": "15e6a07ec2a2c75ceb1b21dd98105ee8456d2257"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/02c1859112aa779d9ab394ae4f3381911d84052b",
- "reference": "02c1859112aa779d9ab394ae4f3381911d84052b",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/15e6a07ec2a2c75ceb1b21dd98105ee8456d2257",
+ "reference": "15e6a07ec2a2c75ceb1b21dd98105ee8456d2257",
"shasum": ""
},
"require": {
- "php": ">=5.3.9",
- "symfony/polyfill-ctype": "~1.8"
+ "php": ">=8.1",
+ "psr/container": "^1.1|^2.0",
+ "symfony/deprecation-contracts": "^2.5|^3"
+ },
+ "conflict": {
+ "ext-psr": "<1.1|>=2"
},
"type": "library",
"extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-main": "3.7-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Contracts\\Service\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Generic abstractions related to writing services",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/service-contracts/tree/v3.7.3"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
}
+ ],
+ "time": "2026-07-27T15:39:01+00:00"
+ },
+ {
+ "name": "symfony/string",
+ "version": "v7.4.15",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/string.git",
+ "reference": "e394af32256bf9e7bf80849d95e589167c10097b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/string/zipball/e394af32256bf9e7bf80849d95e589167c10097b",
+ "reference": "e394af32256bf9e7bf80849d95e589167c10097b",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3.0",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-intl-grapheme": "~1.33",
+ "symfony/polyfill-intl-normalizer": "~1.0",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "conflict": {
+ "symfony/translation-contracts": "<2.5"
+ },
+ "require-dev": {
+ "symfony/emoji": "^7.1|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/intl": "^6.4|^7.0|^8.0",
+ "symfony/translation-contracts": "^2.5|^3.0",
+ "symfony/var-exporter": "^6.4|^7.0|^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/functions.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\String\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "grapheme",
+ "i18n",
+ "string",
+ "unicode",
+ "utf-8",
+ "utf8"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/string/tree/v7.4.15"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-07-28T07:33:02+00:00"
+ },
+ {
+ "name": "symfony/yaml",
+ "version": "v7.4.18",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/yaml.git",
+ "reference": "4cef939e55b8a21c5780418de0d98ab00d0736e1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/4cef939e55b8a21c5780418de0d98ab00d0736e1",
+ "reference": "4cef939e55b8a21c5780418de0d98ab00d0736e1",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-ctype": "^1.8"
+ },
+ "conflict": {
+ "symfony/console": "<6.4"
},
+ "require-dev": {
+ "symfony/console": "^6.4|^7.0|^8.0"
+ },
+ "bin": [
+ "Resources/bin/yaml-lint"
+ ],
+ "type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Yaml\\": ""
@@ -1068,23 +2791,91 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Yaml Component",
+ "description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v2.8.52"
+ "source": "https://github.com/symfony/yaml/tree/v7.4.18"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-08-30T00:47:26+00:00"
+ },
+ {
+ "name": "theseer/tokenizer",
+ "version": "2.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/theseer/tokenizer.git",
+ "reference": "7989e43bf381af0eac72e4f0ca5bcbfa81658be4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/7989e43bf381af0eac72e4f0ca5bcbfa81658be4",
+ "reference": "7989e43bf381af0eac72e4f0ca5bcbfa81658be4",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": "^8.1"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
+ "support": {
+ "issues": "https://github.com/theseer/tokenizer/issues",
+ "source": "https://github.com/theseer/tokenizer/tree/2.0.1"
},
- "time": "2018-11-11T11:18:13+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2025-12-08T11:19:18+00:00"
}
],
"aliases": [],
"minimum-stability": "stable",
- "stability-flags": [],
+ "stability-flags": {},
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
- "php": ">=5.3",
+ "php": ">=8.3",
"ext-curl": "*"
},
- "platform-dev": [],
- "plugin-api-version": "2.3.0"
+ "platform-dev": {},
+ "plugin-api-version": "2.9.0"
}
diff --git a/src/Esendex/AccountService.php b/src/Esendex/AccountService.php
index c01bce3..b6bfc15 100644
--- a/src/Esendex/AccountService.php
+++ b/src/Esendex/AccountService.php
@@ -50,8 +50,8 @@ class AccountService
*/
public function __construct(
Authentication\IAuthentication $authentication,
- Http\IHttp $httpClient = null,
- Parser\AccountXmlParser $parser = null
+ ?Http\IHttp $httpClient = null,
+ ?Parser\AccountXmlParser $parser = null
) {
$this->authentication = $authentication;
$this->httpClient = (isset($httpClient))
diff --git a/src/Esendex/CheckAccessService.php b/src/Esendex/CheckAccessService.php
index bbb8728..59cf0e6 100644
--- a/src/Esendex/CheckAccessService.php
+++ b/src/Esendex/CheckAccessService.php
@@ -41,7 +41,7 @@ class CheckAccessService
private $httpClient;
- public function __construct(Http\IHttp $httpClient = null)
+ public function __construct(?Http\IHttp $httpClient = null)
{
$this->httpClient = (isset($httpClient))
? $httpClient
diff --git a/src/Esendex/DispatchService.php b/src/Esendex/DispatchService.php
index e4d914a..b4fd7b8 100644
--- a/src/Esendex/DispatchService.php
+++ b/src/Esendex/DispatchService.php
@@ -52,8 +52,8 @@ class DispatchService
*/
public function __construct(
Authentication\IAuthentication $authentication,
- Http\IHttp $httpClient = null,
- Parser\DispatchXmlParser $parser = null
+ ?Http\IHttp $httpClient = null,
+ ?Parser\DispatchXmlParser $parser = null
) {
$this->authentication = $authentication;
$this->httpClient = (isset($httpClient))
diff --git a/src/Esendex/Exceptions/EsendexException.php b/src/Esendex/Exceptions/EsendexException.php
index 82f65b2..3f4d151 100644
--- a/src/Esendex/Exceptions/EsendexException.php
+++ b/src/Esendex/Exceptions/EsendexException.php
@@ -38,9 +38,9 @@ class EsendexException extends \Exception
{
private $exceptionInfo;
- public function __construct($message = '', $code = null, array $_info = null)
+ public function __construct($message = '', ?int $code = null, ?array $_info = null)
{
- parent::__construct($message, $code);
+ parent::__construct($message, $code ?? 0);
$this->exceptionInfo($_info);
}
diff --git a/src/Esendex/Http/HttpClient.php b/src/Esendex/Http/HttpClient.php
index c9792ff..06feac2 100644
--- a/src/Esendex/Http/HttpClient.php
+++ b/src/Esendex/Http/HttpClient.php
@@ -123,7 +123,6 @@ private function request($url, $authentication, $method, $data = null, $contentT
\curl_setopt($curlHandle, CURLOPT_CUSTOMREQUEST, $method);
if ($method == 'PUT' || $method == 'POST') {
\curl_setopt($curlHandle, CURLOPT_POSTFIELDS, $data);
- \curl_setopt($curlHandle, CURLOPT_BINARYTRANSFER, true);
if (strlen($data) == 0) {
$httpHeaders[] = 'Content-Length: 0';
}
@@ -138,8 +137,6 @@ private function request($url, $authentication, $method, $data = null, $contentT
$results['data'] = $result;
$results['statuscode'] = $curlInfo["http_code"];
- \curl_close($curlHandle);
-
if ($results['statuscode'] < 200 || $results['statuscode'] >= 300) {
throw $this->getHttpException($results, $curlInfo);
}
@@ -148,7 +145,7 @@ private function request($url, $authentication, $method, $data = null, $contentT
return $results;
}
- private function getHttpException(array $result, array $info = null)
+ private function getHttpException(array $result, ?array $info = null)
{
$http_code = $result["statuscode"];
$data = $result["data"];
diff --git a/src/Esendex/Http/UriBuilder.php b/src/Esendex/Http/UriBuilder.php
index a9d2923..d58071e 100644
--- a/src/Esendex/Http/UriBuilder.php
+++ b/src/Esendex/Http/UriBuilder.php
@@ -44,7 +44,7 @@ public static function init()
self::$url_separator = ini_get('arg_separator.output');
}
- public static function serviceUri($version, $resource, array $parts = null, $secure = true)
+ public static function serviceUri($version, $resource, ?array $parts = null, $secure = true)
{
$host = defined("ESENDEX_API_HOST") ? ESENDEX_API_HOST : self::HOST;
$scheme = ($secure) ? "https" : "http";
diff --git a/src/Esendex/InboxService.php b/src/Esendex/InboxService.php
index 43c57c5..31912a9 100644
--- a/src/Esendex/InboxService.php
+++ b/src/Esendex/InboxService.php
@@ -50,8 +50,8 @@ class InboxService
*/
public function __construct(
Authentication\IAuthentication $authentication,
- Http\IHttp $httpClient = null,
- Parser\InboxXmlParser $parser = null
+ ?Http\IHttp $httpClient = null,
+ ?Parser\InboxXmlParser $parser = null
) {
$this->authentication = $authentication;
$this->httpClient = (isset($httpClient))
diff --git a/src/Esendex/MessageBatchesService.php b/src/Esendex/MessageBatchesService.php
index f4302d4..9810926 100644
--- a/src/Esendex/MessageBatchesService.php
+++ b/src/Esendex/MessageBatchesService.php
@@ -50,8 +50,8 @@ class MessageBatchesService
*/
public function __construct(
Authentication\IAuthentication $authentication,
- Http\IHttp $httpClient = null,
- Parser\BatchesMessagesXmlParser $parser = null
+ ?Http\IHttp $httpClient = null,
+ ?Parser\BatchesMessagesXmlParser $parser = null
)
{
$this->authentication = $authentication;
diff --git a/src/Esendex/MessageBodyService.php b/src/Esendex/MessageBodyService.php
index 6056b92..43b4a09 100644
--- a/src/Esendex/MessageBodyService.php
+++ b/src/Esendex/MessageBodyService.php
@@ -47,7 +47,7 @@ class MessageBodyService
* @param Authentication\IAuthentication $authentication
* @param Http\IHttp $httpClient
*/
- function __construct(Authentication\IAuthentication $authentication, Http\IHttp $httpClient = null)
+ function __construct(Authentication\IAuthentication $authentication, ?Http\IHttp $httpClient = null)
{
$this->authentication = $authentication;
$this->httpClient = (isset($httpClient))
diff --git a/src/Esendex/MessageHeaderService.php b/src/Esendex/MessageHeaderService.php
index 95b1613..cf98f57 100644
--- a/src/Esendex/MessageHeaderService.php
+++ b/src/Esendex/MessageHeaderService.php
@@ -50,8 +50,8 @@ class MessageHeaderService
*/
public function __construct(
Authentication\IAuthentication $authentication,
- Http\IHttp $httpClient = null,
- Parser\MessageHeaderXmlParser $parser = null
+ ?Http\IHttp $httpClient = null,
+ ?Parser\MessageHeaderXmlParser $parser = null
)
{
$this->authentication = $authentication;
diff --git a/src/Esendex/MessageInformationService.php b/src/Esendex/MessageInformationService.php
index e6ad011..4ea9572 100644
--- a/src/Esendex/MessageInformationService.php
+++ b/src/Esendex/MessageInformationService.php
@@ -52,8 +52,8 @@ class MessageInformationService
*/
public function __construct(
Authentication\IAuthentication $authentication,
- Http\IHttp $httpClient = null,
- Parser\MessageInformationXmlParser $parser = null
+ ?Http\IHttp $httpClient = null,
+ ?Parser\MessageInformationXmlParser $parser = null
) {
$this->authentication = $authentication;
$this->httpClient = (isset($httpClient))
diff --git a/src/Esendex/Model/InboxPage.php b/src/Esendex/Model/InboxPage.php
index 7ac543f..3114b85 100644
--- a/src/Esendex/Model/InboxPage.php
+++ b/src/Esendex/Model/InboxPage.php
@@ -52,57 +52,29 @@ public function __construct($startIndex, $totalCount)
$this->messages = array();
}
- /**
- * @return int
- */
- public function startIndex()
+ public function startIndex(): int
{
return $this->startIndex;
}
- /**
- * @return int
- */
- public function totalCount()
+ public function totalCount(): int
{
return $this->totalCount;
}
- /**
- * @param int $offset
- * An offset to check for.
- *
- * @return boolean true on success or false on failure.
- *
- */
- public function offsetExists($offset)
+ public function offsetExists(mixed $offset): bool
{
return isset($this->messages[$offset]);
}
- /**
- * @param int $offset
- * The offset to retrieve.
- *
- * @return InboxMessage
- */
- public function offsetGet($offset)
+ public function offsetGet(mixed $offset): mixed
{
return isset($this->messages[$offset])
? $this->messages[$offset]
: null;
}
- /**
- * @param int $offset
- * The offset to assign the value to. Cannot be explicitly set.
- *
- * @param InboxMessage $value
- * The value to set.
- *
- * @return void
- */
- public function offsetSet($offset, $value)
+ public function offsetSet(mixed $offset, mixed $value): void
{
if (!is_null($offset)) {
throw new \Esendex\Exceptions\ArgumentException("InboxPage does not support explicitly set offsets");
@@ -111,61 +83,37 @@ public function offsetSet($offset, $value)
$this->messages[] = $value;
}
- /**
- * @param int $offset
- * The offset to unset.
- *
- * @return void
- */
- public function offsetUnset($offset)
+ public function offsetUnset(mixed $offset): void
{
unset($this->messages[$offset]);
}
- /**
- * @return int
- */
- public function count()
+ public function count(): int
{
return count($this->messages);
}
- /**
- * @return InboxMessage
- */
- public function current()
+ public function current(): mixed
{
return $this->offsetGet($this->position);
}
- /**
- * @return void
- */
- public function next()
+ public function next(): void
{
++$this->position;
}
- /**
- * @return int
- */
- public function key()
+ public function key(): int
{
return $this->position;
}
- /**
- * @return boolean true on success or false on failure.
- */
- public function valid()
+ public function valid(): bool
{
return $this->offsetExists($this->position);
}
- /**
- * @return void
- */
- public function rewind()
+ public function rewind(): void
{
$this->position = 0;
}
diff --git a/src/Esendex/Model/SentMessagesPage.php b/src/Esendex/Model/SentMessagesPage.php
index 20faaea..fe93263 100644
--- a/src/Esendex/Model/SentMessagesPage.php
+++ b/src/Esendex/Model/SentMessagesPage.php
@@ -52,57 +52,29 @@ public function __construct($startIndex, $totalCount)
$this->messages = array();
}
- /**
- * @return int
- */
- public function startIndex()
+ public function startIndex(): int
{
return $this->startIndex;
}
- /**
- * @return int
- */
- public function totalCount()
+ public function totalCount(): int
{
return $this->totalCount;
}
- /**
- * @param int $offset
- * An offset to check for.
- *
- * @return boolean true on success or false on failure.
- *
- */
- public function offsetExists($offset)
+ public function offsetExists(mixed $offset): bool
{
return isset($this->messages[$offset]);
}
- /**
- * @param int $offset
- * The offset to retrieve.
- *
- * @return SentMessage
- */
- public function offsetGet($offset)
+ public function offsetGet(mixed $offset): mixed
{
return isset($this->messages[$offset])
? $this->messages[$offset]
: null;
}
- /**
- * @param int $offset
- * The offset to assign the value to. Cannot be explicitly set.
- *
- * @param SentMessage $value
- * The value to set.
- *
- * @return void
- */
- public function offsetSet($offset, $value)
+ public function offsetSet(mixed $offset,mixed $value): void
{
if (!is_null($offset)) {
throw new \Esendex\Exceptions\ArgumentException("SentMessagesPage does not support explicitly set offsets");
@@ -111,61 +83,37 @@ public function offsetSet($offset, $value)
$this->messages[] = $value;
}
- /**
- * @param int $offset
- * The offset to unset.
- *
- * @return void
- */
- public function offsetUnset($offset)
+ public function offsetUnset(mixed $offset): void
{
unset($this->messages[$offset]);
}
- /**
- * @return int
- */
- public function count()
+ public function count(): int
{
return count($this->messages);
}
- /**
- * @return SentMessage
- */
- public function current()
+ public function current(): mixed
{
return $this->offsetGet($this->position);
}
- /**
- * @return void
- */
- public function next()
+ public function next(): void
{
++$this->position;
}
- /**
- * @return int
- */
- public function key()
+ public function key(): int
{
return $this->position;
}
- /**
- * @return boolean true on success or false on failure.
- */
- public function valid()
+ public function valid(): bool
{
return $this->offsetExists($this->position);
}
- /**
- * @return void
- */
- public function rewind()
+ public function rewind(): void
{
$this->position = 0;
}
diff --git a/src/Esendex/OptOutsService.php b/src/Esendex/OptOutsService.php
index dd9829b..78abf8f 100644
--- a/src/Esendex/OptOutsService.php
+++ b/src/Esendex/OptOutsService.php
@@ -49,8 +49,8 @@ class OptOutsService
*/
public function __construct(
Authentication\IAuthentication $authentication,
- Http\IHttp $httpClient = null,
- Parser\OptOutXmlParser $parser = null
+ ?Http\IHttp $httpClient = null,
+ ?Parser\OptOutXmlParser $parser = null
) {
$this->authentication = $authentication;
$this->httpClient = (isset($httpClient))
diff --git a/src/Esendex/Parser/DispatchXmlParser.php b/src/Esendex/Parser/DispatchXmlParser.php
index 76975cf..d305a13 100644
--- a/src/Esendex/Parser/DispatchXmlParser.php
+++ b/src/Esendex/Parser/DispatchXmlParser.php
@@ -94,15 +94,18 @@ public function addMessage(\SimpleXMLElement $doc, \Esendex\Model\DispatchMessag
throw new ArgumentException("Alphanumeric originator contains invalid character(s)");
}
}
- if (strlen($message->recipient()) < 1)
+ $recipient = $message->recipient();
+
+ if ($recipient === null || $recipient === '') {
throw new ArgumentException("Recipient is invalid");
+ }
if ($message->validityPeriod() > 72)
throw new ArgumentException("Validity too long, must be less or equal to than 72");
$child = $doc->addChild("message");
if ($message->originator() != null)
$child->from = $message->originator();
- $child->to = $message->recipient();
+ $child->to = $recipient;
$child->body = $message->body();
$child->type = $message->type();
if ($message->validityPeriod() > 0)
diff --git a/src/Esendex/SentMessagesService.php b/src/Esendex/SentMessagesService.php
index 2737cd9..d7c6009 100644
--- a/src/Esendex/SentMessagesService.php
+++ b/src/Esendex/SentMessagesService.php
@@ -50,8 +50,8 @@ class SentMessagesService
*/
public function __construct(
Authentication\IAuthentication $authentication,
- Http\IHttp $httpClient = null,
- Parser\SentMessagesXmlParser $parser = null
+ ?Http\IHttp $httpClient = null,
+ ?Parser\SentMessagesXmlParser $parser = null
) {
$this->authentication = $authentication;
$this->httpClient = (isset($httpClient))
diff --git a/src/Esendex/SessionService.php b/src/Esendex/SessionService.php
index e1adc7e..fac7261 100644
--- a/src/Esendex/SessionService.php
+++ b/src/Esendex/SessionService.php
@@ -38,8 +38,9 @@ class SessionService
{
const SERVICE = 'session';
const SERVICE_VERSION = 'v1.0';
+ private $httpUtil;
- function __construct(Http\IHttp $httpClient = null)
+ function __construct(?Http\IHttp $httpClient = null)
{
$this->httpUtil = (isset($httpClient))
? $httpClient
diff --git a/src/Esendex/SurveyReportService.php b/src/Esendex/SurveyReportService.php
index 289b87b..488fe8c 100644
--- a/src/Esendex/SurveyReportService.php
+++ b/src/Esendex/SurveyReportService.php
@@ -40,6 +40,7 @@ class SurveyReportService
{
private $authentication;
private $httpClient;
+ private $parser;
/**
* @param Authentication\IAuthentication $authentication
@@ -48,8 +49,8 @@ class SurveyReportService
*/
public function __construct(
Authentication\IAuthentication $authentication,
- Http\IHttp $httpClient = null,
- Parser\SurveyReportXmlParser $parser = null
+ ?Http\IHttp $httpClient = null,
+ ?Parser\SurveyReportXmlParser $parser = null,
) {
$this->authentication = $authentication;
$this->httpClient = (isset($httpClient))
diff --git a/src/Esendex/SurveySendService.php b/src/Esendex/SurveySendService.php
index 3d7c4bc..315563e 100644
--- a/src/Esendex/SurveySendService.php
+++ b/src/Esendex/SurveySendService.php
@@ -45,7 +45,7 @@ class SurveySendService
*/
public function __construct(
Authentication\IAuthentication $authentication,
- Http\IHttp $httpClient = null
+ ?Http\IHttp $httpClient = null
) {
$this->authentication = $authentication;
$this->httpClient = (isset($httpClient))
diff --git a/test/Esendex/Authentication/LoginAuthenticationTest.php b/test/Esendex/Authentication/LoginAuthenticationTest.php
index 09858f5..30ed827 100644
--- a/test/Esendex/Authentication/LoginAuthenticationTest.php
+++ b/test/Esendex/Authentication/LoginAuthenticationTest.php
@@ -34,11 +34,9 @@
*/
namespace Esendex\Authentication;
-class LoginAuthenticationTest extends \PHPUnit_Framework_TestCase
+class LoginAuthenticationTest extends \PHPUnit\Framework\TestCase
{
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function serialiseReturnsExpectedValue()
{
$reference = "EX000999";
diff --git a/test/Esendex/Authentication/SessionAuthenticationTest.php b/test/Esendex/Authentication/SessionAuthenticationTest.php
index 8958912..6bd68b2 100644
--- a/test/Esendex/Authentication/SessionAuthenticationTest.php
+++ b/test/Esendex/Authentication/SessionAuthenticationTest.php
@@ -34,11 +34,9 @@
*/
namespace Esendex\Authentication;
-class SessionAuthenticationTest extends \PHPUnit_Framework_TestCase
+class SessionAuthenticationTest extends \PHPUnit\Framework\TestCase
{
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function serialiseReturnsExpectedValue()
{
$reference = "EX000999";
diff --git a/test/Esendex/Http/UriBuilderTest.php b/test/Esendex/Http/UriBuilderTest.php
index ea557a1..32c6260 100644
--- a/test/Esendex/Http/UriBuilderTest.php
+++ b/test/Esendex/Http/UriBuilderTest.php
@@ -34,11 +34,9 @@
*/
namespace Esendex\Http;
-class UriBuilderTest extends \PHPUnit_Framework_TestCase
+class UriBuilderTest extends \PHPUnit\Framework\TestCase
{
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function serviceUriReturnsExpectedUri()
{
$version = "v1.0";
@@ -49,12 +47,10 @@ function serviceUriReturnsExpectedUri()
$this->assertEquals($expected, $result);
}
-
- /**
- * @test
- * @runInSeparateProcess
- */
- function serviceUriWithOverrideHostReturnsExpectedUri()
+
+ #[\PHPUnit\Framework\Attributes\Test]
+ #[\PHPUnit\Framework\Attributes\RunInSeparateProcess]
+ function serviceUriWithOverrideHostReturnsExpectedUri(): void
{
define("ESENDEX_API_HOST", "api.myfakeesendex.com");
@@ -67,9 +63,7 @@ function serviceUriWithOverrideHostReturnsExpectedUri()
$this->assertEquals($expected, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function serviceUriReturnsExpectedUriWhenUnsecured()
{
$version = "v1.0";
@@ -81,9 +75,7 @@ function serviceUriReturnsExpectedUriWhenUnsecured()
$this->assertEquals($expected, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function serviceUriReturnsExpectedUriWithIdentifier()
{
$version = "v1.0";
@@ -96,9 +88,7 @@ function serviceUriReturnsExpectedUriWithIdentifier()
$this->assertEquals($expected, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function serviceUriReturnsExpectedUriWithIdentifierAndSubResource()
{
$version = "v1.0";
@@ -112,9 +102,7 @@ function serviceUriReturnsExpectedUriWithIdentifierAndSubResource()
$this->assertEquals($expected, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function serviceUriReturnsExpectedUriWithIdentifierRequiringEncoding()
{
$version = "v1.0";
@@ -128,9 +116,7 @@ function serviceUriReturnsExpectedUriWithIdentifierRequiringEncoding()
$this->assertEquals($expected, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function buildQueryReturnsExpectedQueryString()
{
$params = array(
@@ -144,9 +130,7 @@ function buildQueryReturnsExpectedQueryString()
$this->assertEquals($expected, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function buildQueryWithNonUriCharsInValuesReturnsExpectedQueryString()
{
$params = array(
@@ -160,9 +144,7 @@ function buildQueryWithNonUriCharsInValuesReturnsExpectedQueryString()
$this->assertEquals($expected, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function buildQueryWithNonUriCharsInKeysReturnsExpectedQueryString()
{
$params = array(
@@ -176,9 +158,7 @@ function buildQueryWithNonUriCharsInKeysReturnsExpectedQueryString()
$this->assertEquals($expected, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function buildQueryWithDateTimeValueReturnsExpectedQueryString()
{
$params = array(
diff --git a/test/Esendex/Parser/AccountXmlParserTest.php b/test/Esendex/Parser/AccountXmlParserTest.php
index b497956..04d8894 100644
--- a/test/Esendex/Parser/AccountXmlParserTest.php
+++ b/test/Esendex/Parser/AccountXmlParserTest.php
@@ -36,7 +36,7 @@
use Esendex\Model\Account;
-class AccountXmlParserTest extends \PHPUnit_Framework_TestCase
+class AccountXmlParserTest extends \PHPUnit\Framework\TestCase
{
const RESPONSE_XML = <<
@@ -70,9 +70,7 @@ class AccountXmlParserTest extends \PHPUnit_Framework_TestCase
XML;
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parseAccountsResponse()
{
$parser = new AccountXmlParser();
diff --git a/test/Esendex/Parser/DispatchXmlParserTest.php b/test/Esendex/Parser/DispatchXmlParserTest.php
index 27c3f42..bf8d232 100644
--- a/test/Esendex/Parser/DispatchXmlParserTest.php
+++ b/test/Esendex/Parser/DispatchXmlParserTest.php
@@ -38,7 +38,7 @@
use Esendex\Model\MessageBody;
use Esendex\Model\DispatchMessage;
-class DispatchXmlParserTest extends \PHPUnit_Framework_TestCase
+class DispatchXmlParserTest extends \PHPUnit\Framework\TestCase
{
const DISPATCHER_RESPONSE_XML = <<
@@ -53,9 +53,7 @@ class DispatchXmlParserTest extends \PHPUnit_Framework_TestCase
XML;
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function encodeMessage()
{
$reference = "EX123456";
@@ -85,9 +83,7 @@ function encodeMessage()
$this->assertEquals($expected, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function encodeVoiceMessage()
{
$reference = "EX123456";
@@ -119,18 +115,16 @@ function encodeVoiceMessage()
$this->assertEquals($expected, $result);
}
- function characterSets()
+ public static function characterSets(): array
{
return array(array(MessageBody::CharsetGSM),
array(MessageBody::CharsetUnicode),
array(MessageBody::CharsetAuto));
}
-
- /**
- * @test
- * @dataProvider characterSets
- */
- function encodeCharacterSetMessage($charset)
+
+ #[\PHPUnit\Framework\Attributes\Test]
+ #[\PHPUnit\Framework\Attributes\DataProvider('characterSets')]
+ function encodeCharacterSetMessage($charset): void
{
$reference = "EX123456";
$message = new DispatchMessage(
@@ -159,17 +153,16 @@ function encodeCharacterSetMessage($charset)
$this->assertEquals($expected, $result);
}
- function invalidOriginators()
+ public static function invalidOriginators(): array
{
return array(array("TooLongForAlpha", "Alphanumeric originator must <= 11 characters"),
array("BadChars{}", "Alphanumeric originator contains invalid character(s)"),
array("012345678901234567890", "Numeric originator must be <= 20 digits"));
}
-
- /**
- * @test
- * @dataProvider invalidOriginators
- */
+
+ #[\PHPUnit\Framework\Attributes\Test]
+ #[\PHPUnit\Framework\Attributes\DataProvider('invalidOriginators')]
+
function encodeMessageInvalidOriginator($originator, $expectedMessage)
{
$reference = "EX123456";
@@ -181,13 +174,12 @@ function encodeMessageInvalidOriginator($originator, $expectedMessage)
);
$parser = new DispatchXmlParser($reference);
- $this->setExpectedException("\\Esendex\\Exceptions\\ArgumentException", $expectedMessage);
+ $this->expectException(\Esendex\Exceptions\ArgumentException::class);
+ $this->expectExceptionMessage($expectedMessage);
$parser->encode($message);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function encodeMessageInvalidRecipient()
{
$reference = "EX123456";
@@ -199,13 +191,12 @@ function encodeMessageInvalidRecipient()
);
$parser = new DispatchXmlParser($reference);
- $this->setExpectedException("\\Esendex\\Exceptions\\ArgumentException", "Recipient is invalid");
+ $this->expectException(\Esendex\Exceptions\ArgumentException::class);
+ $this->expectExceptionMessage("Recipient is invalid");
$parser->encode($message);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function encodeMessageInvalidValidity()
{
$reference = "EX123456";
@@ -218,16 +209,13 @@ function encodeMessageInvalidValidity()
);
$parser = new DispatchXmlParser($reference);
- $this->setExpectedException(
- "\\Esendex\\Exceptions\\ArgumentException",
- "Validity too long, must be less or equal to than 72"
- );
+ $this->expectException(\Esendex\Exceptions\ArgumentException::class);
+ $this->expectExceptionMessage("Validity too long, must be less or equal to than 72");
+
$parser->encode($message);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function encodeMessageBodyContainsAmpersand()
{
$reference = "EX123456";
@@ -244,9 +232,7 @@ function encodeMessageBodyContainsAmpersand()
$this->assertThat($result, $this->stringContains("This & That"));
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parseMessageResults()
{
$parser = new DispatchXmlParser("reference");
@@ -264,9 +250,7 @@ function parseMessageResults()
);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parseMessageResultsWithoutHeaders()
{
$parser = new DispatchXmlParser("reference");
@@ -276,14 +260,12 @@ function parseMessageResultsWithoutHeaders()
$this->assertEquals(0, count($result));
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parseMessageResultsUnexpectedXml()
{
$parser = new DispatchXmlParser("reference");
- $this->setExpectedException("\\Esendex\\Exceptions\\XmlException");
+ $this->expectException(\Esendex\Exceptions\XmlException::class);
$parser->parse(" ");
}
}
diff --git a/test/Esendex/Parser/InboxXmlParserTest.php b/test/Esendex/Parser/InboxXmlParserTest.php
index 476ed96..019dbdb 100644
--- a/test/Esendex/Parser/InboxXmlParserTest.php
+++ b/test/Esendex/Parser/InboxXmlParserTest.php
@@ -34,12 +34,12 @@
*/
namespace Esendex\Parser;
-class InboxXmlParserTest extends \PHPUnit_Framework_TestCase
+class InboxXmlParserTest extends \PHPUnit\Framework\TestCase
{
private $headerParser;
private $parser;
- function setUp()
+ function setUp(): void
{
$this->headerParser = $this->getMockBuilder("\\Esendex\\Parser\\MessageHeaderXmlParser")
->disableOriginalConstructor()
@@ -114,15 +114,13 @@ function setUp()
XML;
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parseXmlWithResults()
{
$this->headerParser
->expects($this->exactly(3))
->method("parseHeader")
- ->will($this->returnValue(new \Esendex\Model\InboxMessage()));
+ ->willReturn(new \Esendex\Model\InboxMessage());
$result = $this->parser->parse(self::INBOX_RESPONSE_XML);
@@ -142,9 +140,7 @@ function parseXmlWithResults()
xmlns="http://api.esendex.com/ns/" />
XML;
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parseXmlWithNoResults()
{
$this->headerParser
diff --git a/test/Esendex/Parser/MessageHeaderXmlParserTest.php b/test/Esendex/Parser/MessageHeaderXmlParserTest.php
index 361710b..cd45b41 100644
--- a/test/Esendex/Parser/MessageHeaderXmlParserTest.php
+++ b/test/Esendex/Parser/MessageHeaderXmlParserTest.php
@@ -36,7 +36,7 @@
use Esendex\Model\Message;
-class MessageHeaderXmlParserTest extends \PHPUnit_Framework_TestCase
+class MessageHeaderXmlParserTest extends \PHPUnit\Framework\TestCase
{
const OUTBOUND_RESPONSE_XML = <<
@@ -66,9 +66,7 @@ class MessageHeaderXmlParserTest extends \PHPUnit_Framework_TestCase
XML;
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parseOutboundMessage()
{
$parser = new MessageHeaderXmlParser();
@@ -144,9 +142,7 @@ function parseOutboundMessage()
XML;
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parseFailedOutboundMessage()
{
$parser = new MessageHeaderXmlParser();
@@ -220,9 +216,7 @@ function parseFailedOutboundMessage()
XML;
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parseInboundMessage()
{
$parser = new MessageHeaderXmlParser();
@@ -257,9 +251,7 @@ function parseInboundMessage()
$this->assertEquals("e84ccbdc-732f-1485-0b03-0aa56519e001", $result->batchId());
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parseReadInboundMessage()
{
$readAt = "2013-03-07T15:20:12Z";
diff --git a/test/Esendex/Parser/MessageInformationXmlParserTest.php b/test/Esendex/Parser/MessageInformationXmlParserTest.php
index 1d248a4..5517555 100644
--- a/test/Esendex/Parser/MessageInformationXmlParserTest.php
+++ b/test/Esendex/Parser/MessageInformationXmlParserTest.php
@@ -38,9 +38,9 @@
use Esendex\Model\MessageBody;
use Esendex\Model\MessageInformation;
-class MessageInformationXmlParserTest extends \PHPUnit_Framework_TestCase
+class MessageInformationXmlParserTest extends \PHPUnit\Framework\TestCase
{
- function characterSets()
+ public static function characterSets(): array
{
return array(
array(MessageBody::CharsetGSM),
@@ -49,11 +49,9 @@ function characterSets()
);
}
- /**
- * @test
- * @dataProvider characterSets
- */
- function encodeRequest($characterSet)
+ #[\PHPUnit\Framework\Attributes\Test]
+ #[\PHPUnit\Framework\Attributes\DataProvider('characterSets')]
+ function encodeRequest($characterSet): void
{
$message = "the message";
$parser = new MessageInformationXmlParser();
@@ -69,15 +67,13 @@ function encodeRequest($characterSet)
$this->assertEquals($expected, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function encodeRequestInvalidCharacterSet()
{
$parser = new MessageInformationXmlParser();
- $this->setExpectedException(
- "\\Esendex\\Exceptions\\ArgumentException",
+ $this->expectException(\Esendex\Exceptions\ArgumentException::class);
+ $this->expectExceptionMessage(
"characterSet value was 'Latin1' and must be one of 'GSM', " .
"'Unicode' or 'Auto'"
);
@@ -85,9 +81,7 @@ function encodeRequestInvalidCharacterSet()
$result = $parser->encode("a message", "Latin1");
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function encodeMessageBodyContainingXmlEntities()
{
$parser = new MessageInformationXmlParser();
@@ -114,9 +108,7 @@ function encodeMessageBodyContainingXmlEntities()
XML;
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parseResponse()
{
$parser = new MessageInformationXmlParser();
diff --git a/test/Esendex/Parser/OptOutXmlParserTest.php b/test/Esendex/Parser/OptOutXmlParserTest.php
index 25eca81..b16833d 100644
--- a/test/Esendex/Parser/OptOutXmlParserTest.php
+++ b/test/Esendex/Parser/OptOutXmlParserTest.php
@@ -36,7 +36,7 @@
use Esendex\Model\OptOut;
-class OptOutXmlParserTest extends \PHPUnit_Framework_TestCase
+class OptOutXmlParserTest extends \PHPUnit\Framework\TestCase
{
const OPTOUT_RESPONSE_XML = "
EX0012345
@@ -72,9 +72,7 @@ class OptOutXmlParserTest extends \PHPUnit_Framework_TestCase
";
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function encodePostRequest()
{
$parser = new OptOutXmlParser();
@@ -85,9 +83,7 @@ function encodePostRequest()
$this->assertSame($formattedExpectedResult, $formattedResult);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parseOptOut()
{
$parser = new OptOutXmlParser();
@@ -100,14 +96,12 @@ function parseOptOut()
$this->assertEquals("EX0012345", $result->accountReference());
$this->assertEquals("44712345678", $result->from()->phoneNumber());
$this->assertEquals(
- \DateTime::createFromFormat(\DateTime::ISO8601, "2016-10-10T13:00:00.1234567Z"),
+ new \DateTime("2016-10-10T13:00:00.123Z"),
$result->receivedAt()
);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parsePostResponse()
{
$parser = new OptOutXmlParser();
@@ -122,14 +116,12 @@ function parsePostResponse()
$this->assertEquals("EX0012345", $result->accountReference());
$this->assertEquals("44712345678", $result->from()->phoneNumber());
$this->assertEquals(
- \DateTime::createFromFormat(\DateTime::ISO8601, "2016-10-10T13:00:00.1234567Z"),
+ new \DateTime("2016-10-10T13:00:00.123Z"),
$result->receivedAt()
);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parseMultipleResult()
{
$parser = new OptOutXmlParser();
@@ -145,7 +137,7 @@ function parseMultipleResult()
$this->assertEquals("47a1144b-8a68-4608-9360-d4a52aaf90d2", $optOuts[0]->id());
$this->assertEquals("EX0012345", $optOuts[0]->accountReference());
$this->assertEquals("447728693893", $optOuts[0]->from()->phoneNumber());
- $expectedDate = \DateTime::createFromFormat(\DateTime::ISO8601, "2016-10-10T13:00:00.1234567Z");
+ $expectedDate = new \DateTime("2015-11-09T15:18:19.033333Z");
$this->assertEquals($expectedDate, $optOuts[0]->receivedAt()
);
}
diff --git a/test/Esendex/Parser/SentMessagesXmlParserTest.php b/test/Esendex/Parser/SentMessagesXmlParserTest.php
index 408d757..82a835b 100644
--- a/test/Esendex/Parser/SentMessagesXmlParserTest.php
+++ b/test/Esendex/Parser/SentMessagesXmlParserTest.php
@@ -34,12 +34,12 @@
*/
namespace Esendex\Parser;
-class SentMessagesXmlParserTest extends \PHPUnit_Framework_TestCase
+class SentMessagesXmlParserTest extends \PHPUnit\Framework\TestCase
{
private $headerParser;
private $parser;
- function setUp()
+ function setUp(): void
{
$this->headerParser = $this->getMockBuilder("\\Esendex\\Parser\\MessageHeaderXmlParser")
->disableOriginalConstructor()
@@ -119,15 +119,13 @@ function setUp()
XML;
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parseXmlWithResults()
{
$this->headerParser
->expects($this->exactly(3))
->method("parseHeader")
- ->will($this->returnValue(new \Esendex\Model\SentMessage()));
+ ->willReturn(new \Esendex\Model\SentMessage());
$result = $this->parser->parse(self::SENT_MESSAGE_RESPONSE_XML);
@@ -147,9 +145,7 @@ function parseXmlWithResults()
xmlns="http://api.esendex.com/ns/" />
XML;
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function parseXmlWithNoResults()
{
$this->headerParser
diff --git a/test/Esendex/Services/AccountServiceTest.php b/test/Esendex/Services/AccountServiceTest.php
index 1eb6ea8..c613be2 100644
--- a/test/Esendex/Services/AccountServiceTest.php
+++ b/test/Esendex/Services/AccountServiceTest.php
@@ -34,7 +34,7 @@
*/
namespace Esendex;
-class AccountServiceTest extends \PHPUnit_Framework_TestCase
+class AccountServiceTest extends \PHPUnit\Framework\TestCase
{
private $reference;
private $username;
@@ -44,17 +44,17 @@ class AccountServiceTest extends \PHPUnit_Framework_TestCase
private $parser;
private $service;
- function setUp()
+ function setUp(): void
{
$this->reference = "asjkdhlajksdhla";
$this->username = "jhdkfjh";
$this->password = "dklfjlsdjkf";
$this->authentication = new Authentication\LoginAuthentication($this->reference, $this->username, $this->password);
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->httpUtil->expects($this->any())
->method("isSecure")
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->parser = $this->getMockBuilder("\\Esendex\\Parser\\AccountXmlParser")
->disableOriginalConstructor()
@@ -63,9 +63,7 @@ function setUp()
$this->service = new AccountService($this->authentication, $this->httpUtil, $this->parser);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getAccount()
{
$response = "xml response";
@@ -81,21 +79,19 @@ function getAccount()
),
$this->equalTo($this->authentication)
)
- ->will($this->returnValue($response));
+ ->willReturn($response);
$this->parser
->expects($this->once())
->method("parse")
->with($this->equalTo($response))
- ->will($this->returnValue(array($account)));
+ ->willReturn(array($account));
$result = $this->service->getAccount();
$this->assertSame($account, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getAccountNoMatchingAccountReference()
{
$response = "xml response";
@@ -111,21 +107,19 @@ function getAccountNoMatchingAccountReference()
),
$this->equalTo($this->authentication)
)
- ->will($this->returnValue($response));
+ ->willReturn($response);
$this->parser
->expects($this->once())
->method("parse")
->with($this->equalTo($response))
- ->will($this->returnValue(array($account)));
+ ->willReturn(array($account));
$result = $this->service->getAccount();
$this->assertNull($result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getAccountWithSpecificReference()
{
$response = "xml response";
@@ -144,21 +138,19 @@ function getAccountWithSpecificReference()
),
$this->equalTo($this->authentication)
)
- ->will($this->returnValue($response));
+ ->willReturn($response);
$this->parser
->expects($this->once())
->method("parse")
->with($this->equalTo($response))
- ->will($this->returnValue(array($defaultAccount,$requiredAccount)));
+ ->willReturn(array($defaultAccount,$requiredAccount));
$result = $this->service->getAccount($specificReference);
$this->assertSame($requiredAccount, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getAccounts()
{
$response = "xml response";
@@ -174,12 +166,12 @@ function getAccounts()
),
$this->equalTo($this->authentication)
)
- ->will($this->returnValue($response));
+ ->willReturn($response);
$this->parser
->expects($this->once())
->method("parse")
->with($this->equalTo($response))
- ->will($this->returnValue(array($accountOne, $accountTwo)));
+ ->willReturn(array($accountOne, $accountTwo));
$result = $this->service->getAccounts();
diff --git a/test/Esendex/Services/CheckAccessServiceTest.php b/test/Esendex/Services/CheckAccessServiceTest.php
index 382f201..88b3947 100644
--- a/test/Esendex/Services/CheckAccessServiceTest.php
+++ b/test/Esendex/Services/CheckAccessServiceTest.php
@@ -34,7 +34,7 @@
*/
namespace Esendex;
-class CheckAccessServiceTest extends \PHPUnit_Framework_TestCase
+class CheckAccessServiceTest extends \PHPUnit\Framework\TestCase
{
const ACCOUNTS_RESPONSE_XML = <<
@@ -61,7 +61,7 @@ class CheckAccessServiceTest extends \PHPUnit_Framework_TestCase
private $httpUtil;
private $service;
- function setUp()
+ function setUp(): void
{
$this->reference = "EX123456";
$this->username = "jhdkfjh";
@@ -72,17 +72,15 @@ function setUp()
$this->password
);
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->httpUtil->expects($this->any())
->method("isSecure")
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->service = new CheckAccessService($this->httpUtil);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function checkAccess()
{
$this->httpUtil
@@ -94,16 +92,14 @@ function checkAccess()
),
$this->isInstanceOf("\\Esendex\\Authentication\\LoginAuthentication")
)
- ->will($this->returnValue(self::ACCOUNTS_RESPONSE_XML));
+ ->willReturn(self::ACCOUNTS_RESPONSE_XML);
$result = $this->service->checkAccess($this->reference, $this->username, $this->password);
$this->assertTrue($result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function checkAccessInputCaseMismatchWithResponseCase()
{
$this->httpUtil
@@ -115,31 +111,27 @@ function checkAccessInputCaseMismatchWithResponseCase()
),
$this->isInstanceOf("\\Esendex\\Authentication\\LoginAuthentication")
)
- ->will($this->returnValue(self::ACCOUNTS_RESPONSE_XML));
+ ->willReturn(self::ACCOUNTS_RESPONSE_XML);
$result = $this->service->checkAccess(strtolower($this->reference), $this->username, $this->password);
$this->assertTrue($result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function checkAccessAccountReferenceNotAccessible()
{
$this->httpUtil
->expects($this->once())
->method("get")
- ->will($this->returnValue(self::ACCOUNTS_RESPONSE_XML));
+ ->willReturn(self::ACCOUNTS_RESPONSE_XML);
$result = $this->service->checkAccess("Wrong", $this->username, $this->password);
$this->assertFalse($result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function checkSessionAccess()
{
$session = new Authentication\SessionAuthentication($this->reference, uniqid());
@@ -150,16 +142,14 @@ function checkSessionAccess()
$this->anything(),
$this->equalTo($session)
)
- ->will($this->returnValue(self::ACCOUNTS_RESPONSE_XML));
+ ->willReturn(self::ACCOUNTS_RESPONSE_XML);
$result = $this->service->checkSessionAccess($session);
$this->assertTrue($result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function checkAuthenticationAccess()
{
$this->httpUtil
@@ -169,16 +159,14 @@ function checkAuthenticationAccess()
$this->anything(),
$this->equalTo($this->authentication)
)
- ->will($this->returnValue(self::ACCOUNTS_RESPONSE_XML));
+ ->willReturn(self::ACCOUNTS_RESPONSE_XML);
$result = $this->service->checkAuthenticationAccess($this->authentication);
$this->assertTrue($result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function checkAuthenticationAccessUnexpectedResponse()
{
$this->httpUtil
diff --git a/test/Esendex/Services/DispatchServiceTest.php b/test/Esendex/Services/DispatchServiceTest.php
index ab4be85..03d3697 100644
--- a/test/Esendex/Services/DispatchServiceTest.php
+++ b/test/Esendex/Services/DispatchServiceTest.php
@@ -34,7 +34,7 @@
*/
namespace Esendex;
-class DispatchServiceTest extends \PHPUnit_Framework_TestCase
+class DispatchServiceTest extends \PHPUnit\Framework\TestCase
{
private $reference;
private $username;
@@ -45,7 +45,7 @@ class DispatchServiceTest extends \PHPUnit_Framework_TestCase
public $parser;
- function setUp()
+ function setUp(): void
{
$this->reference = "EX123456";
$this->username = "jhdkfjh";
@@ -56,10 +56,10 @@ function setUp()
$this->password
);
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->httpUtil->expects($this->any())
->method("isSecure")
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->parser = $this->getMockBuilder("\\Esendex\\Parser\\DispatchXmlParser")
->disableOriginalConstructor()
@@ -68,9 +68,7 @@ function setUp()
$this->service = new DispatchService($this->authentication, $this->httpUtil, $this->parser);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function sendMultipleSuccess()
{
$messages = array(
@@ -88,7 +86,7 @@ function sendMultipleSuccess()
->expects($this->once())
->method("encodeMultiple")
->with($this->equalTo($messages))
- ->will($this->returnValue($request));
+ ->willReturn($request);
$this->httpUtil
->expects($this->once())
->method("post")
@@ -99,21 +97,19 @@ function sendMultipleSuccess()
$this->equalTo($this->authentication),
$this->equalTo($request)
)
- ->will($this->returnValue($response));
+ ->willReturn($response);
$this->parser
->expects($this->once())
->method("parse")
->with($this->equalTo($response))
- ->will($this->returnValue(array($resultItem)));
+ ->willReturn(array($resultItem));
$result = $this->service->sendMultiple($messages);
$this->assertSame(array($resultItem), $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function sendSuccess()
{
$message = new Model\DispatchMessage("DispatcherTest", "447712345678", "Message Body", Model\Message::SmsType);
@@ -128,7 +124,7 @@ function sendSuccess()
->expects($this->once())
->method("encode")
->with($this->equalTo($message))
- ->will($this->returnValue($request));
+ ->willReturn($request);
$this->httpUtil
->expects($this->once())
->method("post")
@@ -139,34 +135,29 @@ function sendSuccess()
$this->equalTo($this->authentication),
$this->equalTo($request)
)
- ->will($this->returnValue($response));
+ ->willReturn($response);
$this->parser
->expects($this->once())
->method("parse")
->with($this->equalTo($response))
- ->will($this->returnValue(array($resultItem)));
+ ->willReturn(array($resultItem));
$result = $this->service->send($message);
$this->assertSame($resultItem, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function sendFailure()
{
$message = new Model\DispatchMessage("DispatcherTest", "447712345678", "Message Body", Model\Message::SmsType);
$this->parser
->expects($this->any())
->method("parse")
- ->will($this->returnValue(array()));
+ ->willReturn(array());
- $this->setExpectedException(
- "\\Esendex\\Exceptions\\EsendexException",
- "Error parsing the dispatch result",
- null
- );
+ $this->expectException(\Esendex\Exceptions\EsendexException::class);
+ $this->expectExceptionMessage("Error parsing the dispatch result");
$this->service->send($message);
}
@@ -189,9 +180,7 @@ function sendFailure()
XML;
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getCredits()
{
$this->httpUtil
@@ -203,7 +192,7 @@ function getCredits()
),
$this->isInstanceOf("\\Esendex\\Authentication\\LoginAuthentication")
)
- ->will($this->returnValue(self::ACCOUNTS_RESPONSE_XML));
+ ->willReturn(self::ACCOUNTS_RESPONSE_XML);
$result = $this->service->getCredits();
@@ -227,9 +216,7 @@ function getCredits()
XML;
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getCreditsNoCredits()
{
$this->httpUtil
@@ -241,7 +228,7 @@ function getCreditsNoCredits()
),
$this->isInstanceOf("\\Esendex\\Authentication\\LoginAuthentication")
)
- ->will($this->returnValue(self::ACCOUNTS_NOCREDITS_RESPONSE_XML));
+ ->willReturn(self::ACCOUNTS_NOCREDITS_RESPONSE_XML);
$result = $this->service->getCredits();
diff --git a/test/Esendex/Services/InboxServiceTest.php b/test/Esendex/Services/InboxServiceTest.php
index 6d80b30..629e977 100644
--- a/test/Esendex/Services/InboxServiceTest.php
+++ b/test/Esendex/Services/InboxServiceTest.php
@@ -34,7 +34,7 @@
*/
namespace Esendex;
-class InboxServiceTest extends \PHPUnit_Framework_TestCase
+class InboxServiceTest extends \PHPUnit\Framework\TestCase
{
private $reference;
private $username;
@@ -44,17 +44,17 @@ class InboxServiceTest extends \PHPUnit_Framework_TestCase
private $parser;
private $service;
- function setUp()
+ function setUp(): void
{
$this->reference = "asjkdhlajksdhla";
$this->username = "jhdkfjh";
$this->password = "dklfjlsdjkf";
$this->authentication = new Authentication\LoginAuthentication($this->reference, $this->username, $this->password);
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->httpUtil->expects($this->any())
->method("isSecure")
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->parser = $this->getMockBuilder("\\Esendex\\Parser\\InboxXmlParser")
->disableOriginalConstructor()
@@ -63,9 +63,7 @@ function setUp()
$this->service = new InboxService($this->authentication, $this->httpUtil, $this->parser);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function latestReturnsInboxPage()
{
$response = "xml response";
@@ -80,21 +78,19 @@ function latestReturnsInboxPage()
),
$this->equalTo($this->authentication)
)
- ->will($this->returnValue($response));
+ ->willReturn($response);
$this->parser
->expects($this->once())
->method("parse")
->with($this->equalTo($response))
- ->will($this->returnValue($inboxPage));
+ ->willReturn($inboxPage);
$result = $this->service->latest();
$this->assertSame($inboxPage, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function latestWithStartIndexForPageStart()
{
$startIndex = 2;
@@ -112,9 +108,7 @@ function latestWithStartIndexForPageStart()
$this->service->latest($startIndex);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function latestWithStartIndexAndCountToPage()
{
$startIndex = 11;
@@ -134,9 +128,7 @@ function latestWithStartIndexAndCountToPage()
$this->service->latest($startIndex, $count);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function latestWithCountAloneLimitsReturnedResults()
{
$count = 2;
@@ -154,9 +146,7 @@ function latestWithCountAloneLimitsReturnedResults()
$this->service->latest(null, $count);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function deleteInboxMessageSuccess()
{
$messageId = uniqid();
@@ -170,14 +160,12 @@ function deleteInboxMessageSuccess()
),
$this->equalTo($this->authentication)
)
- ->will($this->returnValue(200));
+ ->willReturn(200);
$this->assertTrue($this->service->deleteInboxMessage($messageId));
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function deleteInboxMessageFailure()
{
$messageId = uniqid();
@@ -185,49 +173,55 @@ function deleteInboxMessageFailure()
$this->httpUtil
->expects($this->once())
->method("delete")
- ->will($this->returnValue(404));
+ ->willReturn(404);
$this->assertFalse($this->service->deleteInboxMessage($messageId));
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function updateInboxMessageReadStatusSuccess()
{
$messageId = uniqid();
- $readParameters = array(
- $this->equalTo(
- "https://api.esendex.com/v1.0/inbox/messages/{$messageId}?action=read"
- ),
- $this->equalTo($this->authentication)
- );
- $unreadParameters = array(
- $this->equalTo(
- "https://api.esendex.com/v1.0/inbox/messages/{$messageId}?action=unread"
- ),
- $this->equalTo($this->authentication)
- );
+ $expectedParameters = [
+ [
+ "https://api.esendex.com/v1.0/inbox/messages/{$messageId}?action=read",
+ $this->authentication,
+ ],
+ [
+ "https://api.esendex.com/v1.0/inbox/messages/{$messageId}?action=read",
+ $this->authentication,
+ ],
+ [
+ "https://api.esendex.com/v1.0/inbox/messages/{$messageId}?action=unread",
+ $this->authentication,
+ ],
+ ];
+
+ $callIndex = 0;
$this->httpUtil
->expects($this->exactly(3))
->method("put")
- ->withConsecutive(
- $readParameters,
- $readParameters,
- $unreadParameters
+ ->with(
+ $this->callback(function (string $url) use (&$callIndex, $expectedParameters): bool {
+ return $url === $expectedParameters[$callIndex][0];
+ }),
+ $this->callback(function ($authentication) use (&$callIndex, $expectedParameters): bool {
+ $matches = $authentication === $expectedParameters[$callIndex][1];
+ $callIndex++;
+
+ return $matches;
+ })
)
- ->will($this->returnValue(200));
+ ->willReturn(200);
$this->assertTrue($this->service->updateReadStatus($messageId));
$this->assertTrue($this->service->updateReadStatus($messageId, true));
$this->assertTrue($this->service->updateReadStatus($messageId, false));
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function updateInboxMessageReadStatusFailure()
{
$messageId = uniqid();
@@ -235,7 +229,7 @@ function updateInboxMessageReadStatusFailure()
$this->httpUtil
->expects($this->exactly(3))
->method("put")
- ->will($this->returnValue(404));
+ ->willReturn(404);
$this->assertFalse($this->service->updateReadStatus($messageId));
$this->assertFalse($this->service->updateReadStatus($messageId, true));
diff --git a/test/Esendex/Services/MessageBodyServiceTest.php b/test/Esendex/Services/MessageBodyServiceTest.php
index b2f51e7..cc9995a 100644
--- a/test/Esendex/Services/MessageBodyServiceTest.php
+++ b/test/Esendex/Services/MessageBodyServiceTest.php
@@ -35,7 +35,7 @@
namespace Esendex;
use Esendex\Model\MessageBody;
-class MessageBodyServiceTest extends \PHPUnit_Framework_TestCase
+class MessageBodyServiceTest extends \PHPUnit\Framework\TestCase
{
const MESSAGEBODY_RESPONSE_XML = <<
@@ -60,7 +60,7 @@ class MessageBodyServiceTest extends \PHPUnit_Framework_TestCase
private $httpUtil;
private $service;
- function setUp()
+ function setUp(): void
{
$this->messageId = uniqid();
$this->accountReference = "asjkdhlajksdhla";
@@ -68,17 +68,15 @@ function setUp()
$this->password = "dklfjlsdjkf";
$this->authentication = new Authentication\LoginAuthentication($this->accountReference, $this->username, $this->password);
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->httpUtil->expects($this->any())
->method("isSecure")
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->service = new MessageBodyService($this->authentication, $this->httpUtil);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getMessageBodyById()
{
$this->httpUtil
@@ -90,7 +88,7 @@ function getMessageBodyById()
),
$this->equalTo($this->authentication)
)
- ->will($this->returnValue(self::MESSAGEBODY_RESPONSE_XML));
+ ->willReturn(self::MESSAGEBODY_RESPONSE_XML);
$messageBody = $this->service->getMessageBodyById($this->messageId);
@@ -100,29 +98,25 @@ function getMessageBodyById()
$this->assertEquals(MessageBody::CharsetGSM, $messageBody->characterSet());
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getMessageBodyByIdWhenNullId()
{
- $this->setExpectedException("\\Esendex\\Exceptions\\ArgumentException", "messageId is null");
+ $this->expectException(\Esendex\Exceptions\ArgumentException::class);
+ $this->expectExceptionMessage("messageId is null");
$this->service->getMessageBodyById(null);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getMessageBodyByIdWhenNotString()
{
- $this->setExpectedException("\\Esendex\\Exceptions\\ArgumentException", "messageId is not a string");
+ $this->expectException(\Esendex\Exceptions\ArgumentException::class);
+ $this->expectExceptionMessage("messageId is not a string");
$this->service->getMessageBodyById(99);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getMessageBodyWithMessageBodyUri()
{
$bodyUri = "https://api.esendex.com/v1.0/messageheaders/{$this->messageId}/body";
@@ -130,16 +124,14 @@ function getMessageBodyWithMessageBodyUri()
->expects($this->once())
->method("get")
->with($this->equalTo($bodyUri))
- ->will($this->returnValue(self::MESSAGEBODY_RESPONSE_XML));
+ ->willReturn(self::MESSAGEBODY_RESPONSE_XML);
$messageBody = $this->service->getMessageBody($bodyUri);
$this->assertEquals("Merci", $messageBody);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getSmartMessageBodyWithMessageBodyUri()
{
$bodyUri = "https://api.esendex.com/v1.0/messageheaders/{$this->messageId}/body";
@@ -147,7 +139,7 @@ function getSmartMessageBodyWithMessageBodyUri()
->expects($this->once())
->method("get")
->with($this->equalTo($bodyUri))
- ->will($this->returnValue(self::SMART_MESSAGEBODY_XML));
+ ->willReturn(self::SMART_MESSAGEBODY_XML);
$messageBody = $this->service->getMessageBody($bodyUri);
@@ -155,9 +147,7 @@ function getSmartMessageBodyWithMessageBodyUri()
$this->assertEquals("None", $messageBody->characterSet());
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getMessageBodyWithMessageHeader()
{
$bodyUri = "https://api.esendex.com/v1.0/messageheaders/{$this->messageId}/body";
@@ -165,7 +155,7 @@ function getMessageBodyWithMessageHeader()
->expects($this->once())
->method("get")
->with($this->equalTo($bodyUri))
- ->will($this->returnValue(self::MESSAGEBODY_RESPONSE_XML));
+ ->willReturn(self::MESSAGEBODY_RESPONSE_XML);
$messageHeader = new Model\SentMessage();
$messageHeader->bodyUri($bodyUri);
@@ -174,15 +164,12 @@ function getMessageBodyWithMessageHeader()
$this->assertEquals("Merci", $messageBody);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getMessageBodyWhenInvalidInput()
{
- $this->setExpectedException(
- "\\Esendex\\Exceptions\\ArgumentException",
- "Should be either MessageBody Uri or ResultMessage"
- );
+
+ $this->expectException(\Esendex\Exceptions\ArgumentException::class);
+ $this->expectExceptionMessage("Should be either MessageBody Uri or ResultMessage");
$this->service->getMessageBody(99);
}
diff --git a/test/Esendex/Services/MessageHeaderServiceTest.php b/test/Esendex/Services/MessageHeaderServiceTest.php
index d2e1456..18dad23 100644
--- a/test/Esendex/Services/MessageHeaderServiceTest.php
+++ b/test/Esendex/Services/MessageHeaderServiceTest.php
@@ -34,7 +34,7 @@
*/
namespace Esendex;
-class MessageHeaderServiceTest extends \PHPUnit_Framework_TestCase
+class MessageHeaderServiceTest extends \PHPUnit\Framework\TestCase
{
private $messageId;
private $reference;
@@ -45,7 +45,7 @@ class MessageHeaderServiceTest extends \PHPUnit_Framework_TestCase
private $parser;
private $service;
- function setUp()
+ function setUp(): void
{
$this->messageId = uniqid();
$this->reference = "asjkdhlajksdhla";
@@ -57,10 +57,10 @@ function setUp()
$this->password
);
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->httpUtil->expects($this->any())
->method("isSecure")
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->parser = $this->getMockBuilder("\\Esendex\\Parser\\MessageHeaderXmlParser")
->disableOriginalConstructor()
@@ -69,9 +69,7 @@ function setUp()
$this->service = new MessageHeaderService($this->authentication, $this->httpUtil, $this->parser);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function messageWithValidMessageHeaderId()
{
$response = "xml response";
@@ -86,12 +84,12 @@ function messageWithValidMessageHeaderId()
),
$this->equalTo($this->authentication)
)
- ->will($this->returnValue($response));
+ ->willReturn($response);
$this->parser
->expects($this->once())
->method("parse")
->with($this->equalTo($response))
- ->will($this->returnValue($messageHeader));
+ ->willReturn($messageHeader);
$result = $this->service->message($this->messageId);
diff --git a/test/Esendex/Services/MessageInformationServiceTest.php b/test/Esendex/Services/MessageInformationServiceTest.php
index e7735d7..b90bcae 100644
--- a/test/Esendex/Services/MessageInformationServiceTest.php
+++ b/test/Esendex/Services/MessageInformationServiceTest.php
@@ -37,7 +37,7 @@
use Esendex\Model\MessageBody;
use Esendex\Model\MessageInformation;
-class MessageInformationServiceTest extends \PHPUnit_Framework_TestCase
+class MessageInformationServiceTest extends \PHPUnit\Framework\TestCase
{
private $reference;
private $username;
@@ -47,7 +47,7 @@ class MessageInformationServiceTest extends \PHPUnit_Framework_TestCase
private $parser;
private $service;
- function setUp()
+ function setUp(): void
{
$this->reference = "EX123456";
$this->username = "jhdkfjh";
@@ -58,10 +58,10 @@ function setUp()
$this->password
);
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->httpUtil->expects($this->any())
->method("isSecure")
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->parser = $this->getMockBuilder("\\Esendex\\Parser\\MessageInformationXmlParser")
->disableOriginalConstructor()
@@ -74,9 +74,7 @@ function setUp()
);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getMessageInformationWithDefaults()
{
$message = "the message";
@@ -91,7 +89,7 @@ function getMessageInformationWithDefaults()
$this->equalTo($message),
$this->equalTo(MessageBody::CharsetGSM)
)
- ->will($this->returnValue($request));
+ ->willReturn($request);
$this->httpUtil
->expects($this->once())
->method("post")
@@ -102,21 +100,19 @@ function getMessageInformationWithDefaults()
$this->equalTo($this->authentication),
$this->equalTo($request)
)
- ->will($this->returnValue($response));
+ ->willReturn($response);
$this->parser
->expects($this->once())
->method("parse")
->with($this->equalTo($response))
- ->will($this->returnValue(array($messageInformation)));
+ ->willReturn(array($messageInformation));
$result = $this->service->getInformation($message);
$this->assertSame($messageInformation, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getMessageInformationWithSpecificCharset()
{
$message = "the message";
@@ -131,7 +127,7 @@ function getMessageInformationWithSpecificCharset()
$this->equalTo($message),
$this->equalTo(MessageBody::CharsetAuto)
)
- ->will($this->returnValue($request));
+ ->willReturn($request);
$this->httpUtil
->expects($this->once())
->method("post")
@@ -142,19 +138,19 @@ function getMessageInformationWithSpecificCharset()
$this->equalTo($this->authentication),
$this->equalTo($request)
)
- ->will($this->returnValue($response));
+ ->willReturn($response);
$this->parser
->expects($this->once())
->method("parse")
->with($this->equalTo($response))
- ->will($this->returnValue(array($messageInformation)));
+ ->willReturn(array($messageInformation));
$result = $this->service->getInformation($message, MessageBody::CharsetAuto);
$this->assertSame($messageInformation, $result);
}
- function unexpectedResponses()
+ public static function unexpectedResponses(): array
{
return array(
array(array()),
@@ -165,22 +161,17 @@ function unexpectedResponses()
);
}
- /**
- * @test
- * @dataProvider unexpectedResponses
- */
+ #[\PHPUnit\Framework\Attributes\Test]
+ #[\PHPUnit\Framework\Attributes\DataProvider('unexpectedResponses')]
function getMessageInformationWithUnexpectedResponse($response)
{
$this->parser
->expects($this->once())
->method("parse")
- ->will($this->returnValue($response));
+ ->willReturn($response);
- $this->setExpectedException(
- "\\Esendex\\Exceptions\\EsendexException",
- "Error parsing the result",
- null
- );
+ $this->expectException(\Esendex\Exceptions\EsendexException::class);
+ $this->expectExceptionMessage("Error parsing the result");
$result = $this->service->getInformation("a message");
}
diff --git a/test/Esendex/Services/OptOutsServiceTest.php b/test/Esendex/Services/OptOutsServiceTest.php
index 18ad033..b0e72e9 100644
--- a/test/Esendex/Services/OptOutsServiceTest.php
+++ b/test/Esendex/Services/OptOutsServiceTest.php
@@ -36,7 +36,7 @@
use Esendex\Model\OptOut;
-class OptOutsServiceTest extends \PHPUnit_Framework_TestCase
+class OptOutsServiceTest extends \PHPUnit\Framework\TestCase
{
const OPTOUT_XML_RESPONSE = "
EX0012345
@@ -55,7 +55,7 @@ class OptOutsServiceTest extends \PHPUnit_Framework_TestCase
public $parser;
- function setUp()
+ function setUp(): void
{
$this->optOutId = "47a1144b-8a68-4608-9360-d4a52aaf90d2";
$this->username = "jhdkfjh";
@@ -67,10 +67,10 @@ function setUp()
$this->password
);
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->httpUtil->expects($this->any())
->method("isSecure")
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->parser = $this->getMockBuilder("\\Esendex\\Parser\\OptOutXmlParser")
->disableOriginalConstructor()
@@ -79,9 +79,7 @@ function setUp()
$this->service = new OptOutsService($this->authentication, $this->httpUtil, $this->parser);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getById()
{
$expectedOptOut = new OptOut();
@@ -94,20 +92,18 @@ function getById()
),
$this->equalTo($this->authentication)
)
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->parser->expects($this->any())
->method("parse")
- ->will($this->returnValue($expectedOptOut));
+ ->willReturn($expectedOptOut);
$result = $this->service->getById($this->optOutId);
$this->assertSame($expectedOptOut, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function add()
{
$expectedRequest = "EX123456 447712345678 ";
@@ -115,7 +111,7 @@ function add()
$mobileNumber = "447712345678";
$this->parser->expects($this->any())
->method("encodePostRequest")
- ->will($this->returnValue($expectedRequest));
+ ->willReturn($expectedRequest);
$this->httpUtil
->expects($this->once())
@@ -127,20 +123,18 @@ function add()
$this->equalTo($this->authentication),
$this->equalTo($expectedRequest)
)
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->parser->expects($this->any())
->method("parsePostResponse")
- ->will($this->returnValue($expectedOptOut));
+ ->willReturn($expectedOptOut);
$result = $this->service->add($this->reference, $mobileNumber);
$this->assertSame($expectedOptOut, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function get()
{
$expectedOptOuts = array();
@@ -154,11 +148,11 @@ function get()
),
$this->equalTo($this->authentication)
)
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->parser->expects($this->any())
->method("parseMultipleResult")
- ->will($this->returnValue($expectedOptOuts));
+ ->willReturn($expectedOptOuts);
$result = $this->service->get(1, 20);
diff --git a/test/Esendex/Services/SentMessagesServiceTest.php b/test/Esendex/Services/SentMessagesServiceTest.php
index 76b4179..952cd14 100644
--- a/test/Esendex/Services/SentMessagesServiceTest.php
+++ b/test/Esendex/Services/SentMessagesServiceTest.php
@@ -34,7 +34,7 @@
*/
namespace Esendex;
-class SentMessagesServiceTest extends \PHPUnit_Framework_TestCase
+class SentMessagesServiceTest extends \PHPUnit\Framework\TestCase
{
private $reference;
private $username;
@@ -44,17 +44,17 @@ class SentMessagesServiceTest extends \PHPUnit_Framework_TestCase
private $parser;
private $service;
- function setUp()
+ function setUp(): void
{
$this->reference = "asjkdhlajksdhla";
$this->username = "jhdkfjh";
$this->password = "dklfjlsdjkf";
$this->authentication = new Authentication\LoginAuthentication($this->reference, $this->username, $this->password);
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->httpUtil->expects($this->any())
->method("isSecure")
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->parser = $this->getMockBuilder("\\Esendex\\Parser\\SentMessagesXmlParser")
->disableOriginalConstructor()
@@ -63,9 +63,7 @@ function setUp()
$this->service = new SentMessagesService($this->authentication, $this->httpUtil, $this->parser);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function latestReturnsSentMessagesPage()
{
$response = "xml response";
@@ -80,21 +78,19 @@ function latestReturnsSentMessagesPage()
),
$this->equalTo($this->authentication)
)
- ->will($this->returnValue($response));
+ ->willReturn($response);
$this->parser
->expects($this->once())
->method("parse")
->with($this->equalTo($response))
- ->will($this->returnValue($sentMessagesPage));
+ ->willReturn($sentMessagesPage);
$result = $this->service->latest();
$this->assertSame($sentMessagesPage, $result);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function latestWithStartIndexForPageStart()
{
$startIndex = 2;
@@ -112,9 +108,7 @@ function latestWithStartIndexForPageStart()
$this->service->latest($startIndex);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function latestWithStartIndexAndCountToPage()
{
$startIndex = 11;
@@ -133,9 +127,7 @@ function latestWithStartIndexAndCountToPage()
$this->service->latest($startIndex, $count);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function latestWithCountAloneLimitsReturnedResults()
{
$count = 2;
@@ -153,9 +145,7 @@ function latestWithCountAloneLimitsReturnedResults()
$this->service->latest(null, $count);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function loadMessagesWithStartAndFinishReturnsSentMessagesPage()
{
$start = new \DateTime();
@@ -178,13 +168,13 @@ function loadMessagesWithStartAndFinishReturnsSentMessagesPage()
),
$this->equalTo($this->authentication)
)
- ->will($this->returnValue($response));
+ ->willReturn($response);
$this->parser
->expects($this->once())
->method("parse")
->with($this->equalTo($response))
- ->will($this->returnValue($sentMessagesPage));
+ ->willReturn($sentMessagesPage);
$options = array('start' => $start, 'finish' => $finish);
$result = $this->service->loadMessages($options);
diff --git a/test/Esendex/Services/SessionServiceTest.php b/test/Esendex/Services/SessionServiceTest.php
index c0e60b7..4058c7a 100644
--- a/test/Esendex/Services/SessionServiceTest.php
+++ b/test/Esendex/Services/SessionServiceTest.php
@@ -34,7 +34,7 @@
*/
namespace Esendex;
-class SessionServiceTest extends \PHPUnit_Framework_TestCase
+class SessionServiceTest extends \PHPUnit\Framework\TestCase
{
private $httpUtil;
private $service;
@@ -46,18 +46,16 @@ class SessionServiceTest extends \PHPUnit_Framework_TestCase
XML;
- function setUp()
+ function setUp(): void
{
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->httpUtil->expects($this->any())
->method("isSecure")
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->service = new SessionService($this->httpUtil);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function startSessionWithUsernameAndPassword()
{
$this->httpUtil
@@ -68,7 +66,7 @@ function startSessionWithUsernameAndPassword()
$this->isInstanceOf("\\Esendex\\Authentication\\LoginAuthentication"),
$this->isEmpty()
)
- ->will($this->returnValue(self::SESSION_RESPONSE_XML));
+ ->willReturn(self::SESSION_RESPONSE_XML);
$result = $this->service->startSession("reference", "user", "password");
diff --git a/test/Esendex/Services/SurveyReportServiceTests/GetStandardReportForDateRangeTest.php b/test/Esendex/Services/SurveyReportServiceTests/GetStandardReportForDateRangeTest.php
index cd3c9d5..900bcba 100644
--- a/test/Esendex/Services/SurveyReportServiceTests/GetStandardReportForDateRangeTest.php
+++ b/test/Esendex/Services/SurveyReportServiceTests/GetStandardReportForDateRangeTest.php
@@ -36,7 +36,7 @@
use Esendex\Model\Surveys\DateRangeType;
-class GetStandardReportForDateRangeTest extends \PHPUnit_Framework_TestCase
+class GetStandardReportForDateRangeTest extends \PHPUnit\Framework\TestCase
{
private $expectedRecipient = "447538414622";
private $expectedStatus = "Delivered";
@@ -56,7 +56,7 @@ class GetStandardReportForDateRangeTest extends \PHPUnit_Framework_TestCase
private $httpUtil;
private $surveyId;
- function setUp()
+ function setUp(): void
{
$response = "
@@ -82,7 +82,7 @@ function setUp()
$this->authentication = new Authentication\LoginAuthentication("SV0000001", "someone@esendex.com", "hunter2");
$this->surveyId = "e6ea4f5e-4d41-4b1e-8912-6c3131978a77";
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->httpUtil
->expects($this->once())
->method("get")
@@ -90,14 +90,12 @@ function setUp()
$this->equalTo("https://surveys.api.esendex.com/v1.0/surveys/{$this->surveyId}/report/standard?answerReceivedAfter=2016-12-01T00%3A00%3A00&answerReceivedBefore=2016-12-02T00%3A00%3A00"),
$this->equalTo($this->authentication)
)
- ->will($this->returnValue($response));
+ ->willReturn($response);
$this->service = new SurveyReportService($this->authentication, $this->httpUtil);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getStandardReport()
{
$result = $this->service->getStandardReport($this->surveyId, $this->startDate, $this->endDate, DateRangeType::AnswerReceived);
diff --git a/test/Esendex/Services/SurveyReportServiceTests/GetStandardReportTest.php b/test/Esendex/Services/SurveyReportServiceTests/GetStandardReportTest.php
index 64df6f8..5a3e248 100644
--- a/test/Esendex/Services/SurveyReportServiceTests/GetStandardReportTest.php
+++ b/test/Esendex/Services/SurveyReportServiceTests/GetStandardReportTest.php
@@ -34,7 +34,7 @@
*/
namespace Esendex;
-class GetStandardReportTest extends \PHPUnit_Framework_TestCase
+class GetStandardReportTest extends \PHPUnit\Framework\TestCase
{
private $expectedRecipient = "447538414622";
private $expectedStatus = "Delivered";
@@ -51,7 +51,7 @@ class GetStandardReportTest extends \PHPUnit_Framework_TestCase
private $httpUtil;
private $surveyId;
- function setUp()
+ function setUp(): void
{
$response = "
@@ -74,7 +74,7 @@ function setUp()
$this->authentication = new Authentication\LoginAuthentication("SV0000001", "someone@esendex.com", "hunter2");
$this->surveyId = "e6ea4f5e-4d41-4b1e-8912-6c3131978a77";
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->httpUtil
->expects($this->once())
->method("get")
@@ -82,14 +82,12 @@ function setUp()
$this->equalTo("https://surveys.api.esendex.com/v1.0/surveys/{$this->surveyId}/report/standard"),
$this->equalTo($this->authentication)
)
- ->will($this->returnValue($response));
+ ->willReturn($response);
$this->service = new SurveyReportService($this->authentication, $this->httpUtil);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getStandardReport()
{
$result = $this->service->getStandardReport($this->surveyId);
diff --git a/test/Esendex/Services/SurveyReportServiceTests/GetStandardReportWithInvalidDateRangeTypeTest.php b/test/Esendex/Services/SurveyReportServiceTests/GetStandardReportWithInvalidDateRangeTypeTest.php
index 7193003..0c2f3c4 100644
--- a/test/Esendex/Services/SurveyReportServiceTests/GetStandardReportWithInvalidDateRangeTypeTest.php
+++ b/test/Esendex/Services/SurveyReportServiceTests/GetStandardReportWithInvalidDateRangeTypeTest.php
@@ -34,7 +34,7 @@
*/
namespace Esendex;
-class GetStandardReportWithInvalidDateRangeTypeTest extends \PHPUnit_Framework_TestCase
+class GetStandardReportWithInvalidDateRangeTypeTest extends \PHPUnit\Framework\TestCase
{
private $startDate;
private $endDate;
@@ -44,7 +44,7 @@ class GetStandardReportWithInvalidDateRangeTypeTest extends \PHPUnit_Framework_T
private $httpUtil;
private $surveyId;
- function setUp()
+ function setUp(): void
{
$this->startDate = new \DateTime("2016-12-01T00:00:00");
$this->endDate = new \DateTime("2016-12-02T00:00:00");
@@ -52,13 +52,11 @@ function setUp()
$this->authentication = new Authentication\LoginAuthentication("SV0000001", "someone@esendex.com", "hunter2");
$this->surveyId = "e6ea4f5e-4d41-4b1e-8912-6c3131978a77";
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->service = new SurveyReportService($this->authentication, $this->httpUtil);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function getStandardReport()
{
try {
diff --git a/test/Esendex/Services/SurveySendServiceTests/SendTests.php b/test/Esendex/Services/SurveySendServiceTests/SendTests.php
index a0efa89..412845b 100644
--- a/test/Esendex/Services/SurveySendServiceTests/SendTests.php
+++ b/test/Esendex/Services/SurveySendServiceTests/SendTests.php
@@ -34,7 +34,7 @@
*/
namespace Esendex;
-class SendTests extends \PHPUnit_Framework_TestCase
+class SendTests extends \PHPUnit\Framework\TestCase
{
private $reference;
private $username;
@@ -43,7 +43,7 @@ class SendTests extends \PHPUnit_Framework_TestCase
private $httpUtil;
private $service;
- function setUp()
+ function setUp(): void
{
$this->reference = "EX123456";
$this->username = "jhdkfjh";
@@ -54,17 +54,15 @@ function setUp()
$this->password
);
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->httpUtil->expects($this->any())
->method("isSecure")
- ->will($this->returnValue(""));
+ ->willReturn("");
$this->service = new SurveySendService($this->authentication, $this->httpUtil);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function sendSurvey()
{
$surveyId = "586918CE-FC15-4204-9701-7DE5F975F9D6";
@@ -79,7 +77,7 @@ function sendSurvey()
$this->equalTo($this->authentication),
$this->equalTo("{\"recipients\":[{\"phonenumber\":\"{$recipient}\",\"templatefields\":null,\"metadata\":null}]}")
)
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->service->send($surveyId, $recipient);
}
diff --git a/test/Esendex/Services/SurveySendServiceTests/SendWithMetadataTests.php b/test/Esendex/Services/SurveySendServiceTests/SendWithMetadataTests.php
index 7f55a98..a8989fc 100644
--- a/test/Esendex/Services/SurveySendServiceTests/SendWithMetadataTests.php
+++ b/test/Esendex/Services/SurveySendServiceTests/SendWithMetadataTests.php
@@ -34,7 +34,7 @@
*/
namespace Esendex;
-class SendWithMetadataTests extends \PHPUnit_Framework_TestCase
+class SendWithMetadataTests extends \PHPUnit\Framework\TestCase
{
private $reference;
private $username;
@@ -43,7 +43,7 @@ class SendWithMetadataTests extends \PHPUnit_Framework_TestCase
private $httpUtil;
private $service;
- function setUp()
+ function setUp(): void
{
$this->reference = "EX123456";
$this->username = "jhdkfjh";
@@ -54,17 +54,15 @@ function setUp()
$this->password
);
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->httpUtil->expects($this->any())
->method("isSecure")
- ->will($this->returnValue(""));
+ ->willReturn("");
$this->service = new SurveySendService($this->authentication, $this->httpUtil);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function sendSurveyWithMetaData()
{
$surveyId = "586918CE-FC15-4204-9701-7DE5F975F9D6";
@@ -82,7 +80,7 @@ function sendSurveyWithMetaData()
$this->equalTo($this->authentication),
$this->equalTo("{\"recipients\":[{\"phonenumber\":\"{$recipient}\",\"templatefields\":null,\"metadata\":{\"{$metaDataKey}\":\"{$metaDataValue}\"}}]}")
)
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->service->send($surveyId, $recipient, null, array($metaDataKey=>$metaDataValue));
}
diff --git a/test/Esendex/Services/SurveySendServiceTests/SendWithTemplateDataTests.php b/test/Esendex/Services/SurveySendServiceTests/SendWithTemplateDataTests.php
index f6e1c08..f880d93 100644
--- a/test/Esendex/Services/SurveySendServiceTests/SendWithTemplateDataTests.php
+++ b/test/Esendex/Services/SurveySendServiceTests/SendWithTemplateDataTests.php
@@ -34,7 +34,7 @@
*/
namespace Esendex;
-class SendWithTemplateDataTests extends \PHPUnit_Framework_TestCase
+class SendWithTemplateDataTests extends \PHPUnit\Framework\TestCase
{
private $reference;
private $username;
@@ -43,7 +43,7 @@ class SendWithTemplateDataTests extends \PHPUnit_Framework_TestCase
private $httpUtil;
private $service;
- function setUp()
+ function setUp(): void
{
$this->reference = "EX123456";
$this->username = "jhdkfjh";
@@ -54,17 +54,15 @@ function setUp()
$this->password
);
- $this->httpUtil = $this->getMock("\\Esendex\\Http\\IHttp");
+ $this->httpUtil = $this->createMock(\Esendex\Http\IHttp::class);
$this->httpUtil->expects($this->any())
->method("isSecure")
- ->will($this->returnValue(""));
+ ->willReturn("");
$this->service = new SurveySendService($this->authentication, $this->httpUtil);
}
- /**
- * @test
- */
+ #[\PHPUnit\Framework\Attributes\Test]
function sendSurveyWithTemplateData()
{
$surveyId = "586918CE-FC15-4204-9701-7DE5F975F9D6";
@@ -84,7 +82,7 @@ function sendSurveyWithTemplateData()
$this->equalTo($this->authentication),
$this->equalTo("{\"recipients\":[{\"phonenumber\":\"{$recipient}\",\"templatefields\":{\"{$fieldName}\":\"{$fieldValue}\",\"{$fieldName2}\":\"{$fieldValue2}\"},\"metadata\":null}]}")
)
- ->will($this->returnValue(true));
+ ->willReturn(true);
$this->service->send($surveyId, $recipient, array($fieldName=>$fieldValue,$fieldName2=>$fieldValue2));
}