aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller
Commit message (Collapse)AuthorAgeFilesLines
* Return super in ActionController::Parameters.const_missingShuhei Kagawa2015-03-281-1/+8
| | | | | | | | | | | | | | | | | | | | | The current implementation of ActionController::Parameters.const_missing returns `ActionController::Parameters.always_permitted_parameters` even if its `super` returns a constant without raising error. This prevents its subclass in a autoloading module/class from taking advantage of autoloading constants. class SomeParameters < ActionController::Parameters def do_something DefinedSomewhere.do_something end end In the code above, `DefinedSomewhere` is to be autoloaded with `Module.const_missing` but `ActionController::Parameters.const_missing` returns `always_permitted_parameters` instead of the autoloaded constant. This pull request fixes the issue respecting `const_missing`'s `super`.
* Fix failing tests for #19474Andrew White2015-03-231-2/+2
|
* remove old unavailable link with relevant fixGaurav Sharma2015-03-231-2/+2
|
* Fix kwargs warning in `test_get_xml`eileencodes2015-03-201-1/+1
| | | | | | ActionDispatch::IntegrationTest HTTP request methods will accept only certain kwargs in the future. This test caused a deprecation warning when running ActionPack tests. Added `params` and `headers` to fix.
* Fix test messages use directly true, false and nil instead of their symbolAkshay Vishnoi2015-03-191-3/+3
|
* Compare content_type with Mime::XML instead of regexpBoris Peterbarg2015-03-161-0/+17
| | | | | Regexp is broken for both content types including charsets and for integration tests, where the content_type is a Mime::Type and not String
* Merge pull request #19291 from hired/return-truthy-value-from-headRafael Mendonça França2015-03-131-0/+11
|\ | | | | Return truthy value from head method
| * Return true from head methodJoel Hayhurst2015-03-121-0/+11
| | | | | | | | | | | | It was returning false in normal circumstances. This broke the `head :ok and return if` construct. Add appropriate test.
* | Use request.session.id instead of request.session_options[:id]Brian John2015-03-121-8/+0
|/ | | | | | | | | As of the upgrade to Rack 1.5, request.session_options[:id] is no longer populated. Reflect this change in the tests by using request.session.id instead. Related change in Rack: https://github.com/rack/rack/commit/83a270d6
* Call super last in before_setupeileencodes2015-03-091-0/+12
| | | | | | | | | | | | | | | This fixes the reasons 4cf3b8a, 303567e, and fa63448 needed to be reverted in 7142059. The revert has been reverted and this fixes the issues caused previously. If we call `super` first we will end up nuking the session settings in the application tests that do `setup do` - so any session login or cookie settings will not be persisted thoughout the test sessions. Calling `super` last prevents `@integration_session` from getting nuked and set to nil if it's already set. Test added to prevent regression of this behavior in the future.
* pass a config to the route setAaron Patterson2015-03-051-6/+10
| | | | | This way we can get the relative_url_root from the application without setting another global value
* Merge pull request #18775 from yasyf/issue_5122Rafael Mendonça França2015-03-031-0/+10
|\ | | | | | | Fallback to RAILS_RELATIVE_URL_ROOT in `url_for`
| * Fallback to RAILS_RELATIVE_URL_ROOT in `url_for`.Yasyf Mohamedali2015-02-241-0/+10
| | | | | | | | | | | | Fixed an issue where the `RAILS_RELATIVE_URL_ROOT` environment variable is not prepended to the path when `url_for` is called. If `SCRIPT_NAME` (used by Rack) is set, it takes precedence.
* | Skip the failing tests on Rubinius for nowRobin Dupret2015-03-021-0/+2
| |
* | fix NameError in `skip_filter`. callback doesn't exist.yuuji.yaginuma2015-02-271-0/+8
| |
* | Fix default headers in test responsesJeremy Kemper2015-02-252-16/+64
| | | | | | | | | | | | | | Fixes regression in #18423. Merge default headers for new responses, but don't merge when creating a response from the last session request. hat tip @senny :heart:
* | Merge pull request #18948 from kaspth/automatic-collection-cachingRafael Mendonça França2015-02-251-0/+58
|\ \ | |/ |/| Merge multi_fetch_fragments.
| * Collections automatically cache and fetch partials.Kasper Timm Hansen2015-02-211-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Collections can take advantage of `multi_read` if they render one template and their partials begin with a cache call. The cache call must correspond to either what the collections elements are rendered as, or match the inferred name of the partial. So with a notifications/_notification.html.erb template like: ```ruby <% cache notification %> <%# ... %> <% end %> ``` A collection would be able to use `multi_read` if rendered like: ```ruby <%= render @notifications %> <%= render partial: 'notifications/notification', collection: @notifications, as: :notification %> ```
* | Use other controller instead of sharing the controllerRafael Mendonça França2015-02-241-18/+17
| |
* | Make TestController available to all test classesRafael Mendonça França2015-02-241-16/+16
| |
* | Merge pull request #19060 from iainbeeston/deprecate-skip-action-callbackRafael Mendonça França2015-02-241-2/+22
|\ \ | | | | | | Deprecate `AbstractController::Callbacks#skip_action_callback`
| * | Deprecate `AbstractController::Callbacks#skip_action_callback`Iain Beeston2015-02-241-2/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As part of #19029, in future `skip_before_action`, `skip_after_action` and `skip_around_action` will raise an ArgumentError if the specified callback does not exist. `skip_action_callback` calls all three of these methods and will almost certainly result in an ArgumentError. If anyone wants to remove all three callbacks then they can still call the three individual methods. Therefore let's deprecate `skip_action_callback` now and remove it when #19029 is merged.
* | | Removing old helper that was necessary for compatibility with Ruby 1.8.xThiago Pradi2015-02-222-5/+3
|/ /
* | Merge pull request #18665 from sgrif/sg-test-route-allSean Griffin2015-02-201-0/+22
|\ \ | | | | | | Allow `method: "all"` as a valid routing test option
| * | Allow `method: "all"` as a valid routing test optionSean Griffin2015-01-231-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the test to mirror the production code, since `via: :all` is a valid option. The behavior in 4.1 did not actually test that it matched all verbs, but instead defaulted to testing for "GET". This implementation aims to better handle the intention of passing "all". What will actually be asserted doesn't quite match up with the generated route, since it appears to just not create a constraint on the method. However, I don't think that we can easily test the lack of that constraint. Testing each of the main 4 HTTP verbs seems to be a reasonably close approximation, which should be sufficient for our needs. Fixes #18511.
* | | Merge pull request #18917 from lautis/non-string-csrf-tokenRafael Mendonça França2015-02-181-0/+7
|\ \ \ | | | | | | | | | | | | Handle non-string authenticity tokens
| * | | Handle non-string authenticity tokensVille Lautanala2015-02-121-0/+7
| | |/ | |/| | | | | | | Non-string authenticity tokens raised NoMethodError when decoding the masked token.
* / | Implement http_cache_forever to ActionControllerArthur Neves2015-02-151-0/+53
|/ / | | | | | | | | | | | | | | | | Add http_cache_forever to ActionController, so we can cache results forever. Things like static pages are a good candidate for this type of caching. This cache only controls caching headers, so it is up to the browser to cache those requests.
* | 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`.
* | 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-033-3/+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 #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-2912-50/+54
| | |
* | | Switch to kwargs in ActionController::TestCase and ActionDispatch::IntegrationKir Shatrov2015-01-2928-254/+621
| | | | | | | | | | | | | | | | | | | | | | | | 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
|/
* Add ActionController::Base.renderbrainopia2015-01-221-0/+4
|
* Add ActionController::Rendererbrainopia2015-01-221-0/+99
| | | | Render arbitrary templates outside of controller actions