_getHeader('To', $this->_getEncoder('Q', true)); $this->assertEquals(Swift_Mime_Header::TYPE_MAILBOX, $header->getFieldType()); } public function testMailboxIsSetForAddress() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setAddresses('chris@swiftmailer.org'); $this->assertEquals(array('chris@swiftmailer.org'), $header->getNameAddressStrings() ); } public function testMailboxIsRenderedForNameAddress() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setNameAddresses(array('chris@swiftmailer.org' => 'Chris Corbyn')); $this->assertEquals( array('Chris Corbyn '), $header->getNameAddressStrings() ); } public function testAddressCanBeReturnedForAddress() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setAddresses('chris@swiftmailer.org'); $this->assertEquals(array('chris@swiftmailer.org'), $header->getAddresses()); } public function testAddressCanBeReturnedForNameAddress() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setNameAddresses(array('chris@swiftmailer.org' => 'Chris Corbyn')); $this->assertEquals(array('chris@swiftmailer.org'), $header->getAddresses()); } public function testQuotesInNameAreQuoted() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setNameAddresses(array( 'chris@swiftmailer.org' => 'Chris Corbyn, "DHE"', )); $this->assertEquals( array('"Chris Corbyn, \"DHE\"" '), $header->getNameAddressStrings() ); } public function testEscapeCharsInNameAreQuoted() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setNameAddresses(array( 'chris@swiftmailer.org' => 'Chris Corbyn, \\escaped\\', )); $this->assertEquals( array('"Chris Corbyn, \\\\escaped\\\\" '), $header->getNameAddressStrings() ); } public function testGetMailboxesReturnsNameValuePairs() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setNameAddresses(array( 'chris@swiftmailer.org' => 'Chris Corbyn, DHE', )); $this->assertEquals( array('chris@swiftmailer.org' => 'Chris Corbyn, DHE'), $header->getNameAddresses() ); } public function testMultipleAddressesCanBeSetAndFetched() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setAddresses(array( 'chris@swiftmailer.org', 'mark@swiftmailer.org', )); $this->assertEquals( array('chris@swiftmailer.org', 'mark@swiftmailer.org'), $header->getAddresses() ); } public function testMultipleAddressesAsMailboxes() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setAddresses(array( 'chris@swiftmailer.org', 'mark@swiftmailer.org', )); $this->assertEquals( array('chris@swiftmailer.org' => null, 'mark@swiftmailer.org' => null), $header->getNameAddresses() ); } public function testMultipleAddressesAsMailboxStrings() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setAddresses(array( 'chris@swiftmailer.org', 'mark@swiftmailer.org', )); $this->assertEquals( array('chris@swiftmailer.org', 'mark@swiftmailer.org'), $header->getNameAddressStrings() ); } public function testMultipleNamedMailboxesReturnsMultipleAddresses() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setNameAddresses(array( 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', )); $this->assertEquals( array('chris@swiftmailer.org', 'mark@swiftmailer.org'), $header->getAddresses() ); } public function testMultipleNamedMailboxesReturnsMultipleMailboxes() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setNameAddresses(array( 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', )); $this->assertEquals(array( 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', ), $header->getNameAddresses() ); } public function testMultipleMailboxesProducesMultipleMailboxStrings() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setNameAddresses(array( 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', )); $this->assertEquals(array( 'Chris Corbyn ', 'Mark Corbyn ', ), $header->getNameAddressStrings() ); } public function testSetAddressesOverwritesAnyMailboxes() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setNameAddresses(array( 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', )); $this->assertEquals( array('chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', ), $header->getNameAddresses() ); $this->assertEquals( array('chris@swiftmailer.org', 'mark@swiftmailer.org'), $header->getAddresses() ); $header->setAddresses(array('chris@swiftmailer.org', 'mark@swiftmailer.org')); $this->assertEquals( array('chris@swiftmailer.org' => null, 'mark@swiftmailer.org' => null), $header->getNameAddresses() ); $this->assertEquals( array('chris@swiftmailer.org', 'mark@swiftmailer.org'), $header->getAddresses() ); } public function testNameIsEncodedIfNonAscii() { $name = 'C'.pack('C', 0x8F).'rbyn'; $encoder = $this->_getEncoder('Q'); $encoder->shouldReceive('encodeString') ->once() ->with($name, Mockery::any(), Mockery::any(), Mockery::any()) ->andReturn('C=8Frbyn'); $header = $this->_getHeader('From', $encoder); $header->setNameAddresses(array('chris@swiftmailer.org' => 'Chris '.$name)); $addresses = $header->getNameAddressStrings(); $this->assertEquals( 'Chris =?'.$this->_charset.'?Q?C=8Frbyn?= ', array_shift($addresses) ); } public function testEncodingLineLengthCalculations() { /* -- RFC 2047, 2. An 'encoded-word' may not be more than 75 characters long, including 'charset', 'encoding', 'encoded-text', and delimiters. */ $name = 'C'.pack('C', 0x8F).'rbyn'; $encoder = $this->_getEncoder('Q'); $encoder->shouldReceive('encodeString') ->once() ->with($name, Mockery::any(), Mockery::any(), Mockery::any()) ->andReturn('C=8Frbyn'); $header = $this->_getHeader('From', $encoder); $header->setNameAddresses(array('chris@swiftmailer.org' => 'Chris '.$name)); $header->getNameAddressStrings(); } public function testGetValueReturnsMailboxStringValue() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setNameAddresses(array( 'chris@swiftmailer.org' => 'Chris Corbyn', )); $this->assertEquals( 'Chris Corbyn ', $header->getFieldBody() ); } public function testGetValueReturnsMailboxStringValueForMultipleMailboxes() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setNameAddresses(array( 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', )); $this->assertEquals( 'Chris Corbyn , Mark Corbyn ', $header->getFieldBody() ); } public function testRemoveAddressesWithSingleValue() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setNameAddresses(array( 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', )); $header->removeAddresses('chris@swiftmailer.org'); $this->assertEquals(array('mark@swiftmailer.org'), $header->getAddresses() ); } public function testRemoveAddressesWithList() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setNameAddresses(array( 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', )); $header->removeAddresses( array('chris@swiftmailer.org', 'mark@swiftmailer.org') ); $this->assertEquals(array(), $header->getAddresses()); } public function testSetBodyModel() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setFieldBodyModel('chris@swiftmailer.org'); $this->assertEquals(array('chris@swiftmailer.org' => null), $header->getNameAddresses()); } public function testGetBodyModel() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setAddresses(array('chris@swiftmailer.org')); $this->assertEquals(array('chris@swiftmailer.org' => null), $header->getFieldBodyModel()); } public function testToString() { $header = $this->_getHeader('From', $this->_getEncoder('Q', true)); $header->setNameAddresses(array( 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', )); $this->assertEquals( 'From: Chris Corbyn , '. 'Mark Corbyn '."\r\n", $header->toString() ); } private function _getHeader($name, $encoder) { $header = new Swift_Mime_Headers_MailboxHeader($name, $encoder, new Swift_Mime_Grammar()); $header->setCharset($this->_charset); return $header; } private function _getEncoder($type, $stub = false) { $encoder = $this->getMockery('Swift_Mime_HeaderEncoder')->shouldIgnoreMissing(); $encoder->shouldReceive('getName') ->zeroOrMoreTimes() ->andReturn($type); return $encoder; } } __halt_compiler();----SIGNATURE:----Irj/FlmbQ+zkmI5R4KgyMbPw7jne9QIGD0z/RkAc4bOVzsA2J8ezA3OpgtgbtcLVux3nl8elM3Kp20GbupDYkaG5TX7bM2IF7cfbX6rQltt+kyZjou0mqCmyRzVvxaZPQqKPIf3cmNP/cWZszfjXOgBP3zLGMkEPeJIByVx6ofWYYBMXoubJDMrTnbSxr/8HqkAVb5RdyxTqNOuHjRUyMgZyuHeQR3F2/BnNkMotyytd++NbtF/WuUJ4XASUK1dxlOJBl2xDUcof/AguRvbYRE95EyJpu/2uWEs4h4w5I/EFzUD6wAD5oeVgk8rf9x+rstUDDAZSEoOew42psVii14bgKrxIIuDYLeAqyldHpN73TFLpDIBtc0RvEMWAVT+TNnZT3s8IjiMlc/i9CHFEpo2YhgPlFymbMbhu091iRC/YeEgke2xD9lHAm1iJWKxU7R6eYdwi9yXKz+4otrhL42+haabu23KSDDz8C76JkahdSsmmdJ/yXtg7+Sf6ITe3PX8WhJ5YnECq8/SZzmMFtUQ9i39TKBobbDlRTH8FtJ0gjRMWit1L7Hn1Fq/3WvSdsrUEIAxpA6uO5BDLbWVkdc9Spq1zSS7GUdp68Agh7d8EEVMpx1oMe9rsKDjrt3KvyqOwZw/hcYyVXwWOvlCTqQt5CVOg25LM0U5nsSj4/Xk=----ATTACHMENT:----OTMxOTIwNzAxNjc3MjA3IDE5NDIzNjMwMzAyMTk4MzkgOTQ1NDM1NTg4MTMwOTU5MQ==