提交 69387ce0 编写于 作者: C Christos Zisopoulos 提交者: Joshua Peek

Fix for Integration::Session follow_redirect! headers['location'] bug with...

Fix for Integration::Session follow_redirect! headers['location'] bug with Rack [#1555 state:resolved]
Signed-off-by: NJoshua Peek <josh@joshpeek.com>
上级 75fa8241
......@@ -126,7 +126,7 @@ def host!(name)
# performed on the location header.
def follow_redirect!
raise "not a redirect! #{@status} #{@status_message}" unless redirect?
get(interpret_uri(headers['location'].first))
get(interpret_uri(headers['location']))
status
end
......
......@@ -30,14 +30,6 @@ def test_follow_redirect_raises_when_no_redirect
assert_raise(RuntimeError) { @session.follow_redirect! }
end
def test_follow_redirect_calls_get_and_returns_status
@session.stubs(:redirect?).returns(true)
@session.stubs(:headers).returns({"location" => ["www.google.com"]})
@session.stubs(:status).returns(200)
@session.expects(:get)
assert_equal 200, @session.follow_redirect!
end
def test_request_via_redirect_uses_given_method
path = "/somepath"; args = {:id => '1'}; headers = {"X-Test-Header" => "testvalue"}
@session.expects(:put).with(path, args, headers)
......@@ -323,6 +315,10 @@ def test_redirect
assert_equal "<html><body>You are being <a href=\"http://www.example.com/get\">redirected</a>.</body></html>", response.body
assert_kind_of HTML::Document, html_document
assert_equal 1, request_count
follow_redirect!
assert_response :success
assert_equal "/get", path
end
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册