ÿØÿà JFIF ÿá Exif MM * ÿÛ C
Server IP : 199.250.214.225 / Your IP : 3.14.247.122 Web Server : Apache System : Linux vps64074.inmotionhosting.com 3.10.0-1160.105.1.vz7.214.3 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : nicngo5 ( 1001) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /home/nicngo5/laravelvue/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/ |
Upload File : |
<?php use Egulias\EmailValidator\EmailValidator; class Swift_Mime_Headers_MailboxHeaderTest extends \SwiftMailerTestCase { /* -- RFC 2822, 3.6.2 for all tests. */ private $charset = 'utf-8'; public function testTypeIsMailboxHeader() { $header = $this->getHeader('To'); $this->assertEquals(Swift_Mime_Header::TYPE_MAILBOX, $header->getFieldType()); } public function testMailboxIsSetForAddress() { $header = $this->getHeader('From'); $header->setAddresses('chris@swiftmailer.org'); $this->assertEquals(['chris@swiftmailer.org'], $header->getNameAddressStrings() ); } public function testMailboxIsRenderedForNameAddress() { $header = $this->getHeader('From'); $header->setNameAddresses(['chris@swiftmailer.org' => 'Chris Corbyn']); $this->assertEquals( ['Chris Corbyn <chris@swiftmailer.org>'], $header->getNameAddressStrings() ); } public function testAddressCanBeReturnedForAddress() { $header = $this->getHeader('From'); $header->setAddresses('chris@swiftmailer.org'); $this->assertEquals(['chris@swiftmailer.org'], $header->getAddresses()); } public function testAddressCanBeReturnedForNameAddress() { $header = $this->getHeader('From'); $header->setNameAddresses(['chris@swiftmailer.org' => 'Chris Corbyn']); $this->assertEquals(['chris@swiftmailer.org'], $header->getAddresses()); } public function testQuotesInNameAreQuoted() { $header = $this->getHeader('From'); $header->setNameAddresses([ 'chris@swiftmailer.org' => 'Chris Corbyn, "DHE"', ]); $this->assertEquals( ['"Chris Corbyn, \"DHE\"" <chris@swiftmailer.org>'], $header->getNameAddressStrings() ); } public function testEscapeCharsInNameAreQuoted() { $header = $this->getHeader('From'); $header->setNameAddresses([ 'chris@swiftmailer.org' => 'Chris Corbyn, \\escaped\\', ]); $this->assertEquals( ['"Chris Corbyn, \\\\escaped\\\\" <chris@swiftmailer.org>'], $header->getNameAddressStrings() ); } public function testUtf8CharsInDomainAreIdnEncoded() { $header = $this->getHeader('From'); $header->setNameAddresses([ 'chris@swïftmailer.org' => 'Chris Corbyn', ]); $this->assertEquals( ['Chris Corbyn <chris@xn--swftmailer-78a.org>'], $header->getNameAddressStrings() ); } /** * @expectedException \Swift_AddressEncoderException */ public function testUtf8CharsInLocalPartThrows() { $header = $this->getHeader('From'); $header->setNameAddresses([ 'chrïs@swiftmailer.org' => 'Chris Corbyn', ]); $header->getNameAddressStrings(); } public function testUtf8CharsInEmail() { $header = $this->getHeader('From', null, new Swift_AddressEncoder_Utf8AddressEncoder()); $header->setNameAddresses([ 'chrïs@swïftmailer.org' => 'Chris Corbyn', ]); $this->assertEquals( ['Chris Corbyn <chrïs@swïftmailer.org>'], $header->getNameAddressStrings() ); } public function testGetMailboxesReturnsNameValuePairs() { $header = $this->getHeader('From'); $header->setNameAddresses([ 'chris@swiftmailer.org' => 'Chris Corbyn, DHE', ]); $this->assertEquals( ['chris@swiftmailer.org' => 'Chris Corbyn, DHE'], $header->getNameAddresses() ); } public function testMultipleAddressesCanBeSetAndFetched() { $header = $this->getHeader('From'); $header->setAddresses([ 'chris@swiftmailer.org', 'mark@swiftmailer.org', ]); $this->assertEquals( ['chris@swiftmailer.org', 'mark@swiftmailer.org'], $header->getAddresses() ); } public function testMultipleAddressesAsMailboxes() { $header = $this->getHeader('From'); $header->setAddresses([ 'chris@swiftmailer.org', 'mark@swiftmailer.org', ]); $this->assertEquals( ['chris@swiftmailer.org' => null, 'mark@swiftmailer.org' => null], $header->getNameAddresses() ); } public function testMultipleAddressesAsMailboxStrings() { $header = $this->getHeader('From'); $header->setAddresses([ 'chris@swiftmailer.org', 'mark@swiftmailer.org', ]); $this->assertEquals( ['chris@swiftmailer.org', 'mark@swiftmailer.org'], $header->getNameAddressStrings() ); } public function testMultipleNamedMailboxesReturnsMultipleAddresses() { $header = $this->getHeader('From'); $header->setNameAddresses([ 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', ]); $this->assertEquals( ['chris@swiftmailer.org', 'mark@swiftmailer.org'], $header->getAddresses() ); } public function testMultipleNamedMailboxesReturnsMultipleMailboxes() { $header = $this->getHeader('From'); $header->setNameAddresses([ 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', ]); $this->assertEquals([ 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', ], $header->getNameAddresses() ); } public function testMultipleMailboxesProducesMultipleMailboxStrings() { $header = $this->getHeader('From'); $header->setNameAddresses([ 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', ]); $this->assertEquals([ 'Chris Corbyn <chris@swiftmailer.org>', 'Mark Corbyn <mark@swiftmailer.org>', ], $header->getNameAddressStrings() ); } public function testSetAddressesOverwritesAnyMailboxes() { $header = $this->getHeader('From'); $header->setNameAddresses([ 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', ]); $this->assertEquals( ['chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', ], $header->getNameAddresses() ); $this->assertEquals( ['chris@swiftmailer.org', 'mark@swiftmailer.org'], $header->getAddresses() ); $header->setAddresses(['chris@swiftmailer.org', 'mark@swiftmailer.org']); $this->assertEquals( ['chris@swiftmailer.org' => null, 'mark@swiftmailer.org' => null], $header->getNameAddresses() ); $this->assertEquals( ['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(['chris@swiftmailer.org' => 'Chris '.$name]); $addresses = $header->getNameAddressStrings(); $this->assertEquals( 'Chris =?'.$this->charset.'?Q?C=8Frbyn?= <chris@swiftmailer.org>', 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(['chris@swiftmailer.org' => 'Chris '.$name]); $header->getNameAddressStrings(); } public function testGetValueReturnsMailboxStringValue() { $header = $this->getHeader('From'); $header->setNameAddresses([ 'chris@swiftmailer.org' => 'Chris Corbyn', ]); $this->assertEquals( 'Chris Corbyn <chris@swiftmailer.org>', $header->getFieldBody() ); } public function testGetValueReturnsMailboxStringValueForMultipleMailboxes() { $header = $this->getHeader('From'); $header->setNameAddresses([ 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', ]); $this->assertEquals( 'Chris Corbyn <chris@swiftmailer.org>, Mark Corbyn <mark@swiftmailer.org>', $header->getFieldBody() ); } public function testRemoveAddressesWithSingleValue() { $header = $this->getHeader('From'); $header->setNameAddresses([ 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', ]); $header->removeAddresses('chris@swiftmailer.org'); $this->assertEquals(['mark@swiftmailer.org'], $header->getAddresses() ); } public function testRemoveAddressesWithList() { $header = $this->getHeader('From'); $header->setNameAddresses([ 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', ]); $header->removeAddresses( ['chris@swiftmailer.org', 'mark@swiftmailer.org'] ); $this->assertEquals([], $header->getAddresses()); } public function testSetBodyModel() { $header = $this->getHeader('From'); $header->setFieldBodyModel('chris@swiftmailer.org'); $this->assertEquals(['chris@swiftmailer.org' => null], $header->getNameAddresses()); } public function testGetBodyModel() { $header = $this->getHeader('From'); $header->setAddresses(['chris@swiftmailer.org']); $this->assertEquals(['chris@swiftmailer.org' => null], $header->getFieldBodyModel()); } public function testToString() { $header = $this->getHeader('From'); $header->setNameAddresses([ 'chris@swiftmailer.org' => 'Chris Corbyn', 'mark@swiftmailer.org' => 'Mark Corbyn', ]); $this->assertEquals( 'From: Chris Corbyn <chris@swiftmailer.org>, '. 'Mark Corbyn <mark@swiftmailer.org>'."\r\n", $header->toString() ); } private function getHeader($name, $encoder = null, $addressEncoder = null) { $encoder = $encoder ?? $this->getEncoder('Q', true); $addressEncoder = $addressEncoder ?? new Swift_AddressEncoder_IdnAddressEncoder(); $header = new Swift_Mime_Headers_MailboxHeader($name, $encoder, new EmailValidator(), $addressEncoder); $header->setCharset($this->charset); return $header; } private function getEncoder($type) { $encoder = $this->getMockery('Swift_Mime_HeaderEncoder')->shouldIgnoreMissing(); $encoder->shouldReceive('getName') ->zeroOrMoreTimes() ->andReturn($type); return $encoder; } }