1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Added simulation of @request.request_uri in functional tests #1038 [Jamis Buck]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1103 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
David Heinemeier Hansson 2005-04-07 06:22:19 +00:00
parent bd9a81ca2d
commit 4ab40059b7
3 changed files with 36 additions and 0 deletions

View file

@ -1,5 +1,7 @@
*SVN*
* Added simulation of @request.request_uri in functional tests #1038 [Jamis Buck]
* Fixed autolinking to work better in more cases #1013 [Jamis Buck]
* Added the possible of using symbols in form helpers that relate to instance variables like text_field :account, :name in addition to text_field "account", "name"'

View file

@ -258,6 +258,7 @@ module Test
@request.parameters.update(parameters) unless parameters.nil?
@request.session = ActionController::TestSession.new(session) unless session.nil?
@request.session["flash"] = ActionController::Flash::FlashHash.new.update(flash) if flash
build_request_uri(action, parameters)
@controller.process(@request, @response)
end
@ -282,6 +283,14 @@ module Test
def assigns(name)
@response.template.assigns[name.to_s]
end
def build_request_uri(action, parameters)
return if @request.env['REQUEST_URI']
url = ActionController::UrlRewriter.new(@request, parameters)
@request.set_REQUEST_URI(
url.rewrite(@controller.send(:rewrite_options,
(parameters||{}).update(:only_path => true, :action=>action))))
end
end
end
end

View file

@ -5,12 +5,21 @@ class TestTest < Test::Unit::TestCase
def set_flash
flash["test"] = ">#{flash["test"]}<"
end
def test_uri
render_text @request.request_uri
end
end
def setup
@controller = TestController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
ActionController::Routing::Routes.reload
end
def teardown
ActionController::Routing::Routes.reload
end
def test_process_without_flash
@ -22,4 +31,20 @@ class TestTest < Test::Unit::TestCase
process :set_flash, nil, nil, { "test" => "value" }
assert_flash_equal ">value<", "test"
end
def test_process_with_request_uri_with_no_params
process :test_uri
assert_equal @response.body, "/test_test/test/test_uri"
end
def test_process_with_request_uri_with_params
process :test_uri, :id => 7
assert_equal @response.body, "/test_test/test/test_uri/7"
end
def test_process_with_request_uri_with_params_with_explicit_uri
@request.set_REQUEST_URI "/explicit/uri"
process :test_uri, :id => 7
assert_equal @response.body, "/explicit/uri"
end
end