39 lines
1.4 KiB
PHP
39 lines
1.4 KiB
PHP
|
<?php
|
||
|
|
||
|
use Egulias\EmailValidator\EmailValidator;
|
||
|
|
||
|
class Swift_Bug650Test extends \PHPUnit\Framework\TestCase
|
||
|
{
|
||
|
/**
|
||
|
* @dataProvider encodingDataProvider
|
||
|
*
|
||
|
* @param string $name
|
||
|
* @param string $expectedEncodedName
|
||
|
*/
|
||
|
public function testMailboxHeaderEncoding($name, $expectedEncodedName)
|
||
|
{
|
||
|
$factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory();
|
||
|
$charStream = new Swift_CharacterStream_NgCharacterStream($factory, 'utf-8');
|
||
|
$encoder = new Swift_Mime_HeaderEncoder_QpHeaderEncoder($charStream);
|
||
|
$header = new Swift_Mime_Headers_MailboxHeader('To', $encoder, new EmailValidator());
|
||
|
$header->setCharset('utf-8');
|
||
|
|
||
|
$header->setNameAddresses([
|
||
|
'test@example.com' => $name,
|
||
|
]);
|
||
|
|
||
|
$this->assertSame('To: '.$expectedEncodedName." <test@example.com>\r\n", $header->toString());
|
||
|
}
|
||
|
|
||
|
public function encodingDataProvider()
|
||
|
{
|
||
|
return [
|
||
|
['this is " a test ö', 'this is =?utf-8?Q?=22?= a test =?utf-8?Q?=C3=B6?='],
|
||
|
[': this is a test ö', '=?utf-8?Q?=3A?= this is a test =?utf-8?Q?=C3=B6?='],
|
||
|
['( test ö', '=?utf-8?Q?=28?= test =?utf-8?Q?=C3=B6?='],
|
||
|
['[ test ö', '=?utf-8?Q?=5B?= test =?utf-8?Q?=C3=B6?='],
|
||
|
['@ test ö)', '=?utf-8?Q?=40?= test =?utf-8?Q?=C3=B6=29?='],
|
||
|
];
|
||
|
}
|
||
|
}
|