|  | 
| 10 | 10 | use Exception as GeneralException; | 
| 11 | 11 | use PHPUnit\Framework\TestCase; | 
| 12 | 12 | use Zend\Mail\Exception as MailException; | 
|  | 13 | +use Zend\Mail\Headers; | 
| 13 | 14 | use Zend\Mail\Storage; | 
| 14 | 15 | use Zend\Mail\Storage\Exception; | 
| 15 | 16 | use Zend\Mail\Storage\Message; | 
|  | 
| 24 | 25 | class MessageTest extends TestCase | 
| 25 | 26 | { | 
| 26 | 27 |     protected $file; | 
|  | 28 | + | 
| 27 | 29 |     protected $file2; | 
| 28 | 30 | 
 | 
| 29 | 31 |     public function setUp() | 
| @@ -432,6 +434,29 @@ public function testSpaceInFieldName() | 
| 432 | 434 |         $this->assertEquals(Mime\Decode::splitHeaderField($header, 'baz'), 42); | 
| 433 | 435 |     } | 
| 434 | 436 | 
 | 
|  | 437 | +    /** | 
|  | 438 | +     * splitMessage with Headers as input fails to process AddressList with semicolons | 
|  | 439 | +     */ | 
|  | 440 | +    public function testHeadersLosesNameQuoting() | 
|  | 441 | +    { | 
|  | 442 | +        $headerList = [ | 
|  | 443 | +            'From: "Famous bearings |;" <[email protected]>', | 
|  | 444 | +            'Reply-To: "Famous bearings |:" <[email protected]>', | 
|  | 445 | +        ]; | 
|  | 446 | + | 
|  | 447 | +        // create Headers object from array | 
|  | 448 | +        Mime\Decode::splitMessage(implode("\r\n", $headerList), $headers1, $body); | 
|  | 449 | +        $this->assertInstanceOf(Headers::class, $headers1); | 
|  | 450 | +        // create Headers object from Headers object | 
|  | 451 | +        Mime\Decode::splitMessage($headers1, $headers2, $body); | 
|  | 452 | +        $this->assertInstanceOf(Headers::class, $headers2); | 
|  | 453 | + | 
|  | 454 | +        // test that same problem does not happen with Storage\Message internally | 
|  | 455 | +        $message = new Message(['headers' => $headers2, 'content' => (string)$body]); | 
|  | 456 | +        $this->assertEquals ('"Famous bearings |;" <[email protected]>' , $message ->from ); | 
|  | 457 | +        $this->assertEquals ('Famous bearings |: <[email protected]>' , $message ->replyTo ); | 
|  | 458 | +    } | 
|  | 459 | + | 
| 435 | 460 |     /** | 
| 436 | 461 |      * @group ZF2-372 | 
| 437 | 462 |      */ | 
|  | 
0 commit comments