PageRenderTime 53ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/vendor/zendframework/zendframework/tests/ZendTest/Mail/Transport/FileTest.php

https://bitbucket.org/pcelta/zf2
PHP | 83 lines | 59 code | 10 blank | 14 comment | 2 complexity | 30cdec9d96a4ffaca970fa9d1c66414a MD5 | raw file
  1. <?php
  2. /**
  3. * Zend Framework (http://framework.zend.com/)
  4. *
  5. * @link http://github.com/zendframework/zf2 for the canonical source repository
  6. * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
  7. * @license http://framework.zend.com/license/new-bsd New BSD License
  8. * @package Zend_Mail
  9. */
  10. namespace ZendTest\Mail\Transport;
  11. use Zend\Mail\Message;
  12. use Zend\Mail\Transport\File;
  13. use Zend\Mail\Transport\FileOptions;
  14. /**
  15. * @category Zend
  16. * @package Zend_Mail
  17. * @subpackage UnitTests
  18. * @group Zend_Mail
  19. */
  20. class FileTest extends \PHPUnit_Framework_TestCase
  21. {
  22. public function setUp()
  23. {
  24. $this->tempDir = sys_get_temp_dir() . '/mail_file_transport';
  25. if (!is_dir($this->tempDir)) {
  26. mkdir($this->tempDir);
  27. } else {
  28. $this->cleanup($this->tempDir);
  29. }
  30. $fileOptions = new FileOptions(array(
  31. 'path' => $this->tempDir,
  32. ));
  33. $this->transport = new File($fileOptions);
  34. }
  35. public function tearDown()
  36. {
  37. $this->cleanup($this->tempDir);
  38. rmdir($this->tempDir);
  39. }
  40. protected function cleanup($dir)
  41. {
  42. foreach (glob($dir . '/*.*') as $file) {
  43. unlink($file);
  44. }
  45. }
  46. public function getMessage()
  47. {
  48. $message = new Message();
  49. $message->addTo('zf-devteam@zend.com', 'ZF DevTeam')
  50. ->addCc('matthew@zend.com')
  51. ->addBcc('zf-crteam@lists.zend.com', 'CR-Team, ZF Project')
  52. ->addFrom(array(
  53. 'zf-devteam@zend.com',
  54. 'Matthew' => 'matthew@zend.com',
  55. ))
  56. ->setSender('ralph.schindler@zend.com', 'Ralph Schindler')
  57. ->setSubject('Testing Zend\Mail\Transport\Sendmail')
  58. ->setBody('This is only a test.');
  59. $message->getHeaders()->addHeaders(array(
  60. 'X-Foo-Bar' => 'Matthew',
  61. ));
  62. return $message;
  63. }
  64. public function testReceivesMailArtifacts()
  65. {
  66. $message = $this->getMessage();
  67. $this->transport->send($message);
  68. $this->assertNotNull($this->transport->getLastFile());
  69. $file = $this->transport->getLastFile();
  70. $test = file_get_contents($file);
  71. $this->assertEquals($message->toString(), $test);
  72. }
  73. }