aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test
Commit message (Collapse)AuthorAgeFilesLines
* Fix segmentation fault in ActionPack testseileencodes2015-02-281-1/+1
| | | | | | Introduced in f6e293e ActionPack tests began sefaulting. I found that it was the kwargs and the test causing the seg fault was missing the new default_headers argument.
* Merge pull request #19104 from y-yagi/fix_skip_filterCarlos Antonio da Silva2015-02-271-0/+8
|\ | | | | fix NameError in `skip_filter`. callback doesn't exist.
| * fix NameError in `skip_filter`. callback doesn't exist.yuuji.yaginuma2015-02-271-0/+8
| |
* | Revert integration test refactoring that caused app test regressionsJeremy Kemper2015-02-261-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Haven't diagnosed yet. No similarly failing tests in Rails to work from. cc @tenderlove, @eileencodes Revert "there is always an integration session, so remove the check" Revert "lazily create the integration session" Revert "use before_setup to set up test instance variables" This reverts commits 4cf3b8ac47f109fa83a6f66eb97d6cb0eace0d05, 303567e554de26822f3107be55c471d6477a745f, and fa63448420d3385dbd043aca22dba973b45b8bb2.
* | Revert "Merge pull request #18764 from tsun1215/master"Jeremy Kemper2015-02-261-4/+5
|/ | | | | This reverts commit b6dd0c4ddebf5e7aab0a669915cb349ec65e5b88, reversing changes made to de9a3748c436f849dd1877851115cd94663c2725.
* Merge pull request #18434 from brainopia/change_filter_on_rails_info_routesRichard Schneeman2015-02-261-8/+0
|\ | | | | Change filter on /rails/info/routes to use an actual path regexp from rails
| * Change filter on /rails/info/routes to use an actual path regexp from railsbrainopia2015-02-231-8/+0
| | | | | | | | | | | | | | | | Change filter on /rails/info/routes to use an actual path regexp from rails and not approximate javascript version. Oniguruma supports much more extensive list of features than javascript regexp engine. Fixes #18402.
* | 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-254-0/+66
|\ \ | | | | | | Merge multi_fetch_fragments.
| * | Collections automatically cache and fetch partials.Kasper Timm Hansen2015-02-214-0/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 %> ```
* | | Add a failing test demonstrating regression with HEAD requests to Rack apps, ↵Jeremy Kemper2015-02-241-3/+9
| | | | | | | | | | | | re #18764
* | | 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-223-18/+3
| | |
* | | Removing unused constants from abstract_unitThiago Pradi2015-02-221-2/+0
| | |
* | | Removing unused controller from abstract_unitThiago Pradi2015-02-221-16/+0
| | |
* | | Removing unused templateThiago Pradi2015-02-221-5/+0
|/ /
* | Prefer request_id over uuid and test the aliasRafael Mendonça França2015-02-201-4/+8
| |
* | Merge pull request #18218 from brainopia/fix_match_shorthand_in_routesRafael Mendonça França2015-02-201-0/+9
|\ \ | | | | | | Don't use shorthand match on routes with inappropriate symbols
| * | Improve shorthand matching for routesbrainopia2015-01-251-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Shorthand route match is when controller and action are taken literally from path. E.g. get '/foo/bar' # => will use 'foo#bar' as endpoint get '/foo/bar/baz' # => will use 'foo/bar#baz' as endpoint Not any path with level two or more of nesting can be used as shortcut. If path contains any characters outside of /[\w-]/ then it can't be used as such. This commit ensures that invalid shortcuts aren't used. ':controller/:action/postfix' - is an example of invalid shortcut that was previosly matched and led to exception: "ArgumentError - ':controller/:action' is not a supported controller name"
* | | 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.
* | | | lazily create the integration sessionAaron Patterson2015-02-121-4/+0
|/ / / | | | | | | | | | now we don't have to call reset! everywhere
* | | Merge pull request #11790 from printercu/patch-3Rafael Mendonça França2015-02-121-7/+26
|\ \ \ | | | | | | | | | | | | ActionController#translate supports symbols
| * | | ActionController#translate also lookups shortcut without action nameMax Melentiev2013-10-221-2/+6
| | | |
| * | | ActionController#translate supports symbolsprintercu2013-09-251-6/+21
| | | | | | | | | | | | | | | | Made it similar to views helper.
* | | | 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.