<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -110,7 +110,7 @@ For example:
       @http_method  = http_method
       @data         = data
 
-      request_page(response.location, :get, data) if redirect?
+      request_page(response.headers[&quot;Location&quot;], :get, data) if redirect?
 
       return response
     end</diff>
      <filename>lib/webrat/core/session.rb</filename>
    </modified>
    <modified>
      <diff>@@ -42,11 +42,6 @@ module Webrat
         :params =&gt; (data &amp;&amp; data.any?) ? data : nil, 
         :headers =&gt; headers,
         :method =&gt; method)
-      follow_redirect
-    end
-    
-    def follow_redirect
-      self.get(@response.headers['Location'], nil, @response.headers) if @response.status == 302
     end
 
   end
@@ -59,10 +54,6 @@ module Merb #:nodoc:
         @_webrat_session ||= Webrat::MerbSession.new
         @_webrat_session.response = @_webrat_session.request(uri, env)
       end
-  
-      def follow_redirect
-        @_webrat_session.follow_redirect
-      end
     end
   end
 end</diff>
      <filename>lib/webrat/merb.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,4 +7,8 @@ class Testing &lt; Application
   def submit_form
   end
   
+  def redirect_to_root
+    redirect &quot;/&quot;
+  end
+  
 end
\ No newline at end of file</diff>
      <filename>spec/integration/merb/app/controllers/testing.rb</filename>
    </modified>
    <modified>
      <diff>@@ -28,4 +28,5 @@
 Merb.logger.info(&quot;Compiling routes...&quot;)
 Merb::Router.prepare do
   match(&quot;/&quot;).to(:controller =&gt; &quot;testing&quot;, :action =&gt; &quot;show_form&quot;)
+  match(&quot;/redirect&quot;).to(:controller =&gt; &quot;testing&quot;, :action =&gt; &quot;redirect_to_root&quot;)
 end
\ No newline at end of file</diff>
      <filename>spec/integration/merb/config/router.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,7 @@ describe &quot;Webrat&quot; do
     response = visit &quot;/&quot;
     response.should contain(&quot;Webrat Form&quot;)
   end
-  
+
   it &quot;should submit forms&quot; do
     visit &quot;/&quot;
     fill_in &quot;Text field&quot;, :with =&gt; &quot;Hello&quot;
@@ -13,5 +13,9 @@ describe &quot;Webrat&quot; do
     select &quot;January&quot;
     click_button &quot;Test&quot;
   end
-  
+
+  it &quot;should follow redirects&quot; do
+    response = visit &quot;/redirect&quot;
+    response.should contain(&quot;Webrat Form&quot;)
+  end
 end
\ No newline at end of file</diff>
      <filename>spec/integration/merb/spec/webrat_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,14 @@
 class WebratController &lt; ApplicationController
-  
+
   def form
   end
-  
+
   def submit
     render :text =&gt; &quot;OK&quot;
   end
-  
+
+  def redirect
+    redirect_to :submit
+  end
+
 end
\ No newline at end of file</diff>
      <filename>spec/integration/rails/app/controllers/webrat_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,8 @@
 ActionController::Routing::Routes.draw do |map|
   map.with_options :controller =&gt; &quot;webrat&quot; do |webrat|
-    webrat.submit &quot;/submit&quot;,  :action =&gt; &quot;submit&quot;
-    webrat.root               :action =&gt; &quot;form&quot;
+    webrat.submit   &quot;/submit&quot;,    :action =&gt; &quot;submit&quot;
+    webrat.redirect &quot;/redirect&quot;,  :action =&gt; &quot;redirect&quot;
+
+    webrat.root :action =&gt; &quot;form&quot;
   end
 end</diff>
      <filename>spec/integration/rails/config/routes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@ class WebratTest &lt; ActionController::IntegrationTest
     assert_tag &quot;Webrat Form&quot;
     assert response.body.include?(&quot;Webrat Form&quot;)
   end
-  
+
   test &quot;should submit forms&quot; do
     visit root_path
     fill_in &quot;Text field&quot;, :with =&gt; &quot;Hello&quot;
@@ -14,4 +14,9 @@ class WebratTest &lt; ActionController::IntegrationTest
     select &quot;January&quot;
     click_button &quot;Test&quot;
   end
+
+  test &quot;should follow redirects&quot; do
+    visit redirect_path
+    assert response.body.include?(&quot;OK&quot;)
+  end
 end</diff>
      <filename>spec/integration/rails/test/integration/webrat_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -115,7 +115,7 @@ describe Webrat::Session do
 
     it &quot;should follow redirects&quot; do
       webrat_session.should_receive(:redirect?).twice.and_return(true, false)
-      webrat_session.response.should_receive(:location).once.and_return(&quot;/newurl&quot;)
+      webrat_session.response.should_receive(:headers).once.and_return({ &quot;Location&quot; =&gt; &quot;/newurl&quot; })
 
       webrat_session.request_page(&quot;/oldurl&quot;, :get, {})
 </diff>
      <filename>spec/private/core/session_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -33,7 +33,7 @@ describe &quot;visit&quot; do
 
   it &quot;should follow redirects&quot; do
     webrat_session.should_receive(:redirect?).twice.and_return(true, false)
-    webrat_session.response.should_receive(:location).once.and_return(&quot;/newurl&quot;)
+    webrat_session.response.should_receive(:headers).once.and_return({ &quot;Location&quot; =&gt; &quot;/newurl&quot; })
 
     visit(&quot;/oldurl&quot;)
 </diff>
      <filename>spec/public/visit_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>e77495bc04cacfb1e7684bd938a7c6d32545130f</id>
    </parent>
  </parents>
  <author>
    <name>Josh Knowles</name>
    <email>joshknowles@gmail.com</email>
  </author>
  <url>http://github.com/brynary/webrat/commit/e19b1cc323e8df657a357bfeefe3f68745f80938</url>
  <id>e19b1cc323e8df657a357bfeefe3f68745f80938</id>
  <committed-date>2008-12-29T20:14:26-08:00</committed-date>
  <authored-date>2008-12-29T20:14:26-08:00</authored-date>
  <message>Rails and Merb integration tests for following redirects</message>
  <tree>93e84d96a94005ed0f23ace72e204070cae52f1f</tree>
  <committer>
    <name>Josh Knowles</name>
    <email>joshknowles@gmail.com</email>
  </committer>
</commit>
