0
0
mirror of https://github.com/PHPMailer/PHPMailer.git synced 2024-09-19 17:42:14 +02:00
PHPMailer/composer.json

62 lines
1.8 KiB
JSON
Raw Normal View History

{
"name": "phpmailer/phpmailer",
2013-06-06 08:47:17 +02:00
"type": "library",
"description": "PHPMailer is a full-featured email creation and transfer class for PHP",
"authors": [
{
"name": "Marcus Bointon",
"email": "phpmailer@synchromedia.co.uk"
},
{
"name": "Jim Jagielski",
"email": "jimjag@gmail.com"
},
{
"name": "Andy Prevost",
"email": "codeworxtech@users.sourceforge.net"
},
{
"name": "Brent R. Matzelle"
}
],
2020-05-06 16:42:34 +02:00
"funding": [
{
2020-10-15 14:22:52 +02:00
"url": "https://github.com/Synchro",
2020-05-06 16:42:34 +02:00
"type": "github"
}
],
"require": {
"php": ">=5.5.0",
"ext-ctype": "*",
"ext-filter": "*",
"ext-hash": "*"
},
"require-dev": {
2020-10-15 14:22:52 +02:00
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
"doctrine/annotations": "^1.2",
"phpcompatibility/php-compatibility": "^9.3.5",
2020-10-15 14:22:52 +02:00
"roave/security-advisories": "dev-latest",
Make the tests PHPUnit cross version compatible + test on PHP 8 (#2202) * .gitignore: ignore files created during a test run * Tests: make config cross-version compatible PHPUnit config file: * Add `backupGlobals="true"`. The default value for this setting changed in PHPUnit 6 from `true` to `false`. By explicitly setting it to `true`, the existing behaviour is maintained. * Remove the `logIncompleteSkipped` directive which is no longer supported. * Remove a number of directives which use the default values and for which the defaults have not changed across PHPUnit versions. * Remove the space in the testsuite name to make it more easily usable on the command line. * Make sure that all src files are taken into consideration when calculating code coverage. * Add XSD schema reference. Note: the config as-is will now validate for PHPUnit 4.4-9.2. For PHPUnit 9.3, the code coverage terminology has changed, though the "old" configuration is still supported. If needs be (PHPUnit 10), the config can be updated on the fly by using `--migrate-configuration`. Other: * Ignore a locally overloaded PHPUnit config file using the standard `phpunit.xml` file name. Question: why does the config file not use the standard `phpunit.xml.dist` file name ? That would allow for running the tests without command line arguments. That file can still be overloaded locally by a `phpunit.xml` file. * Composer: add dependency on the PHPUnit Polyfills package * Adds a dev dependency to the `yoast/phpunit-polyfills` package. * As that package already requires and manages the installable versions for PHPUnit, remove this as an explicit requirement from `require-dev` in favour of letting the PHPUnit Polyfills package manage the versions. This will update the supported PHPUnit versions from `^4.8 || ^5.7` to `^4.8.36 || ^5.7.21 || ^6.0 || ^7.0 || ^8.0 || ^9.0`. Note: the supported versions for PHPUnit 4.x and 5.x are very specific and restrictive as it specifically targets the versions in which the "forward compatible" alias files for the namespaced classes are available. This new package adds the following features: * Polyfills for various PHPUnit cross-version changes. * Basic test case and test listener. Refs: * https://github.com/Yoast/PHPUnit-Polyfills/ Includes adding the PHPUnit cache file, which is automatically created in PHPUnit 8 and 9, to the `.gitignore` file. * Tests: switch over to use the Yoast\PHPUnitPolyfills\TestCases\TestCase This switches the parent class of the test classes over `TestCase` from the PHPUnit native TestCase to the `Yoast\PHPUnitPolyfills\TestCases\TestCase`. The Yoast `TestCase`: * Provides cross-version compatibility using snake case fixture method names instead of the PHPUnit native camelCase names. This switch over includes: * Renaming the `setUp()` and `tearDown()` methods to, respectively, `set_up()` and `tear_down()` in various test classes for PHPUnit cross-version compatibility. * Tests: switch over to use the Yoast Polyfill TestListenerDefaultImplementation This switches `DebugLogTestListener` class over to using the PHPUnit 9 default implementation pattern in combination with using the `TestListenerDefaultImplementation` from the PHPUnit Polyfill library for the cross-version compatibility layer for the TestListener. The Yoast `TestListenerDefaultImplementation`: * Provides cross-version compatibility using snake case method names instead of the PHPUnit native camelCase names. This switch over includes: * Renaming the template methods used in the `DebugLogTestListener` to use their snake_case variant and removes the type declarations. * Tests: switch out `assertInternalType()` ... in favour of the more specific assertion(s) as introduced in PHPUnit 7.5.0. The new assertions are automatically polyfilled via the PHPUnit Polyfill repo as this test class extends the `Yoast\PHPUnitPolyfills\TestCases\TestCase` test case. * Tests: switch out `assert[Not]Contains()` with string haystacks ... in favour of the string specific `assertString[Not]ContainsString() assertion(s) as introduced in PHPUnit 7.5.0. The new assertions are automatically polyfilled via the PHPUnit Polyfill repo as this test class extends the `Yoast\PHPUnitPolyfills\TestCases\TestCase` test case. * Tests: switch out `@expectException` annotations ... in favour of method calls to the `TestCase::expectException()` method as introduced in PHPUnit 5.2.0. The new method and its variants are automatically polyfilled via the PHPUnit Polyfill repo as this test class extends the `Yoast\PHPUnitPolyfills\TestCases\TestCase` test case. * Tests: switch out `assertRegExp()` ... in favour of the renamed `Assert::assertMatchesRegularExpression() as introduced in PHPUnit 9.1.0. The new assertion is automatically polyfilled via the PHPUnit Polyfill repo as this test class extends the `Yoast\PHPUnitPolyfills\TestCases\TestCase` test case. * Tests: mark a test as incomplete As per the comment in the docblock: > Needs a connection to a server that supports this auth mechanism, so commented out by default. As the test cannot currently be executed succesfully, we may as well skip it with a meaningful message. * Tests: mark a test as not performing assertions ... to prevent it from being marked as risky. Co-authored-by: jrfnl <jrfnl@users.noreply.github.com>
2020-11-25 15:35:50 +01:00
"squizlabs/php_codesniffer": "^3.5.6",
"yoast/phpunit-polyfills": "^0.2.0"
},
"suggest": {
2020-10-15 14:22:52 +02:00
"ext-mbstring": "Needed to send email in multibyte encoding charset",
2016-01-07 20:38:58 +01:00
"hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication",
2020-10-15 14:22:52 +02:00
"league/oauth2-google": "Needed for Google XOAUTH2 authentication",
"psr/log": "For optional PSR-3 debug logging",
"stevenmaguire/oauth2-microsoft": "Needed for Microsoft XOAUTH2 authentication",
"symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)"
},
"autoload": {
2015-11-09 19:09:13 +01:00
"psr-4": {
"PHPMailer\\PHPMailer\\": "src/"
}
2012-12-03 16:21:49 +01:00
},
"autoload-dev": {
"psr-4": {
"PHPMailer\\Test\\": "test/"
}
},
"license": "LGPL-2.1-only"
}