Index: modules/simpletest/drupal_web_test_case.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/drupal_web_test_case.php,v
retrieving revision 1.158
diff -u -p -r1.158 drupal_web_test_case.php
--- modules/simpletest/drupal_web_test_case.php	11 Oct 2009 03:07:19 -0000	1.158
+++ modules/simpletest/drupal_web_test_case.php	13 Oct 2009 02:09:19 -0000
@@ -1621,6 +1621,15 @@ class DrupalWebTestCase extends DrupalTe
             $upload[$name] = $edit[$name];
             unset($edit[$name]);
             break;
+
+          case 'hidden':
+            // Normally, hidden fields are considered read-only. However, to
+            // allow to submit multiple forms on a single page that only differ
+            // in a hidden value, allow to specify their value to be filtered.
+            if ($edit[$name] == $value) {
+              unset($edit[$name]);
+            }
+            break;
         }
       }
       if (!isset($post[$name]) && !$done) {
Index: modules/trigger/trigger.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/trigger/trigger.test,v
retrieving revision 1.19
diff -u -p -r1.19 trigger.test
--- modules/trigger/trigger.test	11 Oct 2009 03:07:21 -0000	1.19
+++ modules/trigger/trigger.test	13 Oct 2009 02:08:36 -0000
@@ -228,7 +228,31 @@ class TriggerOtherTestCase extends Drupa
     $this->assertTrue(variable_get($action_id, FALSE), t('Check that creating a user triggered the test action.'));
 
     // Reset the action variable.
-    variable_set( $action_id, FALSE );
+    variable_set($action_id, FALSE);
+
+    // Assign a configurable action 'Redirect to URL' to the user trigger.
+    $this->drupalLogin($test_user);
+    $hash = md5('system_goto_action');
+    $hook = 'user_login';
+    $url = 'node';
+    $absolute_url = url($url, array('absolute' => TRUE));
+    $action_label = $this->randomName(16);
+    $edit = array(
+      'actions_label' => $action_label,
+      'url' => $url,
+    );
+    $this->drupalPost('admin/config/system/actions/configure/' . $hash, $edit, t('Save'));
+    $edit = array(
+      'aid' => md5('1'),
+      // Hidden field identifier.
+      'hook' => $hook,
+    );
+    $this->drupalPost('admin/structure/trigger/user', $edit, t('Assign'));
+
+    // Verify that the action has been assigned to the correct hook.
+    $actions = trigger_get_assigned_actions($hook);
+    $this->assertEqual(1, count($actions), t('Action assigned'));
+    $this->assertEqual($actions[1]['label'], $action_label, t('Action label equal'));
   }
 
   /**
@@ -244,7 +268,7 @@ class TriggerOtherTestCase extends Drupa
     $this->drupalPost('admin/structure/trigger/comment', $edit, t('Assign'));
 
     // Set action variable to FALSE.
-    variable_set( $action_id, FALSE );
+    variable_set($action_id, FALSE);
 
     // Create a node and add a comment to it.
     $web_user = $this->drupalCreateUser(array('create article content', 'access content', 'post comments without approval', 'post comments'));
@@ -273,7 +297,7 @@ class TriggerOtherTestCase extends Drupa
     $this->drupalPost('admin/structure/trigger/taxonomy', $edit, t('Assign'));
 
     // Set action variable to FALSE.
-    variable_set( $action_id, FALSE );
+    variable_set($action_id, FALSE);
 
     // Create a taxonomy vocabulary and add a term to it.
 
