File: Bug650Test.php

package info (click to toggle)
libphp-swiftmailer 6.3.0-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,164 kB
  • sloc: php: 27,203; sh: 36; makefile: 16
file content (34 lines) | stat: -rw-r--r-- 1,365 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php

use Egulias\EmailValidator\EmailValidator;
use PHPUnit\Framework\Attributes\DataProvider;

class Swift_Bug650Test extends \PHPUnit\Framework\TestCase
{
    #[DataProvider('encodingDataProvider')]
    public function testMailboxHeaderEncoding(string $name, string $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 static 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?='],
        ];
    }
}