Index: mollom.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/mollom/mollom.module,v
retrieving revision 1.2.2.177
diff -u -p -r1.2.2.177 mollom.module
--- mollom.module	17 Oct 2010 19:20:29 -0000	1.2.2.177
+++ mollom.module	18 Oct 2010 12:50:27 -0000
@@ -2716,7 +2716,7 @@ function profile_mollom_form_info_alter(
     return;
   }
   // @see profile_form_profile()
-  $result = db_query("SELECT * FROM {profile_fields} WHERE register = 1 AND type IN ('textfield', 'textarea', 'url')");
+  $result = db_query("SELECT name, title FROM {profile_fields} WHERE register = 1 AND type IN ('textfield', 'textarea', 'url', 'list')");
   while ($field = db_fetch_object($result)) {
     $form_info['elements'][$field->name] = check_plain($field->title);
   }
Index: tests/mollom.test
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/mollom/tests/mollom.test,v
retrieving revision 1.1.2.69
diff -u -p -r1.1.2.69 mollom.test
--- tests/mollom.test	18 Oct 2010 12:16:15 -0000	1.1.2.69
+++ tests/mollom.test	18 Oct 2010 12:46:27 -0000
@@ -1852,16 +1852,18 @@ class MollomProfileFormsTestCase extends
 
     // Add the three supported profile field types.
     $fields = array();
-    foreach (array('textfield', 'textarea', 'url') as $type) {
+    foreach (array('textfield', 'textarea', 'url', 'list') as $type) {
       $name = 'profile_' . drupal_strtolower($this->randomName());
       $title = $this->randomString();
-      $fields[$name] = $title;
       $edit = array(
         'category' => 'Registration',
         'title' => $title,
         'name' => $name,
         'register' => 1,
       );
+      $fields[$name] = $edit + array(
+        'type' => $type,
+      );
       $this->drupalPost('admin/user/profile/add/' . $type, $edit, t('Save field'));
     }
 
@@ -1869,18 +1871,21 @@ class MollomProfileFormsTestCase extends
     $this->setProtection('user_register', MOLLOM_MODE_ANALYSIS);
     $this->drupalLogout();
 
-    $this->drupalGet('user/register');
-    $this->assertNoCaptchaField();
-
-    $name = $this->randomName();
-    $edit = array(
-      'name' => $name,
-      'mail' => $name . '@example.com',
-    );
-    foreach ($fields as $key => $title) {
-      $edit[$key] = 'unsure';
+    // Test each supported field separately.
+    foreach ($fields as $key => $field) {
+      $this->drupalGet('user/register');
+      $this->assertNoCaptchaField();
+  
+      $name = $this->randomName();
+      $edit = array(
+        'name' => $name,
+        'mail' => $name . '@example.com',
+        $key => $field['type'] != 'url' ? 'unsure' : 'http://example.com/unsure',
+      );
+      $this->drupalPost(NULL, $edit, t('Create new account'));
+      $this->assertCaptchaField();
     }
-    $this->drupalPost(NULL, $edit, t('Create new account'));
+
     $this->postCorrectCaptcha(NULL, array(), t('Create new account'));
     $this->assertText(t('Your password and further instructions have been sent to your e-mail address.'));
     $this->assertTrue(user_load(array('name' => $name)), t('New user was found in database.'));
