? mail_test.patch ? modules/simpletest/tests/mail_test.info ? modules/simpletest/tests/mail_test.module ? sites/default/files ? sites/default/private ? sites/default/settings.php Index: modules/simpletest/tests/mail.test =================================================================== RCS file: /cvs/drupal/drupal/modules/simpletest/tests/mail.test,v retrieving revision 1.2 diff -u -p -r1.2 mail.test --- modules/simpletest/tests/mail.test 16 Oct 2009 03:01:54 -0000 1.2 +++ modules/simpletest/tests/mail.test 12 Nov 2009 14:17:43 -0000 @@ -64,3 +64,64 @@ class MailTestCase extends DrupalWebTest } } +class MailOneLineTestCase extends DrupalWebTestCase implements MailSystemInterface { + private static $sent_message; + + /** + * Implementation of getInfo(). + */ + function getInfo() { + return array( + 'name' => 'Mail functionality', + 'description' => 'Test Mail: sending one-line mails.', + 'group' => 'Mail', + ); + } + + /** + * Implementation of setUp(). + */ + function setUp() { + parent::setUp('mail_test'); + // Set MailTestCase (i.e. this class) as the SMTP library + variable_set('mail_system', array('default-system' => 'MailOneLineTestCase')); + } + + /** + * Implementation of tearDown(). + */ + function tearDown() { + parent::tearDown(); + } + + function testOneLineMail() { + global $language; + + $message = drupal_mail('mail_test', 'oneline', 'testing@drupal.org', $language); + + $this->assertTrue(strpos($message['body'], '\n') === FALSE, t('Testing a one line mail')); + } + + /** + * Concatenate and wrap the e-mail body for plain-text mails. + * + * @see DefaultMailSystem + */ + public function format(array $message) { + // Join the body array into one string. + $message['body'] = implode("\n\n", $message['body']); + // Convert any HTML to plain-text. + $message['body'] = drupal_html_to_text($message['body']); + // Wrap the mail body for sending. + $message['body'] = drupal_wrap_mail($message['body']); + return $message; + } + + /** + * Send function that is called through the mail system. + */ + public function mail(array $message) { + self::$sent_message = $message; + } +} +