summaryrefslogtreecommitdiff
path: root/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug206Test.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug206Test.php')
-rw-r--r--vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug206Test.php38
1 files changed, 38 insertions, 0 deletions
diff --git a/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug206Test.php b/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug206Test.php
new file mode 100644
index 0000000..7563f4d
--- /dev/null
+++ b/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug206Test.php
@@ -0,0 +1,38 @@
+<?php
+
+class Swift_Bug206Test extends \PHPUnit_Framework_TestCase
+{
+ private $_factory;
+
+ protected function setUp()
+ {
+ $factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory();
+ $headerEncoder = new Swift_Mime_HeaderEncoder_QpHeaderEncoder(
+ new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8')
+ );
+ $paramEncoder = new Swift_Encoder_Rfc2231Encoder(
+ new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8')
+ );
+ $grammar = new Swift_Mime_Grammar();
+ $this->_factory = new Swift_Mime_SimpleHeaderFactory($headerEncoder, $paramEncoder, $grammar);
+ }
+
+ public function testMailboxHeaderEncoding()
+ {
+ $this->_testHeaderIsFullyEncoded('email@example.org', 'Family Name, Name', ' "Family Name, Name" <email@example.org>');
+ $this->_testHeaderIsFullyEncoded('email@example.org', 'Family Namé, Name', ' Family =?utf-8?Q?Nam=C3=A9=2C?= Name');
+ $this->_testHeaderIsFullyEncoded('email@example.org', 'Family Namé , Name', ' Family =?utf-8?Q?Nam=C3=A9_=2C?= Name');
+ $this->_testHeaderIsFullyEncoded('email@example.org', 'Family Namé ;Name', ' Family =?utf-8?Q?Nam=C3=A9_=3BName?= ');
+ }
+
+ private function _testHeaderIsFullyEncoded($email, $name, $expected)
+ {
+ $mailboxHeader = $this->_factory->createMailboxHeader('To', array(
+ $email => $name,
+ ));
+
+ $headerBody = substr($mailboxHeader->toString(), 3, strlen($expected));
+
+ $this->assertEquals($expected, $headerBody);
+ }
+}