123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- <?php
- /**
- * Copyright (c) 2014 Lukas Reschke <lukas@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
- namespace Test\Mail;
- use OC\Mail\Message;
- use OCP\Mail\IEMailTemplate;
- use Swift_Message;
- use Test\TestCase;
- class MessageTest extends TestCase {
- /** @var Swift_Message */
- private $swiftMessage;
- /** @var Message */
- private $message;
- /**
- * @return array
- */
- public function mailAddressProvider() {
- return array(
- array(array('lukas@owncloud.com' => 'Lukas Reschke'), array('lukas@owncloud.com' => 'Lukas Reschke')),
- array(array('lukas@owncloud.com' => 'Lukas Reschke', 'lukas@öwnclöüd.com', 'lukäs@owncloud.örg' => 'Lükäs Réschke'),
- array('lukas@owncloud.com' => 'Lukas Reschke', 'lukas@xn--wncld-iuae2c.com', 'lukäs@owncloud.xn--rg-eka' => 'Lükäs Réschke')),
- array(array('lukas@öwnclöüd.com'), array('lukas@xn--wncld-iuae2c.com'))
- );
- }
- public function setUp() {
- parent::setUp();
- $this->swiftMessage = $this->getMockBuilder('\Swift_Message')
- ->disableOriginalConstructor()->getMock();
- $this->message = new Message($this->swiftMessage, false);
- }
- /**
- * @requires function idn_to_ascii
- * @dataProvider mailAddressProvider
- *
- * @param string $unconverted
- * @param string $expected
- */
- public function testConvertAddresses($unconverted, $expected) {
- $this->assertSame($expected, self::invokePrivate($this->message, 'convertAddresses', array($unconverted)));
- }
- public function testSetFrom() {
- $this->swiftMessage
- ->expects($this->once())
- ->method('setFrom')
- ->with(array('lukas@owncloud.com'));
- $this->message->setFrom(array('lukas@owncloud.com'));
- }
- public function testGetFrom() {
- $this->swiftMessage
- ->expects($this->once())
- ->method('getFrom')
- ->will($this->returnValue(array('lukas@owncloud.com')));
- $this->assertSame(array('lukas@owncloud.com'), $this->message->getFrom());
- }
- public function testSetReplyTo() {
- $this->swiftMessage
- ->expects($this->once())
- ->method('setReplyTo')
- ->with(['lukas@owncloud.com']);
- $this->message->setReplyTo(['lukas@owncloud.com']);
- }
- public function testGetReplyTo() {
- $this->swiftMessage
- ->expects($this->once())
- ->method('getReplyTo')
- ->willReturn('lukas@owncloud.com');
- $this->assertSame('lukas@owncloud.com', $this->message->getReplyTo());
- }
- public function testSetTo() {
- $this->swiftMessage
- ->expects($this->once())
- ->method('setTo')
- ->with(array('lukas@owncloud.com'));
- $this->message->setTo(array('lukas@owncloud.com'));
- }
- public function testGetTo() {
- $this->swiftMessage
- ->expects($this->once())
- ->method('getTo')
- ->will($this->returnValue(array('lukas@owncloud.com')));
- $this->assertSame(array('lukas@owncloud.com'), $this->message->getTo());
- }
- public function testSetCc() {
- $this->swiftMessage
- ->expects($this->once())
- ->method('setCc')
- ->with(array('lukas@owncloud.com'));
- $this->message->setCc(array('lukas@owncloud.com'));
- }
- public function testGetCc() {
- $this->swiftMessage
- ->expects($this->once())
- ->method('getCc')
- ->will($this->returnValue(array('lukas@owncloud.com')));
- $this->assertSame(array('lukas@owncloud.com'), $this->message->getCc());
- }
- public function testSetBcc() {
- $this->swiftMessage
- ->expects($this->once())
- ->method('setBcc')
- ->with(array('lukas@owncloud.com'));
- $this->message->setBcc(array('lukas@owncloud.com'));
- }
- public function testGetBcc() {
- $this->swiftMessage
- ->expects($this->once())
- ->method('getBcc')
- ->will($this->returnValue(array('lukas@owncloud.com')));
- $this->assertSame(array('lukas@owncloud.com'), $this->message->getBcc());
- }
- public function testSetSubject() {
- $this->swiftMessage
- ->expects($this->once())
- ->method('setSubject')
- ->with('Fancy Subject');
- $this->message->setSubject('Fancy Subject');
- }
- public function testGetSubject() {
- $this->swiftMessage
- ->expects($this->once())
- ->method('getSubject')
- ->will($this->returnValue('Fancy Subject'));
- $this->assertSame('Fancy Subject', $this->message->getSubject());
- }
- public function testSetPlainBody() {
- $this->swiftMessage
- ->expects($this->once())
- ->method('setBody')
- ->with('Fancy Body');
- $this->message->setPlainBody('Fancy Body');
- }
- public function testGetPlainBody() {
- $this->swiftMessage
- ->expects($this->once())
- ->method('getBody')
- ->will($this->returnValue('Fancy Body'));
- $this->assertSame('Fancy Body', $this->message->getPlainBody());
- }
- public function testSetHtmlBody() {
- $this->swiftMessage
- ->expects($this->once())
- ->method('addPart')
- ->with('<blink>Fancy Body</blink>', 'text/html');
- $this->message->setHtmlBody('<blink>Fancy Body</blink>');
- }
- public function testPlainTextRenderOption() {
- /** @var \PHPUnit_Framework_MockObject_MockObject|Swift_Message $swiftMessage */
- $swiftMessage = $this->getMockBuilder('\Swift_Message')
- ->disableOriginalConstructor()->getMock();
- /** @var \PHPUnit_Framework_MockObject_MockObject|IEMailTemplate $template */
- $template = $this->getMockBuilder('\OCP\Mail\IEMailTemplate')
- ->disableOriginalConstructor()->getMock();
- $message = new Message($swiftMessage, true);
- $template
- ->expects($this->never())
- ->method('renderHTML');
- $template
- ->expects($this->once())
- ->method('renderText');
- $template
- ->expects($this->once())
- ->method('renderSubject');
- $message->useTemplate($template);
- }
- public function testBothRenderingOptions() {
- /** @var \PHPUnit_Framework_MockObject_MockObject|Swift_Message $swiftMessage */
- $swiftMessage = $this->getMockBuilder('\Swift_Message')
- ->disableOriginalConstructor()->getMock();
- /** @var \PHPUnit_Framework_MockObject_MockObject|IEMailTemplate $template */
- $template = $this->getMockBuilder('\OCP\Mail\IEMailTemplate')
- ->disableOriginalConstructor()->getMock();
- $message = new Message($swiftMessage, false);
- $template
- ->expects($this->once())
- ->method('renderHTML');
- $template
- ->expects($this->once())
- ->method('renderText');
- $template
- ->expects($this->once())
- ->method('renderSubject');
- $message->useTemplate($template);
- }
- }
|