Index: modules/contact/contact.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/contact/contact.test,v
retrieving revision 1.12
diff -u -p -r1.12 contact.test
--- modules/contact/contact.test	17 Sep 2008 06:54:11 -0000	1.12
+++ modules/contact/contact.test	21 Sep 2008 07:23:37 -0000
@@ -315,6 +315,19 @@ class ContactPersonalTestCase extends Dr
     $this->drupalPost(NULL, $edit, t('Send e-mail'));
     $this->assertText(t('The message has been sent.'), t('Message sent.'));
 
+    // Test invalid user email address.
+    $invalid_senders = array('invalid', 'invalid@', 'invalid@site', 'invalid@site.', '@site.', '@site.com');
+    $original_mail = $web_user1->mail;
+    foreach ($invalid_senders as $invalid_sender) {
+      $web_user1->mail = $invalid_sender;
+      $this->drupalGet('user/' . $web_user2->uid . '/contact');
+      $this->assertResponse(200, t('A page is returned. Email: ') . $web_user1->mail);
+      $this->assertText(t('You need to provide a valid e-mail address to contact other users.'), t('Invalid user email address detected.'), 'Browser');
+      // $this->assertRaw(t('You need to provide a valid e-mail address to contact other users. Please update your <a href="@url">user information</a> and try again.', array('@url' => url("user/$web_user1->uid/edit", array('query' => 'destination=' . drupal_get_destination())))), t('Invalid user email address detected.'));
+    }
+    $web_user1->mail = $original_mail;
+
+
     // Clear flood table in preparation for flood test and allow other checks to complete.
     $this->assertTrue(db_query('DELETE FROM {flood}'), t('Flood table emptied.'));
 
