'Mail system', 'description' => 'Performs tests on the pluggable mailing framework.', 'group' => 'System', ); } function setUp() { parent::setUp(); // Set MailTestCase (i.e. this class) as the SMTP library variable_set('mail_system', array('default-system' => 'MailTestCase')); } /** * Assert that the pluggable mail system is functional. */ function testPluggableFramework() { global $language; // Use MailTestCase for sending a message. $message = drupal_mail('simpletest', 'mail_test', 'testing@drupal.org', $language); // Assert whether the message was sent through the send function. $this->assertEqual(self::$sent_message['to'], 'testing@drupal.org', t('Pluggable mail system is extendable.')); } /** * 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; } }