0
@@ -6,8 +6,6 @@ describe Webrat::RailsSession do
0
Webrat.configuration.mode = :rails
0
@integration_session = mock("integration_session")
0
- @integration_session.stub!(:internal_redirect?)
0
- @integration_session.stub!(:status)
0
it "should delegate response_body to the session response body" do
0
@@ -80,44 +78,6 @@ describe Webrat::RailsSession do
0
- context "following redirects" do
0
- it "should use forward headers when following redirects" do
0
- @integration_session.stub!(:post)
0
- @integration_session.stub!(:host)
0
- @integration_session.stub!(:status)
0
- @integration_session.should_receive(:internal_redirect?).twice.and_return(true, false)
0
- @integration_session.should_receive(:follow_redirect_with_headers).with("headers")
0
- rails_session = Webrat::RailsSession.new(@integration_session)
0
- rails_session.post("url", "data", "headers")
0
- it "should follow internal redirects" do
0
- @integration_session.stub!(:get)
0
- @integration_session.stub!(:host)
0
- @integration_session.stub!(:status)
0
- @integration_session.should_receive(:internal_redirect?).twice.and_return(true, false)
0
- @integration_session.should_receive(:follow_redirect_with_headers)
0
- rails_session = Webrat::RailsSession.new(@integration_session)
0
- rails_session.get("url", "data", "headers")
0
- it "should not follow external redirects" do
0
- @integration_session.stub!(:get)
0
- @integration_session.stub!(:host)
0
- @integration_session.stub!(:status)
0
- @integration_session.should_receive(:internal_redirect?).and_return(false)
0
- @integration_session.should_not_receive(:follow_redirect_with_headers)
0
- rails_session = Webrat::RailsSession.new(@integration_session)
0
- rails_session.get("url", "data", "headers")
0
it "should provide a saved_page_dir" do
0
Webrat::RailsSession.new(mock("integration session")).should respond_to(:saved_page_dir)
0
@@ -125,66 +85,4 @@ describe Webrat::RailsSession do
0
it "should provide a doc_root" do
0
Webrat::RailsSession.new(mock("integration session")).should respond_to(:doc_root)
0
-describe ActionController::Integration::Session do
0
- Webrat.configuration.mode = :rails
0
- @integration_session = ActionController::Integration::Session.new
0
- @integration_session.stub!(:request => mock("request", :url => "http://source.url/"))
0
- @integration_session.stub!(:response => mock("response"))
0
- describe "internal_redirect?" do
0
- it "should return false if the response is not a redirect" do
0
- @integration_session.should_receive(:redirect?).and_return(false)
0
- @integration_session.internal_redirect?.should == false
0
- it "should return false if the response was a redirect but the response location does not match the request host" do
0
- @integration_session.should_receive(:redirect?).and_return(true)
0
- @integration_session.response.should_receive(:redirect_url_match?).and_return(false)
0
- @integration_session.internal_redirect?.should == false
0
- it "should return true if the response is a redirect and the response location matches the request host" do
0
- @integration_session.should_receive(:redirect?).and_return(true)
0
- @integration_session.response.should_receive(:redirect_url_match?).and_return(true)
0
- @integration_session.internal_redirect?.should == true
0
- describe "follow_redirect_with_headers" do
0
- Webrat.configuration.mode = :rails
0
- @integration_session.stub!(:headers).and_return({ 'location' => ["/"]})
0
- @integration_session.stub!(:redirect?).and_return true
0
- @integration_session.stub!(:get)
0
- it "should raise an exception if response wasn't a redirect" do
0
- @integration_session.stub!(:redirect?).and_return false
0
- lambda { @integration_session.follow_redirect_with_headers }.should raise_error
0
- it "should set the HTTP referer header" do
0
- @integration_session.follow_redirect_with_headers(headers)
0
- headers["HTTP_REFERER"].should == "http://source.url/"
0
- it "should GET the first location header" do
0
- @integration_session.stub!("headers").and_return({ 'location' => ['/target'] })
0
- @integration_session.should_receive(:get).with("/target", {}, hash_including("headers" => "foo"))
0
- @integration_session.follow_redirect_with_headers({"headers" => "foo"})
0
- it "should return the status" do
0
- @integration_session.stub!(:status).and_return "202"
0
- @integration_session.follow_redirect_with_headers.should == "202"
0
\ No newline at end of file