Index: path_redirect.test
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/path_redirect/path_redirect.test,v
retrieving revision 1.1.2.23
diff -u -p -r1.1.2.23 path_redirect.test
--- path_redirect.test	9 Aug 2010 18:39:59 -0000	1.1.2.23
+++ path_redirect.test	16 Oct 2010 19:47:04 -0000
@@ -23,12 +23,12 @@ class PathRedirectTestHelper extends Dru
     call_user_func_array($parent_callback, $modules);
   }
 
-  protected function assertRedirect($request, $redirect, $code = FALSE) {
-    $this->drupalGet($request);
+  protected function assertRedirect($request, $redirect, $options = array(), $code = FALSE) {
+    $this->drupalGet($request, $options);
     if ($code) {
       $this->assertResponse($code);
     }
-    $this->assertEqual($this->getUrl(), url($redirect, array('absolute' => TRUE)), t('Redirected from %request to %redirect.', array('%request' => $request, '%redirect' => $redirect)));
+    $this->assertEqual($this->getUrl(), url($redirect, array('absolute' => TRUE) + $options), t('Redirected from %request to %redirect.', array('%request' => $request, '%redirect' => $redirect)));
   }
 
   protected function addRedirect($source, $redirect, $options = array()) {
@@ -73,19 +73,19 @@ class PathRedirectUnitTest extends PathR
     }
   }
 
-  function testRedirects() {
+  function testRedirects($options = array()) {
     // Test a basic redirect (with and without a trailing slash requested).
     $this->addRedirect('/test/', 'node');
-    $this->assertRedirect('test', 'node');
-    $this->assertRedirect('test/', 'node');
+    $this->assertRedirect('test', 'node', $options);
+    $this->assertRedirect('test/', 'node', $options);
 
     // Test a unicode URL.
     $this->addRedirect('FrançAIS', 'http://example.com/');
-    $this->assertRedirect('FrançAIS', 'http://example.com/');
+    $this->assertRedirect('FrançAIS', 'http://example.com/', $options);
 
     // Test an URL with special characters.
     $this->addRedirect('foo_/ferzle-foo.bar', '<front>');
-    $this->assertRedirect('foo_/ferzle-foo.bar', '<front>');
+    $this->assertRedirect('foo_/ferzle-foo.bar', '<front>', $options);
   }
 
   function testNoCleanURLs() {
@@ -94,6 +94,14 @@ class PathRedirectUnitTest extends PathR
     $this->testRedirects();
     variable_set('clean_url', (int) $clean_url);
   }
+
+  function testQueryStrings() {
+    $options = array('query' => 'retain_query_string=test');
+    $retain_query_string = (bool) variable_get('path_redirect_retain_query_string', FALSE);
+    variable_set('path_redirect_retain_query_string', !$retain_query_string);
+    $this->testRedirects($options);
+    variable_set('path_redirect_retain_query_string', $retain_query_string);
+  }
 }
 
 /*class PathRedirectPathautoUnitTest extends PathRedirectTestHelper {
