_createMessage($this->_createHeaderSet(), $this->_createEncoder(), $this->_createCache() ); $this->assertEquals( Swift_Mime_MimeEntity::LEVEL_TOP, $message->getNestingLevel() ); } public function testDateIsReturnedFromHeader() { $date = $this->_createHeader('Date', 123); $message = $this->_createMessage( $this->_createHeaderSet(array('Date' => $date)), $this->_createEncoder(), $this->_createCache() ); $this->assertEquals(123, $message->getDate()); } public function testDateIsSetInHeader() { $date = $this->_createHeader('Date', 123, array(), false); $date->shouldReceive('setFieldBodyModel') ->once() ->with(1234); $date->shouldReceive('setFieldBodyModel') ->zeroOrMoreTimes(); $message = $this->_createMessage( $this->_createHeaderSet(array('Date' => $date)), $this->_createEncoder(), $this->_createCache() ); $message->setDate(1234); } public function testDateHeaderIsCreatedIfNonePresent() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addDateHeader') ->once() ->with('Date', 1234); $headers->shouldReceive('addDateHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setDate(1234); } public function testDateHeaderIsAddedDuringConstruction() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addDateHeader') ->once() ->with('Date', '/^[0-9]+$/D'); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); } public function testIdIsReturnedFromHeader() { /* -- RFC 2045, 7. In constructing a high-level user agent, it may be desirable to allow one body to make reference to another. Accordingly, bodies may be labelled using the "Content-ID" header field, which is syntactically identical to the "Message-ID" header field */ $messageId = $this->_createHeader('Message-ID', 'a@b'); $message = $this->_createMessage( $this->_createHeaderSet(array('Message-ID' => $messageId)), $this->_createEncoder(), $this->_createCache() ); $this->assertEquals('a@b', $message->getId()); } public function testIdIsSetInHeader() { $messageId = $this->_createHeader('Message-ID', 'a@b', array(), false); $messageId->shouldReceive('setFieldBodyModel') ->once() ->with('x@y'); $messageId->shouldReceive('setFieldBodyModel') ->zeroOrMoreTimes(); $message = $this->_createMessage( $this->_createHeaderSet(array('Message-ID' => $messageId)), $this->_createEncoder(), $this->_createCache() ); $message->setId('x@y'); } public function testIdIsAutoGenerated() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addIdHeader') ->once() ->with('Message-ID', '/^.*?@.*?$/D'); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); } public function testSubjectIsReturnedFromHeader() { /* -- RFC 2822, 3.6.5. */ $subject = $this->_createHeader('Subject', 'example subject'); $message = $this->_createMessage( $this->_createHeaderSet(array('Subject' => $subject)), $this->_createEncoder(), $this->_createCache() ); $this->assertEquals('example subject', $message->getSubject()); } public function testSubjectIsSetInHeader() { $subject = $this->_createHeader('Subject', '', array(), false); $subject->shouldReceive('setFieldBodyModel') ->once() ->with('foo'); $message = $this->_createMessage( $this->_createHeaderSet(array('Subject' => $subject)), $this->_createEncoder(), $this->_createCache() ); $message->setSubject('foo'); } public function testSubjectHeaderIsCreatedIfNotPresent() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addTextHeader') ->once() ->with('Subject', 'example subject'); $headers->shouldReceive('addTextHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setSubject('example subject'); } public function testReturnPathIsReturnedFromHeader() { /* -- RFC 2822, 3.6.7. */ $path = $this->_createHeader('Return-Path', 'bounces@domain'); $message = $this->_createMessage( $this->_createHeaderSet(array('Return-Path' => $path)), $this->_createEncoder(), $this->_createCache() ); $this->assertEquals('bounces@domain', $message->getReturnPath()); } public function testReturnPathIsSetInHeader() { $path = $this->_createHeader('Return-Path', '', array(), false); $path->shouldReceive('setFieldBodyModel') ->once() ->with('bounces@domain'); $message = $this->_createMessage( $this->_createHeaderSet(array('Return-Path' => $path)), $this->_createEncoder(), $this->_createCache() ); $message->setReturnPath('bounces@domain'); } public function testReturnPathHeaderIsAddedIfNoneSet() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addPathHeader') ->once() ->with('Return-Path', 'bounces@domain'); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setReturnPath('bounces@domain'); } public function testSenderIsReturnedFromHeader() { /* -- RFC 2822, 3.6.2. */ $sender = $this->_createHeader('Sender', array('sender@domain' => 'Name')); $message = $this->_createMessage( $this->_createHeaderSet(array('Sender' => $sender)), $this->_createEncoder(), $this->_createCache() ); $this->assertEquals(array('sender@domain' => 'Name'), $message->getSender()); } public function testSenderIsSetInHeader() { $sender = $this->_createHeader('Sender', array('sender@domain' => 'Name'), array(), false ); $sender->shouldReceive('setFieldBodyModel') ->once() ->with(array('other@domain' => 'Other')); $message = $this->_createMessage( $this->_createHeaderSet(array('Sender' => $sender)), $this->_createEncoder(), $this->_createCache() ); $message->setSender(array('other@domain' => 'Other')); } public function testSenderHeaderIsAddedIfNoneSet() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addMailboxHeader') ->once() ->with('Sender', (array) 'sender@domain'); $headers->shouldReceive('addMailboxHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setSender('sender@domain'); } public function testNameCanBeUsedInSenderHeader() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addMailboxHeader') ->once() ->with('Sender', array('sender@domain' => 'Name')); $headers->shouldReceive('addMailboxHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setSender('sender@domain', 'Name'); } public function testFromIsReturnedFromHeader() { /* -- RFC 2822, 3.6.2. */ $from = $this->_createHeader('From', array('from@domain' => 'Name')); $message = $this->_createMessage( $this->_createHeaderSet(array('From' => $from)), $this->_createEncoder(), $this->_createCache() ); $this->assertEquals(array('from@domain' => 'Name'), $message->getFrom()); } public function testFromIsSetInHeader() { $from = $this->_createHeader('From', array('from@domain' => 'Name'), array(), false ); $from->shouldReceive('setFieldBodyModel') ->once() ->with(array('other@domain' => 'Other')); $message = $this->_createMessage( $this->_createHeaderSet(array('From' => $from)), $this->_createEncoder(), $this->_createCache() ); $message->setFrom(array('other@domain' => 'Other')); } public function testFromIsAddedToHeadersDuringAddFrom() { $from = $this->_createHeader('From', array('from@domain' => 'Name'), array(), false ); $from->shouldReceive('setFieldBodyModel') ->once() ->with(array('from@domain' => 'Name', 'other@domain' => 'Other')); $message = $this->_createMessage( $this->_createHeaderSet(array('From' => $from)), $this->_createEncoder(), $this->_createCache() ); $message->addFrom('other@domain', 'Other'); } public function testFromHeaderIsAddedIfNoneSet() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addMailboxHeader') ->once() ->with('From', (array) 'from@domain'); $headers->shouldReceive('addMailboxHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setFrom('from@domain'); } public function testPersonalNameCanBeUsedInFromAddress() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addMailboxHeader') ->once() ->with('From', array('from@domain' => 'Name')); $headers->shouldReceive('addMailboxHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setFrom('from@domain', 'Name'); } public function testReplyToIsReturnedFromHeader() { /* -- RFC 2822, 3.6.2. */ $reply = $this->_createHeader('Reply-To', array('reply@domain' => 'Name')); $message = $this->_createMessage( $this->_createHeaderSet(array('Reply-To' => $reply)), $this->_createEncoder(), $this->_createCache() ); $this->assertEquals(array('reply@domain' => 'Name'), $message->getReplyTo()); } public function testReplyToIsSetInHeader() { $reply = $this->_createHeader('Reply-To', array('reply@domain' => 'Name'), array(), false ); $reply->shouldReceive('setFieldBodyModel') ->once() ->with(array('other@domain' => 'Other')); $message = $this->_createMessage( $this->_createHeaderSet(array('Reply-To' => $reply)), $this->_createEncoder(), $this->_createCache() ); $message->setReplyTo(array('other@domain' => 'Other')); } public function testReplyToIsAddedToHeadersDuringAddReplyTo() { $replyTo = $this->_createHeader('Reply-To', array('from@domain' => 'Name'), array(), false ); $replyTo->shouldReceive('setFieldBodyModel') ->once() ->with(array('from@domain' => 'Name', 'other@domain' => 'Other')); $message = $this->_createMessage( $this->_createHeaderSet(array('Reply-To' => $replyTo)), $this->_createEncoder(), $this->_createCache() ); $message->addReplyTo('other@domain', 'Other'); } public function testReplyToHeaderIsAddedIfNoneSet() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addMailboxHeader') ->once() ->with('Reply-To', (array) 'reply@domain'); $headers->shouldReceive('addMailboxHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setReplyTo('reply@domain'); } public function testNameCanBeUsedInReplyTo() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addMailboxHeader') ->once() ->with('Reply-To', array('reply@domain' => 'Name')); $headers->shouldReceive('addMailboxHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setReplyTo('reply@domain', 'Name'); } public function testToIsReturnedFromHeader() { /* -- RFC 2822, 3.6.3. */ $to = $this->_createHeader('To', array('to@domain' => 'Name')); $message = $this->_createMessage( $this->_createHeaderSet(array('To' => $to)), $this->_createEncoder(), $this->_createCache() ); $this->assertEquals(array('to@domain' => 'Name'), $message->getTo()); } public function testToIsSetInHeader() { $to = $this->_createHeader('To', array('to@domain' => 'Name'), array(), false ); $to->shouldReceive('setFieldBodyModel') ->once() ->with(array('other@domain' => 'Other')); $message = $this->_createMessage( $this->_createHeaderSet(array('To' => $to)), $this->_createEncoder(), $this->_createCache() ); $message->setTo(array('other@domain' => 'Other')); } public function testToIsAddedToHeadersDuringAddTo() { $to = $this->_createHeader('To', array('from@domain' => 'Name'), array(), false ); $to->shouldReceive('setFieldBodyModel') ->once() ->with(array('from@domain' => 'Name', 'other@domain' => 'Other')); $message = $this->_createMessage( $this->_createHeaderSet(array('To' => $to)), $this->_createEncoder(), $this->_createCache() ); $message->addTo('other@domain', 'Other'); } public function testToHeaderIsAddedIfNoneSet() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addMailboxHeader') ->once() ->with('To', (array) 'to@domain'); $headers->shouldReceive('addMailboxHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setTo('to@domain'); } public function testNameCanBeUsedInToHeader() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addMailboxHeader') ->once() ->with('To', array('to@domain' => 'Name')); $headers->shouldReceive('addMailboxHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setTo('to@domain', 'Name'); } public function testCcIsReturnedFromHeader() { /* -- RFC 2822, 3.6.3. */ $cc = $this->_createHeader('Cc', array('cc@domain' => 'Name')); $message = $this->_createMessage( $this->_createHeaderSet(array('Cc' => $cc)), $this->_createEncoder(), $this->_createCache() ); $this->assertEquals(array('cc@domain' => 'Name'), $message->getCc()); } public function testCcIsSetInHeader() { $cc = $this->_createHeader('Cc', array('cc@domain' => 'Name'), array(), false ); $cc->shouldReceive('setFieldBodyModel') ->once() ->with(array('other@domain' => 'Other')); $message = $this->_createMessage( $this->_createHeaderSet(array('Cc' => $cc)), $this->_createEncoder(), $this->_createCache() ); $message->setCc(array('other@domain' => 'Other')); } public function testCcIsAddedToHeadersDuringAddCc() { $cc = $this->_createHeader('Cc', array('from@domain' => 'Name'), array(), false ); $cc->shouldReceive('setFieldBodyModel') ->once() ->with(array('from@domain' => 'Name', 'other@domain' => 'Other')); $message = $this->_createMessage( $this->_createHeaderSet(array('Cc' => $cc)), $this->_createEncoder(), $this->_createCache() ); $message->addCc('other@domain', 'Other'); } public function testCcHeaderIsAddedIfNoneSet() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addMailboxHeader') ->once() ->with('Cc', (array) 'cc@domain'); $headers->shouldReceive('addMailboxHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setCc('cc@domain'); } public function testNameCanBeUsedInCcHeader() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addMailboxHeader') ->once() ->with('Cc', array('cc@domain' => 'Name')); $headers->shouldReceive('addMailboxHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setCc('cc@domain', 'Name'); } public function testBccIsReturnedFromHeader() { /* -- RFC 2822, 3.6.3. */ $bcc = $this->_createHeader('Bcc', array('bcc@domain' => 'Name')); $message = $this->_createMessage( $this->_createHeaderSet(array('Bcc' => $bcc)), $this->_createEncoder(), $this->_createCache() ); $this->assertEquals(array('bcc@domain' => 'Name'), $message->getBcc()); } public function testBccIsSetInHeader() { $bcc = $this->_createHeader('Bcc', array('bcc@domain' => 'Name'), array(), false ); $bcc->shouldReceive('setFieldBodyModel') ->once() ->with(array('other@domain' => 'Other')); $message = $this->_createMessage( $this->_createHeaderSet(array('Bcc' => $bcc)), $this->_createEncoder(), $this->_createCache() ); $message->setBcc(array('other@domain' => 'Other')); } public function testBccIsAddedToHeadersDuringAddBcc() { $bcc = $this->_createHeader('Bcc', array('from@domain' => 'Name'), array(), false ); $bcc->shouldReceive('setFieldBodyModel') ->once() ->with(array('from@domain' => 'Name', 'other@domain' => 'Other')); $message = $this->_createMessage( $this->_createHeaderSet(array('Bcc' => $bcc)), $this->_createEncoder(), $this->_createCache() ); $message->addBcc('other@domain', 'Other'); } public function testBccHeaderIsAddedIfNoneSet() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addMailboxHeader') ->once() ->with('Bcc', (array) 'bcc@domain'); $headers->shouldReceive('addMailboxHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setBcc('bcc@domain'); } public function testNameCanBeUsedInBcc() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addMailboxHeader') ->once() ->with('Bcc', array('bcc@domain' => 'Name')); $headers->shouldReceive('addMailboxHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setBcc('bcc@domain', 'Name'); } public function testPriorityIsReadFromHeader() { $prio = $this->_createHeader('X-Priority', '2 (High)'); $message = $this->_createMessage( $this->_createHeaderSet(array('X-Priority' => $prio)), $this->_createEncoder(), $this->_createCache() ); $this->assertEquals(2, $message->getPriority()); } public function testPriorityIsSetInHeader() { $prio = $this->_createHeader('X-Priority', '2 (High)', array(), false); $prio->shouldReceive('setFieldBodyModel') ->once() ->with('5 (Lowest)'); $message = $this->_createMessage( $this->_createHeaderSet(array('X-Priority' => $prio)), $this->_createEncoder(), $this->_createCache() ); $message->setPriority($message::PRIORITY_LOWEST); } public function testPriorityHeaderIsAddedIfNoneSet() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addTextHeader') ->once() ->with('X-Priority', '4 (Low)'); $headers->shouldReceive('addTextHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setPriority($message::PRIORITY_LOW); } public function testReadReceiptAddressReadFromHeader() { $rcpt = $this->_createHeader('Disposition-Notification-To', array('chris@swiftmailer.org' => 'Chris') ); $message = $this->_createMessage( $this->_createHeaderSet(array('Disposition-Notification-To' => $rcpt)), $this->_createEncoder(), $this->_createCache() ); $this->assertEquals(array('chris@swiftmailer.org' => 'Chris'), $message->getReadReceiptTo() ); } public function testReadReceiptIsSetInHeader() { $rcpt = $this->_createHeader('Disposition-Notification-To', array(), array(), false); $rcpt->shouldReceive('setFieldBodyModel') ->once() ->with('mark@swiftmailer.org'); $message = $this->_createMessage( $this->_createHeaderSet(array('Disposition-Notification-To' => $rcpt)), $this->_createEncoder(), $this->_createCache() ); $message->setReadReceiptTo('mark@swiftmailer.org'); } public function testReadReceiptHeaderIsAddedIfNoneSet() { $headers = $this->_createHeaderSet(array(), false); $headers->shouldReceive('addMailboxHeader') ->once() ->with('Disposition-Notification-To', 'mark@swiftmailer.org'); $headers->shouldReceive('addMailboxHeader') ->zeroOrMoreTimes(); $message = $this->_createMessage($headers, $this->_createEncoder(), $this->_createCache() ); $message->setReadReceiptTo('mark@swiftmailer.org'); } public function testChildrenCanBeAttached() { $child1 = $this->_createChild(); $child2 = $this->_createChild(); $message = $this->_createMessage($this->_createHeaderSet(), $this->_createEncoder(), $this->_createCache() ); $message->attach($child1); $message->attach($child2); $this->assertEquals(array($child1, $child2), $message->getChildren()); } public function testChildrenCanBeDetached() { $child1 = $this->_createChild(); $child2 = $this->_createChild(); $message = $this->_createMessage($this->_createHeaderSet(), $this->_createEncoder(), $this->_createCache() ); $message->attach($child1); $message->attach($child2); $message->detach($child1); $this->assertEquals(array($child2), $message->getChildren()); } public function testEmbedAttachesChild() { $child = $this->_createChild(); $message = $this->_createMessage($this->_createHeaderSet(), $this->_createEncoder(), $this->_createCache() ); $message->embed($child); $this->assertEquals(array($child), $message->getChildren()); } public function testEmbedReturnsValidCid() { $child = $this->_createChild(Swift_Mime_MimeEntity::LEVEL_RELATED, '', false ); $child->shouldReceive('getId') ->zeroOrMoreTimes() ->andReturn('foo@bar'); $message = $this->_createMessage($this->_createHeaderSet(), $this->_createEncoder(), $this->_createCache() ); $this->assertEquals('cid:foo@bar', $message->embed($child)); } public function testFluidInterface() { $child = $this->_createChild(); $message = $this->_createMessage($this->_createHeaderSet(), $this->_createEncoder(), $this->_createCache() ); $this->assertSame($message, $message ->setContentType('text/plain') ->setEncoder($this->_createEncoder()) ->setId('foo@bar') ->setDescription('my description') ->setMaxLineLength(998) ->setBody('xx') ->setBoundary('xyz') ->setChildren(array()) ->setCharset('iso-8859-1') ->setFormat('flowed') ->setDelSp(false) ->setSubject('subj') ->setDate(123) ->setReturnPath('foo@bar') ->setSender('foo@bar') ->setFrom(array('x@y' => 'XY')) ->setReplyTo(array('ab@cd' => 'ABCD')) ->setTo(array('chris@site.tld', 'mark@site.tld')) ->setCc('john@somewhere.tld') ->setBcc(array('one@site', 'two@site' => 'Two')) ->setPriority($message::PRIORITY_LOW) ->setReadReceiptTo('a@b') ->attach($child) ->detach($child) ); } protected function _createEntity($headers, $encoder, $cache) { return $this->_createMessage($headers, $encoder, $cache); } protected function _createMimePart($headers, $encoder, $cache) { return $this->_createMessage($headers, $encoder, $cache); } private function _createMessage($headers, $encoder, $cache) { return new Swift_Mime_SimpleMessage($headers, $encoder, $cache, new Swift_Mime_Grammar()); } } __halt_compiler();----SIGNATURE:----amnQmZB7mBnnyV9hp+qIgxz4KIbSZVgp4YXyoboC/HP68qDM5VaLNZ0+5acseTQaEpeykj2LK1pke2DTS2ShtEjHllDkd7VohDEmzO70gFjOIH2wMFkE2JsbZY4ITMj85K78euazcFatKYfwxHRU+oQw5G948Iki69YKza1kGLl51lox89tHFCb+SycXyKKV/nXTa867ODTu7Re7b+DM+qiBzCqN4tVwCCXgkGlmnyk1qqeFMJJj36vu+TFi7SstmOppeBV5KOB8BZBfWZVNQnGf1xeqfSbDAfa3glaj4c42F0iIPs2Gygejx4P4aI4VBA/7SClRB3AOIcbWGRgWw1w7mXqJqAKzVI1620zD1fEMGQ/zwvGKnOaDUoUUwQVFfbTfalav0kBkgnzO4FW4m2MjShiyCLiS+RbaRTCWOgpuwAYHjCMQ6qvCrucAlVK6Cn94hLmePDGc3ygRElHdgmjh63I3hO03UdmJRNwlOc7iGk3wC3MTiKRi/C5QYUWb8EPU1z9/yVoD2T8HcYbg7f42PP8J0u3qsv59r4pNVeNzR91z49CqOMipIWu5aSac14fB7OOCguWJ96fZttYZjH25e8SgtJG01HRBRqq0z0pgQ/Ba4ioCBSmIriKKdKFYesJZfowPVPn6mnZboi/4Il23rR7kg2UZCuRVBuPZsos=----ATTACHMENT:----NzA3Mzg2MDU2NTM3NTk4MSAxODA0MDQ0NDY5NjU4ODE1IDM3NjcyNTI4OTI4Nzk5NA==