aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test
Commit message (Collapse)AuthorAgeFilesLines
* Accept a collection in fresh_when and stale?claudiob2015-02-101-1/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The methods `fresh_when` and `stale?` from ActionController::ConditionalGet accept a single record as a short form for a hash. For instance ```ruby def show @article = Article.find(params[:id]) fresh_when(@article) end ``` is just a short form for: ```ruby def show @article = Article.find(params[:id]) fresh_when(etag: @article, last_modified: @article.created_at) end ``` This commit extends `fresh_when` and `stale?` to also accept a collection of records, so that a short form similar to the one above can be used in an `index` action. After this commit, the following code: ```ruby def index @article = Article.all fresh_when(etag: @articles, last_modified: @articles.maximum(:created_at)) end ``` can be simply written as: ```ruby def index @article = Article.all fresh_when(@articles) end ```
* Fix wrong kwarg "record" from #18872claudiob2015-02-101-0/+1
| | | | | | | | | | | | PR #18772 changed the parameters of `stale?` to use `kwargs`. [As for this comment](https://github.com/rails/rails/pull/18872/files#r24456288) the default value for the `etag` parameter should be `record`, not `nil`. This commit fixes the code and introduces a test that: - passed before #18872 - fails on the current master (after #18772) - passes again after setting the default value of `etag` to `record`.
* Explicitly ignored wildcard verbs from head_routesTerence Sun2015-02-081-0/+12
| | | | | | In match_head_routes, deleted the routes in which request.request_method was empty (matches all HTTP verbs) when responding to a HEAD request. This prevents catch-all routes (such as Racks) from intercepting the HEAD request. Fixes #18698
* Merge pull request #18771 from kirs/deprecate-xhrRafael Mendonça França2015-02-056-106/+112
|\ | | | | Migrating xhr methods to keyword arguments syntax
| * Migrating xhr methods to keyword arguments syntaxKir Shatrov2015-02-016-106/+112
| | | | | | | | | | | | | | | | | | | | | | | | in `ActionController::TestCase` and `ActionDispatch::Integration` Old syntax: `xhr :get, :create, params: { id: 1 }` New syntax example: `get :create, params: { id: 1 }, xhr: true`
* | Removed magic comments # encoding: utf-8 , since its default from ruby 2.0 ↵Vipul A M2015-02-036-6/+0
| | | | | | | | onwards.
* | Merge pull request #18721 from sj26/pre-discard-flashAaron Patterson2015-02-012-11/+26
|\ \ | | | | | | Pre-discard flash messages
| * | Migrate old flash behaviourSamuel Cochran2015-01-301-6/+7
| | |
| * | Discard from flash before persisting in sessionSamuel Cochran2015-01-291-7/+9
| | |
| * | Fix flash remaining after last flash deletedSamuel Cochran2015-01-291-0/+12
| | | | | | | | | | | | | | | | | | | | | Inside a controller functional test after the last flash is deleted it still persists the flash because to_session_value is nil. We should delete it from the session when the serialized version is nil, same as the flash middleware.
* | | Merge pull request #18769 from gsamokovarov/exception-wrapper-windows-pathsAndrew White2015-02-011-0/+17
|\ \ \ | | | | | | | | Show proper traces on Windows for the error pages
| * | | Show proper traces on Windows for the error pagesGenadi Samokovarov2015-02-011-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an issue brought up by @daniel-rikowski in rails/web-console#91. Citing his PR proposal here: > Prior to this, backtrace lines were simply split by a single colon. > > Unfortunately that is also the drive letter delimiter in Windows paths > which resulted in a lot of empty source fragments of "C:0". ("C" from > the drive letter and 0 from "/path/to/rails/file.rb:16".to_i) > > Now the trace line is split by the first colon followed by some digits, > which works for both Windows and Unix path styles. Now, the PR was sent against web-console, because of the templates copy issue we used to had. Instead of bothering the contributor to reopen the issue against upstream Rails itself, I will make sure he gets the credit by putting his name in [rails-contributors/hard_coded_authors.rb][]. [rails-contributors/hard_coded_authors.rb]: (https://github.com/fxn/rails-contributors/blob/master/app/models/names_manager/hard_coded_authors.rb).
* | | | Merge pull request #18759 from yuki24/remove-warningYves Senn2015-02-011-3/+3
|\ \ \ \ | |/ / / |/| | | :scissors: warning from controller renderer test
| * | | :scissors: warning from controller renderer testYuki Nishijima2015-01-311-3/+3
| | |/ | |/| | | | | | | rails/actionpack/test/controller/renderer_test.rb:89: warning: possible reference to past scope - defaults
* / | Use public Module#include, in favor of https://bugs.ruby-lang.org/issues/8846robertomiranda2015-01-314-7/+7
|/ / | | | | | | ref: https://github.com/rails/rails/pull/18763#issuecomment-72349769
* | Remove duplicated testsRafael Mendonça França2015-01-291-30/+0
| |
* | Consistent usage of spaces in hashes across our codebaseRafael Mendonça França2015-01-2923-103/+107
| |
* | Switch to kwargs in ActionController::TestCase and ActionDispatch::IntegrationKir Shatrov2015-01-2941-334/+702
| | | | | | | | | | | | | | | | Non-kwargs requests are deprecated now. Guides are updated as well. `post url, nil, nil, { a: 'b' }` doesn't make sense. `post url, params: { y: x }, session: { a: 'b' }` would be an explicit way to do the same
* | Preserve default url options when generating URLsTekin Suleyman2015-01-281-0/+21
|/ | | | | Fixes an issue that would cause default_url_options to be lost when generating URLs with fewer positional arguments than parameters in the route definition.
* Just assert the deprecation of one methodRafael Mendonça França2015-01-281-10/+15
|
* Merge pull request #18693 from aditya-kapoor/deprecate_via_redirectRafael Mendonça França2015-01-281-15/+25
|\ | | | | | | Deprecate *_via_redirect integration test methods
| * Deprecate *_via_redirect integration test methodsAditya Kapoor2015-01-281-15/+25
| |
* | Add test for HTTP basic authentication when no credential is given.Zhang Kai Yu2015-01-241-0/+7
|/
* Merge pull request #18546 from brainopia/action_view_renderRafael Mendonça França2015-01-222-0/+112
|\ | | | | A shortcut to setup controller environment
| * Add ActionController::Base.renderbrainopia2015-01-221-0/+4
| |
| * Add ActionController::Rendererbrainopia2015-01-221-0/+99
| | | | | | | | Render arbitrary templates outside of controller actions
| * Add `ActionController::Metal#set_request!`brainopia2015-01-211-0/+9
| | | | | | | | | | Add `ActionController::Metal#set_request!` to set a request on controller instance without calling dispatch.
* | Fix name_for_action in routingrono232015-01-191-0/+38
|/
* Remove unused AV fixtures from AP testsclaudiob2015-01-111-65/+0
| | | | | | | | | When `render` was moved from ActionPack to ActionView in acc8e259, some fixtures required by the tests were duplicated, but they are actually only required by ActionView tests. To give one example, `double_render` is already defined [in the AV tests](https://github.com/rails/rails/blob/72139d8d310d896db78eaec98582c7a638135102/actionview/test/actionpack/controller/render_test.rb#L407) and is never used in the ActionPack tests.
* No need of requiring `rbconfig`, it is by-default loadedKuldeep Aggarwal2015-01-101-1/+0
|
* Default headers, removed in controller actions, will not be reapplied to the ↵Jonas Baumann2015-01-091-0/+23
| | | | test response.
* Deprecate all *_filter callbacks in favor of *_action callbacksAbdelkader Boudih2015-01-081-3/+5
|
* Merge pull request #18404 from claudiob/rebase-14549Rafael Mendonça França2015-01-081-0/+34
|\ | | | | Add test case and documentation for skip_before_filter.
| * Add test/doc for :if/:except in skip_before_actionclaudiob2015-01-081-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new test/docs further explain the conflicts that can happen when mixing `:if`/`:unless` options with `:only`/`:except` options in `skip_before_action`. The gist is that "positive" filters always have priority over negative ones. The previous commit already showed that `:only` has priority over `:if`. This commit shows that `:if` has priority over `:except`. For instance, the following snippets are equivalent: ```ruby skip_before_action :some_callback, if: -> { condition }, except: action ``` ```ruby skip_before_action :some_callback, if: -> { condition } ```
| * Add test case and documentation for skip_before_filter.Lauro Caetano2015-01-081-0/+17
| | | | | | | | | | | | | | | | Test case for using skip_before_filter with the options :only and :if both present. In this case, the :if option will be ignored and :only will be executed. Closes #14549 (the commit was cherry-picked from there).
* | Add prepend option to protect_from_forgery.Josef Šimánek2015-01-081-0/+60
| |
* | Remove ActionController::HideActions (closes #18336)brainopia2015-01-061-38/+1
|/
* Remove respond_to/respond_with placeholder methodsCarlos Antonio da Silva2015-01-041-32/+0
| | | | This functionality has been extracted to the responders gem.
* Remove deprecated usage of string keys in URL helpersRafael Mendonça França2015-01-041-20/+0
|
* Remove deprecated `only_path` option on `*_path` helpersRafael Mendonça França2015-01-041-44/+0
|
* Remove deprecate `*_path` helpers in email viewsRafael Mendonça França2015-01-041-14/+0
|
* Remove deprecated support to define routes with `:to` option thatRafael Mendonça França2015-01-041-30/+4
| | | | doesn't contain `#`
* Remove deprecated `ActionDispatch::Response#to_ary`Rafael Mendonça França2015-01-041-16/+2
|
* Remove deprecated option `use_route` in controller testsRafael Mendonça França2015-01-041-25/+0
|
* Merge pull request #10380 from JonRowe/test_all_domain_2_letter_tldRafael Mendonça França2015-01-021-0/+7
|\ | | | | | | Assert that 2 letter tlds with 3 letter domain names work when option specified.
| * add test asserting that 2 letter tlds with 3 letter domain names work when ↵Jon Rowe2013-04-301-0/+7
| | | | | | | | option specified
* | Merge pull request #17978 from kommen/fixed-pr-14903Rafael Mendonça França2015-01-021-0/+20
|\ \ | | | | | | | | | | | | | | | | | | Ensure append_info_to_payload is called even if an exception is raised. Conflicts: actionpack/CHANGELOG.md
| * | Ensure append_info_to_payload is called even if an exception is raised.Dieter Komendera2014-12-101-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | See: * https://github.com/rails/rails/pull/14903 * https://github.com/roidrage/lograge/issues/37 Some code by mxrguspxrt from #14903.
* | | Integration requests should work in contexts without setup and teardownbrainopia2015-01-021-0/+24
| | |
* | | Correctly use the response's status code calling headRobin Dupret2014-12-311-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 20fece1 introduced the `_status_code` method to fix calls to `head :ok`. This method has been added on both ActionController::Metal and ActionDispatch::Response. As for the latter, this method is just equivalent to the `response_code` one so commit aefec3c removed it from the `Reponse` object so call to the `_status_code` method on an ActionController::Base instance would be handled by the `Metal` class (which `Base` inherits from) but the status code is not updated according to the response at this level. The fix is to actually rely on `response_code` for ActionController::Base instances but this method doesn't exist for bare Metal controllers so we need to define it.