| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 4f2cd3e9 introduced a bug by reordering the call to
`@controller.recycle!` above the call to `build_request_uri`. The
impact of this was that the `@_url_options` cache ends up not being
reset between building a request URI (occurring within the test
controller) and the firing of the actual request.
We encountered this bug because we had the following setup:
class MinimumReproducibleController < ActionController::Base
before_filter { @param = 'param' }
def index
render text: url_for(params)
end
def default_url_options
{ custom_opt: @param }
end
end
def test_index
get :index # builds url, then fires actual request
end
The first step in `get :index` in the test suite would populate the
@_url_options cache. The subsequent call to `url_for` inside of the
controller action would then utilize the uncleared cache, thus never
calling the now-updated default_url_options.
This commit fixes this bug calling recycle! twice, and removes a call
to set response_body, which should no longer be needed since we're
recycling the request object explicitly.
|
| |
|
| |
|
|
|
|
| |
merging cookies is responsibility of the test runner
|
|
|
|
|
|
| |
For some reason, this special logic is only supposed to be executed on
the second request. For now, we'll extend on recycle, but we should
figure out why this functionality can't be run on every request
|
|
|
|
|
| |
Try to avoid making the controller mutate itself so that we can
eventually make the response async
|
|
|
|
|
|
| |
Closes #1872. Closes #2031.
Signed-off-by: José Valim <jose.valim@gmail.com>
|
| |
|
|
|
|
| |
[#5393 state:committed]
|
|
|
|
| |
Rack servers as appropriate
|
| |
|
| |
|
| |
|
|
their module locations
|