Index: modules/contact/contact.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/contact/contact.test,v
retrieving revision 1.8
diff -u -p -r1.8 contact.test
--- modules/contact/contact.test	2 Aug 2008 05:16:47 -0000	1.8
+++ modules/contact/contact.test	28 Aug 2008 08:51:28 -0000
@@ -264,8 +264,10 @@ class ContactPersonalTestCase extends Dr
     $this->drupalLogin($admin_user);
 
     // Enable the personal contact form.
+    $flood_control = 3;
     $edit = array();
     $edit['contact_default_status'] = TRUE;
+    $edit['contact_hourly_threshold'] = $flood_control;
     $this->drupalPost('admin/build/contact/settings', $edit, t('Save configuration'));
     $this->assertText(t('The configuration options have been saved.'), t('Setting successfully saved.'));
 
@@ -287,6 +289,20 @@ class ContactPersonalTestCase extends Dr
     $this->drupalPost(NULL, $edit, t('Send e-mail'));
     $this->assertText(t('The message has been sent.'), t('Message sent.'));
 
+    // 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.'));
+
+    // Submit contact form with correct values and check flood interval.
+    for ($i = 0; $i < $flood_control; $i++) {
+      $this->drupalGet('user/' . $web_user2->uid . '/contact');
+      $this->drupalPost(NULL, $edit, t('Send e-mail'));
+      $this->assertText(t('The message has been sent.'), t('Message sent.'));
+    }
+
+    // Submit contact form one over limit.
+    $this->drupalGet('user/' . $web_user2->uid . '/contact');
+    $this->assertRaw(t('You cannot send more than %number messages per hour. Please try again later.', array('%number' => $flood_control)), t('Message threshold reached.'));
+
     $this->drupalLogout();
 
     $this->drupalLogin($admin_user);
