diff --git a/.travis.yml b/.travis.yml index 42736fc1..e36d9e0e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,7 +16,9 @@ cache: env: global: - - SERVICE_MANAGER_VERSION="^3.0.3" + - COMPOSER_ARGS="--no-interaction" + - COVERAGE_DEPS="satooshi/php-coveralls" + - LEGACY_DEPS="phpunit/phpunit" - SITE_URL: https://zendframework.github.io/zend-mail - GH_USER_NAME: "Matthew Weier O'Phinney" - GH_USER_EMAIL: matthew@weierophinney.net @@ -24,29 +26,36 @@ env: - secure: "D/LfNRozbXUjssR19Yi+6luLML1XyVhTLaky2FPlFAuWb80viVzTxhlvX1QgWPSxxTH8zLRlPm/71E8wYHTN94UGLwJorOthA/btaWKPtdgJtlHXErSgofVVOUqAObvGFOW9sSSuRZ5gFN0c47uuWJmYbiI3HUQkFMjpGpFatXO1SajzK+dCpN4cuhgHW3T41PNbiG8RRCYeFwGBJdpIXEm3HYN6bAWRbFnnu4uCVnQYZnDn/Rprr8+WIU5JFOJQ7ttCQuq1RMP3EC1fVIr0N5gFL91KYX9EyCYmLpZNMS6kF9cPTRQbMEOcKMXqqfGA031MlhvveeOiVWiap/ScMwpId0ugTq9O+sUvBHZuk4FSRtiURcPTLKAmQfUie8Zb+/dxKI18oOWVLsUU919wAEU/hGeTOvATl0WcjqZ2LmxOLVm6UE8+5kM1FhM04XjQaFSJVWK+Asto9KRrOSd310SMpluATutO2ZSN0r7+a7S65M38RRh63NOtdrtbbYIx7+MdAmfPwH5+wr3gekD0pDgnfQd1zLQNWMF/2idTjoxO6xAxTLvthThf5ANXadz1A2Dwqn1EdGsTJ2QItGO7TFwDE+Wfi1O6vtm2FgEy98vwC0t4D1op+0QSRMPr6lFkzINOv4aVO/SB1NF3zwiB95ZsvqReU/Zj2+aDzltf5tY=" matrix: + fast_finish: true include: - - php: 5.5 - env: - - CS_CHECK=true - - php: 5.5 + - php: 5.6 env: - - SERVICE_MANAGER_VERSION="^2.7.5" + - DEPS=lowest - php: 5.6 env: + - DEPS=latest - TEST_COVERAGE=true + - CS_CHECK=true - DEPLOY_DOCS="$(if [[ $TRAVIS_BRANCH == 'master' && $TRAVIS_PULL_REQUEST == 'false' ]]; then echo -n 'true' ; else echo -n 'false' ; fi)" - PATH="$HOME/.local/bin:$PATH" - - php: 5.6 - env: - - SERVICE_MANAGER_VERSION="^2.7.5" - php: 7 + env: + - DEPS=lowest - php: 7 env: - - SERVICE_MANAGER_VERSION="^2.7.5" - - php: hhvm - - php: hhvm + - DEPS=latest + - php: 7.1 + env: + - DEPS=lowest + - php: 7.1 + env: + - DEPS=latest + - php: hhvm + env: + - DEPS=lowest + - php: hhvm env: - - SERVICE_MANAGER_VERSION="^2.7.5" + - DEPS=latest allow_failures: - php: hhvm @@ -55,13 +64,16 @@ notifications: email: false before_install: - - if [[ $TEST_COVERAGE != 'true' ]]; then phpenv config-rm xdebug.ini || return 0 ; fi - - composer self-update - - if [[ $TEST_COVERAGE == 'true' ]]; then composer require --dev --no-update satooshi/php-coveralls ; fi - - composer require --dev --no-update "zendframework/zend-servicemanager:$SERVICE_MANAGER_VERSION" + - travis_retry composer self-update + - if [[ $TRAVIS_PHP_VERSION != "hhvm" && $TEST_COVERAGE != 'true' ]]; then phpenv config-rm xdebug.ini ; fi install: - - travis_retry composer install --no-interaction --ignore-platform-reqs + - travis_retry composer install $COMPOSER_ARGS + - if [[ $TRAVIS_PHP_VERSION =~ ^5.6 ]]; then travis_retry composer update $COMPOSER_ARGS --with-dependencies $LEGACY_DEPS ; fi + - if [[ $DEPS == 'latest' ]]; then travis_retry composer update $COMPOSER_ARGS ; fi + - if [[ $DEPS == 'lowest' ]]; then travis_retry composer update --prefer-lowest --prefer-stable $COMPOSER_ARGS ; fi + - if [[ $TEST_COVERAGE == 'true' ]]; then travis_retry composer require --dev $COMPOSER_ARGS $COVERAGE_DEPS ; fi + - composer show script: - if [[ $TEST_COVERAGE == 'true' ]]; then composer test-coverage ; else composer test ; fi diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ab327f0..fe0e125d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,9 +12,10 @@ All notable changes to this project will be documented in this file, in reverse configuration flag and/or the `setuseCompleteQuit($flag)` method to change the setting (default is to enable this behavior, which was the previous behavior). - - [#128](https://github.com/zendframework/zend-mail/pull/128) adds a requirement on ext/iconv, as it is used internally. +- [#132](https://github.com/zendframework/zend-mail/pull/132) bumps minimum + php version to 5.6 ### Deprecated diff --git a/composer.json b/composer.json index c7727df2..ca3e0a46 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ } }, "require": { - "php": "^5.5 || ^7.0", + "php": "^7.0 || ^5.6", "ext-iconv": "*", "zendframework/zend-loader": "^2.5", "zendframework/zend-mime": "^2.5", @@ -24,7 +24,7 @@ "zendframework/zend-config": "^2.6", "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", "zendframework/zend-crypt": "^2.6", - "phpunit/phpunit": "^4.8", + "phpunit/phpunit": "^6.0.8 || ^5.7.15", "zendframework/zend-coding-standard": "~1.0.0" }, "suggest": { diff --git a/test/AddressListTest.php b/test/AddressListTest.php index 87e37ce2..8ba08879 100644 --- a/test/AddressListTest.php +++ b/test/AddressListTest.php @@ -9,6 +9,7 @@ namespace ZendTest\Mail; +use PHPUnit\Framework\TestCase; use Zend\Mail\Address; use Zend\Mail\AddressList; @@ -16,7 +17,7 @@ * @group Zend_Mail * @covers Zend\Mail\AddressList */ -class AddressListTest extends \PHPUnit_Framework_TestCase +class AddressListTest extends TestCase { public function setUp() { diff --git a/test/AddressTest.php b/test/AddressTest.php index 9ecef278..eaf63be9 100644 --- a/test/AddressTest.php +++ b/test/AddressTest.php @@ -9,12 +9,13 @@ namespace ZendTest\Mail; +use PHPUnit\Framework\TestCase; use Zend\Mail\Address; /** * @covers Zend\Mail\Address */ -class AddressTest extends \PHPUnit_Framework_TestCase +class AddressTest extends TestCase { public function testDoesNotRequireNameForInstantiation() { @@ -44,7 +45,7 @@ public function testToStringCreatesStringRepresentation() */ public function testSetAddressInvalidAddressObject($email, $name) { - $this->setExpectedException('Zend\Mail\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Exception\InvalidArgumentException'); new Address($email, $name); } diff --git a/test/Header/AddressListHeaderTest.php b/test/Header/AddressListHeaderTest.php index 6a039115..0bcc92ac 100644 --- a/test/Header/AddressListHeaderTest.php +++ b/test/Header/AddressListHeaderTest.php @@ -9,6 +9,7 @@ namespace ZendTest\Mail\Header; +use PHPUnit\Framework\TestCase; use Zend\Mail\Address; use Zend\Mail\AddressList; use Zend\Mail\Header\Bcc; @@ -20,7 +21,7 @@ /** * @group Zend_Mail */ -class AddressListHeaderTest extends \PHPUnit_Framework_TestCase +class AddressListHeaderTest extends TestCase { public static function getHeaderInstances() { diff --git a/test/Header/ContentTransferEncodingTest.php b/test/Header/ContentTransferEncodingTest.php index 9c62dc4f..f6335774 100644 --- a/test/Header/ContentTransferEncodingTest.php +++ b/test/Header/ContentTransferEncodingTest.php @@ -9,13 +9,14 @@ namespace ZendTest\Mail\Header; +use PHPUnit\Framework\TestCase; use Zend\Mail\Header\ContentTransferEncoding; /** * @group Zend_Mail * @covers Zend\Mail\Header\ContentTransferEncoding */ -class ContentTransferEncodingTest extends \PHPUnit_Framework_TestCase +class ContentTransferEncodingTest extends TestCase { public function dataValidEncodings() { @@ -50,7 +51,7 @@ public function testContentTransferEncodingFromStringCreatesValidContentTransfer */ public function testContentTransferEncodingFromStringRaisesException($encoding) { - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); $contentTransferEncodingHeader = ContentTransferEncoding::fromString('Content-Transfer-Encoding: '.$encoding); } @@ -104,7 +105,7 @@ public function testProvidingParametersIntroducesHeaderFolding() */ public function testFromStringRaisesExceptionOnInvalidHeaderName() { - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); ContentTransferEncoding::fromString('Content-Transfer-Encoding' . chr(32) . ': 8bit'); } @@ -120,11 +121,10 @@ public function headerLines() /** * @dataProvider headerLines * @group ZF2015-04 - * @expectedException Zend\Mail\Header\Exception\InvalidArgumentException */ public function testFromStringRaisesExceptionForInvalidMultilineValues($headerLine) { - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); ContentTransferEncoding::fromString($headerLine); } @@ -133,7 +133,8 @@ public function testFromStringRaisesExceptionForInvalidMultilineValues($headerLi */ public function testFromStringRaisesExceptionForContinuations() { - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException', 'expects'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectExceptionMessage('expects'); ContentTransferEncoding::fromString("Content-Transfer-Encoding: 8bit\r\n 7bit"); } @@ -143,7 +144,8 @@ public function testFromStringRaisesExceptionForContinuations() public function testSetTransferEncodingRaisesExceptionForInvalidValues() { $header = new ContentTransferEncoding(); - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException', 'expects'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectExceptionMessage('expects'); $header->setTransferEncoding("8bit\r\n 7bit"); } } diff --git a/test/Header/ContentTypeTest.php b/test/Header/ContentTypeTest.php index 9c34c937..20243cfa 100644 --- a/test/Header/ContentTypeTest.php +++ b/test/Header/ContentTypeTest.php @@ -9,6 +9,7 @@ namespace ZendTest\Mail\Header; +use PHPUnit\Framework\TestCase; use Zend\Mail\Header\ContentType; use Zend\Mail\Header\Exception\InvalidArgumentException; use Zend\Mail\Header\HeaderInterface; @@ -18,7 +19,7 @@ * @group Zend_Mail * @covers Zend\Mail\Header\ContentType */ -class ContentTypeTest extends \PHPUnit_Framework_TestCase +class ContentTypeTest extends TestCase { public function testImplementsHeaderInterface() { @@ -85,7 +86,8 @@ public function testSetType($type, $parameters, $fieldValue, $expectedToString) */ public function testFromStringThrowException($headerLine, $expectedException, $exceptionMessage) { - $this->setExpectedException($expectedException, $exceptionMessage); + $this->expectException($expectedException); + $this->expectExceptionMessage($exceptionMessage); ContentType::fromString($headerLine); } @@ -107,7 +109,8 @@ public function testAddParameterThrowException($paramName, $paramValue, $expecte $header = new ContentType(); $header->setType('text/html'); - $this->setExpectedException($expectedException, $exceptionMessage); + $this->expectException($expectedException); + $this->expectExceptionMessage($exceptionMessage); $header->addParameter($paramName, $paramValue); } diff --git a/test/Header/DateTest.php b/test/Header/DateTest.php index 5b5f7771..24e01b68 100644 --- a/test/Header/DateTest.php +++ b/test/Header/DateTest.php @@ -9,7 +9,7 @@ namespace ZendTest\Mail\Header; -use PHPUnit_Framework_TestCase as TestCase; +use PHPUnit\Framework\TestCase; use Zend\Mail\Header; /** @@ -33,7 +33,7 @@ public function headerLines() */ public function testFromStringRaisesExceptionOnCrlfInjectionAttempt($header) { - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); Header\Date::fromString($header); } @@ -42,7 +42,7 @@ public function testFromStringRaisesExceptionOnCrlfInjectionAttempt($header) */ public function testPreventsCRLFInjectionViaConstructor() { - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); $address = new Header\Date("This\ris\r\na\nCRLF Attack"); } } diff --git a/test/Header/GenericHeaderTest.php b/test/Header/GenericHeaderTest.php index 76536038..8711d42d 100644 --- a/test/Header/GenericHeaderTest.php +++ b/test/Header/GenericHeaderTest.php @@ -9,7 +9,7 @@ namespace ZendTest\Mail\Header; -use PHPUnit_Framework_TestCase as TestCase; +use PHPUnit\Framework\TestCase; use Zend\Mail\Header\GenericHeader; /** @@ -22,7 +22,7 @@ class GenericHeaderTest extends TestCase */ public function testSplitHeaderLineRaisesExceptionOnInvalidHeader() { - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); GenericHeader::splitHeaderLine( 'Content-Type' . chr(32) . ': text/html; charset = "iso-8859-1"' . "\nThis is a test" ); @@ -43,7 +43,8 @@ public function fieldNames() public function testRaisesExceptionOnInvalidFieldName($fieldName) { $header = new GenericHeader(); - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException', 'name'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectExceptionMessage('name'); $header->setFieldName($fieldName); } diff --git a/test/Header/HeaderNameTest.php b/test/Header/HeaderNameTest.php index 73994a73..418f32e0 100644 --- a/test/Header/HeaderNameTest.php +++ b/test/Header/HeaderNameTest.php @@ -9,7 +9,7 @@ namespace ZendTest\Mail\Header; -use PHPUnit_Framework_TestCase as TestCase; +use PHPUnit\Framework\TestCase; use Zend\Mail\Header\HeaderName; /** @@ -80,7 +80,8 @@ public function assertNames() */ public function testAssertValidRaisesExceptionForInvalidNames($name) { - $this->setExpectedException('Zend\Mail\Header\Exception\RuntimeException', 'Invalid'); + $this->expectException('Zend\Mail\Header\Exception\RuntimeException'); + $this->expectExceptionMessage('Invalid'); HeaderName::assertValid($name); } } diff --git a/test/Header/HeaderValueTest.php b/test/Header/HeaderValueTest.php index 8dfa091e..ff09b7f1 100644 --- a/test/Header/HeaderValueTest.php +++ b/test/Header/HeaderValueTest.php @@ -9,7 +9,7 @@ namespace ZendTest\Mail\Header; -use PHPUnit_Framework_TestCase as TestCase; +use PHPUnit\Framework\TestCase; use ReflectionClass; use Zend\Mail\Header\HeaderValue; @@ -101,7 +101,8 @@ public function assertValues() */ public function testAssertValidRaisesExceptionForInvalidValues($value) { - $this->setExpectedException('Zend\Mail\Header\Exception\RuntimeException', 'Invalid'); + $this->expectException('Zend\Mail\Header\Exception\RuntimeException'); + $this->expectExceptionMessage('Invalid'); HeaderValue::assertValid($value); } } diff --git a/test/Header/HeaderWrapTest.php b/test/Header/HeaderWrapTest.php index 3ea739df..7f728ec7 100644 --- a/test/Header/HeaderWrapTest.php +++ b/test/Header/HeaderWrapTest.php @@ -9,6 +9,7 @@ namespace ZendTest\Mail\Header; +use PHPUnit\Framework\TestCase; use Zend\Mail\Header\GenericHeader; use Zend\Mail\Header\HeaderWrap; @@ -16,12 +17,12 @@ * @group Zend_Mail * @covers Zend\Mail\Header\HeaderWrap */ -class HeaderWrapTest extends \PHPUnit_Framework_TestCase +class HeaderWrapTest extends TestCase { public function testWrapUnstructuredHeaderAscii() { $string = str_repeat('foobarblahblahblah baz bat', 4); - $header = $this->getMock('Zend\Mail\Header\UnstructuredInterface'); + $header = $this->createMock('Zend\Mail\Header\UnstructuredInterface'); $header->expects($this->any()) ->method('getEncoding') ->will($this->returnValue('ASCII')); @@ -37,7 +38,7 @@ public function testWrapUnstructuredHeaderAscii() public function testWrapUnstructuredHeaderMime() { $string = str_repeat('foobarblahblahblah baz bat', 3); - $header = $this->getMock('Zend\Mail\Header\UnstructuredInterface'); + $header = $this->createMock('Zend\Mail\Header\UnstructuredInterface'); $header->expects($this->any()) ->method('getEncoding') ->will($this->returnValue('UTF-8')); diff --git a/test/Header/MessageIdTest.php b/test/Header/MessageIdTest.php index f7efb8b6..0699fbfe 100644 --- a/test/Header/MessageIdTest.php +++ b/test/Header/MessageIdTest.php @@ -9,13 +9,14 @@ namespace ZendTest\Mail\Header; +use PHPUnit\Framework\TestCase; use Zend\Mail\Header; /** * @group Zend_Mail * @covers Zend\Mail\Header\MessageId */ -class MessageIdTest extends \PHPUnit_Framework_TestCase +class MessageIdTest extends TestCase { public function testSettingManually() { @@ -52,7 +53,7 @@ public function headerLines() */ public function testFromStringPreventsCrlfInjectionOnDetection($header) { - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); $messageid = Header\MessageId::fromString($header); } @@ -74,7 +75,7 @@ public function invalidIdentifiers() public function testInvalidIdentifierRaisesException($id) { $header = new Header\MessageId(); - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); $header->setId($id); } } diff --git a/test/Header/MimeVersionTest.php b/test/Header/MimeVersionTest.php index 3b535fd0..ce194fb7 100644 --- a/test/Header/MimeVersionTest.php +++ b/test/Header/MimeVersionTest.php @@ -9,13 +9,14 @@ namespace ZendTest\Mail\Header; +use PHPUnit\Framework\TestCase; use Zend\Mail\Header; /** * @group Zend_Mail * @covers Zend\Mail\Header\MimeVersion */ -class MimeVersionTest extends \PHPUnit_Framework_TestCase +class MimeVersionTest extends TestCase { public function testSettingManually() { @@ -47,7 +48,7 @@ public function headerLines() */ public function testFromStringRaisesExceptionOnDetectionOfCrlfInjection($header) { - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); $mime = Header\MimeVersion::fromString($header); } @@ -68,7 +69,7 @@ public function invalidVersions() public function testRaisesExceptionOnInvalidVersionFromSetVersion($value) { $header = new Header\MimeVersion(); - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); $header->setVersion($value); } } diff --git a/test/Header/ReceivedTest.php b/test/Header/ReceivedTest.php index ce1e3f8e..c8ec5a0d 100644 --- a/test/Header/ReceivedTest.php +++ b/test/Header/ReceivedTest.php @@ -9,13 +9,14 @@ namespace ZendTest\Mail\Header; +use PHPUnit\Framework\TestCase; use Zend\Mail\Header; /** * @group Zend_Mail * @covers Zend\Mail\Header\Received */ -class ReceivedTest extends \PHPUnit_Framework_TestCase +class ReceivedTest extends TestCase { public function testFromStringCreatesValidReceivedHeader() { @@ -67,7 +68,7 @@ public function headerLines() */ public function testRaisesExceptionViaFromStringOnDetectionOfCrlfInjection($header) { - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); $received = Header\Received::fromString($header); } @@ -87,7 +88,7 @@ public function invalidValues() */ public function testConstructorRaisesExceptionOnValueWithCRLFInjectionAttempt($value) { - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); new Header\Received($value); } } diff --git a/test/Header/SenderTest.php b/test/Header/SenderTest.php index 7b0addfa..9f773647 100644 --- a/test/Header/SenderTest.php +++ b/test/Header/SenderTest.php @@ -9,6 +9,7 @@ namespace ZendTest\Mail\Header; +use PHPUnit\Framework\TestCase; use Zend\Mail\Address; use Zend\Mail\Header; use Zend\Mail\Exception; @@ -17,7 +18,7 @@ * @group Zend_Mail * @covers Zend\Mail\Header\Sender */ -class SenderTest extends \PHPUnit_Framework_TestCase +class SenderTest extends TestCase { public function testFromStringCreatesValidReceivedHeader() { @@ -54,14 +55,12 @@ public function testParseValidSenderHeader($expectedFieldValue, $encodedValue, $ * @group ZF2015-04 * @param string $decodedValue * @param string $expectedException - * @param string|null $expectedExceptionMessage */ public function testParseInvalidSenderHeaderThrowException( $decodedValue, - $expectedException, - $expectedExceptionMessage + $expectedException ) { - $this->setExpectedException($expectedException, $expectedExceptionMessage); + $this->expectException($expectedException); Header\Sender::fromString('Sender:' . $decodedValue); } @@ -93,7 +92,7 @@ public function testSetAddressValidValue($email, $name, $expectedFieldValue, $en public function testSetAddressInvalidValue($email, $name) { $header = new Header\Sender(); - $this->setExpectedException('Zend\Mail\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Exception\InvalidArgumentException'); $header->setAddress($email, $name); } @@ -190,20 +189,20 @@ public function invalidSenderEncodedDataProvider() return [ // Description => [decoded format, exception class, exception message], - 'Empty' => ['', $mailInvalidArgumentException, null], - 'any ASCII' => ['azAZ09-_', $mailInvalidArgumentException, null], - 'any UTF-8' => ['ázÁZ09-_', $mailInvalidArgumentException, null], - ["xxx yyy\n", $mailInvalidArgumentException, null], - ["xxx yyy\r\n", $mailInvalidArgumentException, null], - ["xxx yyy\r\n\r\n", $mailInvalidArgumentException, null], - ["xxx\r\ny\r\nyy", $mailInvalidArgumentException, null], - ["foo\r\n@\r\nbar", $mailInvalidArgumentException, null], + 'Empty' => ['', $mailInvalidArgumentException], + 'any ASCII' => ['azAZ09-_', $mailInvalidArgumentException], + 'any UTF-8' => ['ázÁZ09-_', $mailInvalidArgumentException], + ["xxx yyy\n", $mailInvalidArgumentException], + ["xxx yyy\r\n", $mailInvalidArgumentException], + ["xxx yyy\r\n\r\n", $mailInvalidArgumentException], + ["xxx\r\ny\r\nyy", $mailInvalidArgumentException], + ["foo\r\n@\r\nbar", $mailInvalidArgumentException], - ["ázÁZ09 ", $headerInvalidArgumentException, null], - 'newline' => ["\n", $headerInvalidArgumentException, null], - 'cr-lf' => ["\r\n", $headerInvalidArgumentException, null], - 'cr-lf-wsp' => ["\r\n\r\n", $headerInvalidArgumentException, null], - 'multiline' => ["", $headerInvalidArgumentException, null], + ["ázÁZ09 ", $headerInvalidArgumentException], + 'newline' => ["\n", $headerInvalidArgumentException], + 'cr-lf' => ["\r\n", $headerInvalidArgumentException], + 'cr-lf-wsp' => ["\r\n\r\n", $headerInvalidArgumentException], + 'multiline' => ["", $headerInvalidArgumentException], ]; } @@ -247,7 +246,8 @@ public function validHeaderLinesProvider() */ public function testFromStringWithInvalidInput($headerString, $expectedException, $expectedMessagePart = '') { - $this->setExpectedException($expectedException, $expectedMessagePart); + $this->expectException($expectedException); + $this->expectExceptionMessage($expectedMessagePart); Header\Sender::fromString($headerString); } diff --git a/test/Header/SubjectTest.php b/test/Header/SubjectTest.php index 1105830b..0696be29 100644 --- a/test/Header/SubjectTest.php +++ b/test/Header/SubjectTest.php @@ -9,13 +9,14 @@ namespace ZendTest\Mail\Header; +use PHPUnit\Framework\TestCase; use Zend\Mail\Header; /** * @group Zend_Mail * @covers Zend\Mail\Header\Subject */ -class SubjectTest extends \PHPUnit_Framework_TestCase +class SubjectTest extends TestCase { public function testHeaderFolding() { @@ -55,7 +56,8 @@ public function testParseInvalidSubjectHeaderThrowException( $expectedException, $expectedExceptionMessage ) { - $this->setExpectedException($expectedException, $expectedExceptionMessage); + $this->expectException($expectedException); + $this->expectExceptionMessage($expectedExceptionMessage); Header\Subject::fromString('Subject:' . $decodedValue); } diff --git a/test/Header/ToTest.php b/test/Header/ToTest.php index be59e200..ff4bf784 100644 --- a/test/Header/ToTest.php +++ b/test/Header/ToTest.php @@ -9,6 +9,7 @@ namespace ZendTest\Mail\Header; +use PHPUnit\Framework\TestCase; use Zend\Mail\Header; /** @@ -18,7 +19,7 @@ * @group Zend_Mail * @covers Zend\Mail\Header\To */ -class ToTest extends \PHPUnit_Framework_TestCase +class ToTest extends TestCase { public function testHeaderFoldingOccursProperly() { @@ -48,7 +49,7 @@ public function headerLines() */ public function testFromStringRaisesExceptionWhenCrlfInjectionIsDetected($header) { - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); Header\To::fromString($header); } } diff --git a/test/HeadersTest.php b/test/HeadersTest.php index 64cfbccd..3286f17a 100644 --- a/test/HeadersTest.php +++ b/test/HeadersTest.php @@ -9,6 +9,7 @@ namespace ZendTest\Mail; +use PHPUnit\Framework\TestCase; use Zend\Mail; use Zend\Mail\Header; @@ -16,7 +17,7 @@ * @group Zend_Mail * @covers Zend\Mail\Headers */ -class HeadersTest extends \PHPUnit_Framework_TestCase +class HeadersTest extends TestCase { public function testHeadersImplementsProperClasses() { @@ -74,7 +75,8 @@ public function testHeadersFromStringFactoryCreatesSingleObjectWithHeaderBreakLi public function testHeadersFromStringFactoryThrowsExceptionOnMalformedHeaderLine() { - $this->setExpectedException('Zend\Mail\Exception\RuntimeException', 'does not match'); + $this->expectException('Zend\Mail\Exception\RuntimeException'); + $this->expectExceptionMessage('does not match'); Mail\Headers::fromString("Fake = foo-bar\r\n\r\n"); } @@ -145,10 +147,8 @@ public function testHeadersAggregatesHeaderThroughAddHeaderLine() public function testHeadersAddHeaderLineThrowsExceptionOnMissingFieldValue() { - $this->setExpectedException( - 'Zend\Mail\Header\Exception\InvalidArgumentException', - 'Header must match with the format "name:value"' - ); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectExceptionMessage('Header must match with the format "name:value"'); $headers = new Mail\Headers(); $headers->addHeaderLine('Foo'); } @@ -193,7 +193,8 @@ public function testHeadersAggregatesHeadersThroughAddHeaders() public function testHeadersAddHeadersThrowsExceptionOnInvalidArguments() { - $this->setExpectedException('Zend\Mail\Exception\InvalidArgumentException', 'Expected array or Trav'); + $this->expectException('Zend\Mail\Exception\InvalidArgumentException'); + $this->expectExceptionMessage('Expected array or Trav'); $headers = new Mail\Headers(); $headers->addHeaders('foo'); } @@ -405,7 +406,7 @@ public function testClone() */ public function testHeaderCrLfAttackFromString() { - $this->setExpectedException('Zend\Mail\Exception\RuntimeException'); + $this->expectException('Zend\Mail\Exception\RuntimeException'); Mail\Headers::fromString("Fake: foo-bar\r\n\r\nevilContent"); } @@ -415,7 +416,7 @@ public function testHeaderCrLfAttackFromString() public function testHeaderCrLfAttackAddHeaderLineSingle() { $headers = new Mail\Headers(); - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); $headers->addHeaderLine("Fake: foo-bar\r\n\r\nevilContent"); } @@ -425,7 +426,7 @@ public function testHeaderCrLfAttackAddHeaderLineSingle() public function testHeaderCrLfAttackAddHeaderLineWithValue() { $headers = new Mail\Headers(); - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); $headers->addHeaderLine('Fake', "foo-bar\r\n\r\nevilContent"); } @@ -435,7 +436,7 @@ public function testHeaderCrLfAttackAddHeaderLineWithValue() public function testHeaderCrLfAttackAddHeaderLineMultiple() { $headers = new Mail\Headers(); - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); $headers->addHeaderLine('Fake', ["foo-bar\r\n\r\nevilContent"]); $headers->forceLoading(); } @@ -446,7 +447,7 @@ public function testHeaderCrLfAttackAddHeaderLineMultiple() public function testHeaderCrLfAttackAddHeadersSingle() { $headers = new Mail\Headers(); - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); $headers->addHeaders(["Fake: foo-bar\r\n\r\nevilContent"]); } @@ -456,7 +457,7 @@ public function testHeaderCrLfAttackAddHeadersSingle() public function testHeaderCrLfAttackAddHeadersWithValue() { $headers = new Mail\Headers(); - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); $headers->addHeaders(['Fake' => "foo-bar\r\n\r\nevilContent"]); } @@ -466,7 +467,7 @@ public function testHeaderCrLfAttackAddHeadersWithValue() public function testHeaderCrLfAttackAddHeadersMultiple() { $headers = new Mail\Headers(); - $this->setExpectedException('Zend\Mail\Header\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Header\Exception\InvalidArgumentException'); $headers->addHeaders(['Fake' => ["foo-bar\r\n\r\nevilContent"]]); $headers->forceLoading(); } diff --git a/test/MessageFactoryTest.php b/test/MessageFactoryTest.php index 594b30c9..cad9faa0 100644 --- a/test/MessageFactoryTest.php +++ b/test/MessageFactoryTest.php @@ -9,13 +9,14 @@ namespace ZendTest\Mail; +use PHPUnit\Framework\TestCase; use Zend\Mail\MessageFactory; /** * @group Zend_Mail * @covers Zend\Mail\MessageFactory */ -class MessageFactoryTest extends \PHPUnit_Framework_TestCase +class MessageFactoryTest extends TestCase { public function testConstructMessageWithOptions() { @@ -117,7 +118,7 @@ public function invalidMessageOptions() */ public function testExceptionForOptionsNotArrayOrTraversable($options) { - $this->setExpectedException('Zend\Mail\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Exception\InvalidArgumentException'); MessageFactory::getInstance($options); } } diff --git a/test/MessageTest.php b/test/MessageTest.php index 3662799a..63ff3b16 100644 --- a/test/MessageTest.php +++ b/test/MessageTest.php @@ -9,6 +9,7 @@ namespace ZendTest\Mail; +use PHPUnit\Framework\TestCase; use stdClass; use Zend\Mail\Address; use Zend\Mail\AddressList; @@ -23,7 +24,7 @@ * @group Zend_Mail * @covers Zend\Mail\Message */ -class MessageTest extends \PHPUnit_Framework_TestCase +class MessageTest extends TestCase { /** @var Message */ public $message; @@ -532,7 +533,7 @@ public static function invalidBodyValues() */ public function testSettingNonScalarNonMimeNonStringSerializableValueForBodyRaisesException($body) { - $this->setExpectedException('Zend\Mail\Exception\InvalidArgumentException'); + $this->expectException('Zend\Mail\Exception\InvalidArgumentException'); $this->message->setBody($body); } @@ -757,7 +758,7 @@ public function testRaisesExceptionWhenAttemptingToSerializeMessageWithCRLFInjec '', '