diff --git a/test/HeadersTest.php b/test/HeadersTest.php index 64cfbccd..18ef7ee4 100644 --- a/test/HeadersTest.php +++ b/test/HeadersTest.php @@ -400,6 +400,29 @@ public function testClone() $this->assertFalse($headers2->has('Bcc')); } + /** + * Problem: + * 1. GenericHeader loads the header in file, decodes it to utf-8 + * 2. the Headers::get attempts to Lazy-Load "To" header class + * Lazyload does stringify and load in from string + * $encoding = $current->getEncoding(); + * $headers = $class::fromString($current->toString()); + * However, toString does not encode comma + * AND To header class does split on comma! + * + * @see \Zend\Mail\Header\AbstractAddressList::fromString + */ + public function testDogFood() { + $headers = new Mail\Headers(); + + $genericHeader = Mail\Header\GenericHeader::fromString('To: "=?iso-8859-1?Q?W=2C_bj=F8rn?=" '); + $this->assertEquals('"W, bjørn" ', $genericHeader->getFieldValue()); + + $headers->addHeader($genericHeader); + $toHeader = $headers->get('To'); + $this->assertEquals('To: =?UTF-8?Q?W,=20bj=C3=B8rn?= ', $toHeader->toString()); + } + /** * @group ZF2015-04 */