aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/test/actionpack/controller
Commit message (Collapse)AuthorAgeFilesLines
* Pass locals in to the template object on constructionAaron Patterson2019-02-251-2/+3
| | | | | | | This commit ensures that locals are passed in to the template objects when they are constructed, then removes the `locals=` mutator on the template object. This means we don't need to mutate Template objects with locals in the `decorate` method.
* Templates have one formatAaron Patterson2019-02-251-1/+1
| | | | | | | Templates only have one format. Before this commit, templates would be constructed with a single element array that contained the format. This commit eliminates the single element array and just implements a `format` method. This saves one array allocation per template.
* Move inline rendering content-type test to a controller testAaron Patterson2019-02-191-0/+11
| | | | | | This commit is to remove direct access to the "rendered_format" attribute on the lookup context. "rendered_format" is an implementation detail that we shouldn't test directly.
* Pass source to template handler and deprecate old style handlerAaron Patterson2019-02-011-2/+2
| | | | | | | | | This commit passes the mutated source to the template handler as a parameter and deprecates the old handlers. Old handlers required that templates contain a reference to mutated source code, but we would like to make template objects "read only". This change lets the template remain "read only" while still giving template handlers access to the source code after mutations.
* Tighten up the AV::Base constructorAaron Patterson2019-01-291-2/+2
| | | | | | | | | | | | | | | The AV::Base constructor was too complicated, and this commit tightens up the parameters it will take. At runtime, AV::Base is most commonly constructed here: https://github.com/rails/rails/blob/94d54fa4ab641a0ddeb173409cb41cc5becc02a9/actionview/lib/action_view/rendering.rb#L72-L74 This provides an AV::Renderer instance, a hash of assignments, and a controller instance. Since this is the common case for construction, we should remove logic from the constructor that handles other cases. This commit introduces special constructors for those other cases. Interestingly, most code paths that construct AV::Base "strangely" are tests.
* Add test for Hash-like object being passed to partial `locals`Ufuk Kayserilioglu2019-01-241-0/+10
| | | | | | | | | | The test passes an instance of `ActionController::Parameters` that acts like a Hash but does not respond to some Hash methods like `symbolize_keys`. Moreover, if someone were to call `to_h` on the value it would fail since the parameter is not permitted. So this is a great way to ensure that the partial rendering pipeline does not mess with `locals`.
* Revert "Allow usage of strings as locals for partial renderer"Ufuk Kayserilioglu2019-01-241-10/+0
|
* make bot happyAaron Patterson2018-09-241-6/+6
|
* Remove deprecated catch-all route in the AV testsAaron Patterson2018-09-244-0/+158
| | | | | | | | This commit removes a deprecated catch-all route in the AV tests. It defines and includes the necessary routes for each test such that we don't need the catch-all anymore. This also helps push us toward #33970
* Merge pull request #30647 from droptheplot/render-partials-string-localsRafael França2018-04-271-0/+9
|\ | | | | Allow usage of strings as locals for partial renderer
| * Allow usage of strings as locals for partial rendererSergey Novikov2017-09-181-0/+9
| |
* | Fix actionview tests executionbogdanvlviv2018-03-041-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On my local environment execution of `cd actionview/ && bin/test` raises error: ``` (snip) rails/actionview/test/template/render_test.rb:6:in `<top (required)>': superclass mismatch for class TestController (TypeError) ``` In some test files `TestController` inherited from `ActionController::Base`, but in `test/actionpack/controller/render_test.rb` file `TestController` inherited from `ApplicationController`. This produces error `superclass mismatch for class TestController (TypeError)` Step to reproduce this on any environment: `cd actionview/ && bin/test test/template/streaming_render_test.rb test/actionpack/controller/render_test.rb`
* | Enable `Layout/LeadingCommentSpace` to not allow cosmetic changes in the futureRyuta Kamizono2017-12-141-1/+1
|/ | | | Follow up of #31432.
* Use frozen string literal in actionview/Kir Shatrov2017-07-244-0/+8
|
* Revert "Merge pull request #29540 from kirs/rubocop-frozen-string"Matthew Draper2017-07-024-4/+0
| | | | | This reverts commit 3420a14590c0e6915d8b6c242887f74adb4120f9, reversing changes made to afb66a5a598ce4ac74ad84b125a5abf046dcf5aa.
* Enforce frozen string in RubocopKir Shatrov2017-07-014-0/+4
|
* Define path with __dir__bogdanvlviv2017-05-233-10/+10
| | | | | | ".. with __dir__ we can restore order in the Universe." - by @fxn Related to 5b8738c2df003a96f0e490c43559747618d10f5f
* DRY fake models for testingAkira Matsuda2017-02-021-35/+1
|
* class Foo < Struct.new(:x) creates an extra unneeded anonymous classAkira Matsuda2017-01-131-2/+2
| | | | because Struct.new returns a Class, we just can give it a name and use it directly without inheriting from it
* use `Gem.win_platform?` to check windows Ruby platformsyuuji.yaginuma2016-11-301-1/+1
| | | | | `Gem.win_platform?` check if it is Windows more accurately. Ref: https://github.com/ruby/ruby/blob/ruby_2_2/lib/rubygems.rb#L945..L952
* Add more rubocop rules about whitespacesRafael Mendonça França2016-10-291-2/+2
|
* let Regexp#match? be globally availableXavier Noria2016-10-271-1/+0
| | | | | | Regexp#match? should be considered to be part of the Ruby core library. We are emulating it for < 2.4, but not having to require the extension is part of the illusion of the emulation.
* Add three new rubocop rulesRafael Mendonça França2016-08-162-7/+7
| | | | | | | | Style/SpaceBeforeBlockBraces Style/SpaceInsideBlockBraces Style/SpaceInsideHashLiteralBraces Fix all violations in the repository.
* Fix actionview test failureRyuta Kamizono2016-08-111-2/+2
| | | | Caused by #26092.
* Fix broken alignments caused by auto-correct commit 411ccbdRyuta Kamizono2016-08-101-1/+1
| | | | Hash syntax auto-correcting breaks alignments. 411ccbdab2608c62aabdb320d52cb02d446bb39c
* applies remaining conventions across the projectXavier Noria2016-08-061-6/+6
|
* remove redundant curlies from hash argumentsXavier Noria2016-08-061-3/+1
|
* modernizes hash syntax in actionviewXavier Noria2016-08-064-111/+111
|
* applies new string literal convention in actionview/testXavier Noria2016-08-064-87/+87
| | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* systematic revision of =~ usage in AVXavier Noria2016-07-251-1/+2
| | | | | Where appropriate, prefer the more concise Regexp#match?, String#include?, String#start_with?, or String#end_with?
* Delete bad testSean Griffin2016-06-071-5/+0
| | | | | | | | | | | | This test was broken by f650e0324207e46ed5240380e60bdf1e2a5023a6. It was added by https://github.com/rails/rails/pull/17978, and is adequately tested elsewhere. The reason that this breaks is that `Controller#process` is not going to set a new response object, and we now terminate in callbacks if the response has been sent. The only reason that this test was calling `get` in the first place was because the controller under test blows up if `request` was `nil`. The point being that the failure is invalid, and I don't think we need to fix the test in this location.
* Use `Mime[:foo]` instead of `Mime::Type[:FOO]` for back compatJeremy Daer2015-10-061-1/+1
| | | | | | | | | | | | | | | | | Rails 4.x and earlier didn't support `Mime::Type[:FOO]`, so libraries that support multiple Rails versions would've had to feature-detect whether to use `Mime::Type[:FOO]` or `Mime::FOO`. `Mime[:foo]` has been around for ages to look up registered MIME types by symbol / extension, though, so libraries and plugins can safely switch to that without breaking backward- or forward-compatibility. Note: `Mime::ALL` isn't a real MIME type and isn't registered for lookup by type or extension, so it's not available as `Mime[:all]`. We use it internally as a wildcard for `respond_to` negotiation. If you use this internal constant, continue to reference it with `Mime::ALL`. Ref. efc6dd550ee49e7e443f9d72785caa0f240def53
* render should return a stringAaron Patterson2015-10-051-1/+1
|
* :hocho: TyposAkira Matsuda2015-09-212-2/+2
|
* Stop using deprecated `render :text` in testPrem Sichanugrist2015-07-171-19/+19
| | | | | | | | | This will silence deprecation warnings. Most of the test can be changed from `render :text` to render `:plain` or `render :body` right away. However, there are some tests that needed to be fixed by hand as they actually assert the default Content-Type returned from `render :body`.
* Change AC::TestResponse to AD::TestResponsePrem Sichanugrist2015-07-141-1/+1
| | | | | ActionController::TestResponse was removed in d9fe10c and caused a test failure on Action View as its test case still refers to it.
* use new constructor. (Oops! :bomb:)Aaron Patterson2015-07-081-1/+1
|
* Revert "revises a test to account for case-insensitive file systems"Matthew Draper2015-06-141-18/+2
| | | | This reverts commit d345ce9630ce4c01bc81a09fb015e7bd935600ad.
* Revert "Merge pull request #19685 from vngrs/actionview_parent_layout_bug"Rafael Mendonça França2015-06-021-14/+0
| | | | | | | | | | | This reverts commit a9d58c77da800bb0052c9bfa432828b02526022c, reversing changes made to 041c2c879a3c4086ad3aa6d30fed1eede1d53c11. Reason: The old behavior is how it was working in previous version of Rails since 4.0.x so it is not safe to backport to a stable branch. See https://github.com/rails/rails/issues/19626#issuecomment-89862258 and https://github.com/rails/rails/pull/15050#issuecomment-45333449
* Remove `assigns` and `assert_template`.Guo Xiang Tan2015-05-302-60/+34
|
* Deprecate `:nothing` option for render methodMehmet Emin İNAÇ2015-05-281-1/+1
| | | | `head` method works similar to `render` method with `:nothing` option
* Remove deprecation warning.Guo Xiang Tan2015-05-221-1/+1
| | | | https://travis-ci.org/rails/rails/jobs/63594316#L1982
* revises a test to account for case-insensitive file systemsXavier Noria2015-05-211-3/+19
| | | | | | | | | | | | The patched test assumed the file system is case-sensitive, but that is not necessarily the case. In particular, this test did not pass in the recommended setup for the dev box, because the /vagrant shared folder is case-insensitive. After looking at some gems that provide access to file system metadata I have chosen to go with the check you can see in the patch because, albeit it's a bit dirty creating a file, it is super easy to understand and clearly portable. References https://github.com/rails/rails-dev-box/issues/102.
* fix for actionview parent layout bugMehmet Emin İNAÇ2015-04-081-0/+14
| | | | | | | This commit fixes issue #19626 Don't need to check layout conditions if there is no condition test for parent layout bug fix
* Merge pull request #18948 from kaspth/automatic-collection-cachingRafael Mendonça França2015-02-251-0/+4
|\ | | | | Merge multi_fetch_fragments.
| * Merge multi_fetch_fragments.Kasper Timm Hansen2015-02-201-0/+4
| | | | | | | | | | | | | | | | Makes caching a collection of template partials faster using `read_multi` on the Rails cache store. Some caching implementations have optimized `read_multi` so we don't have to check in the cache store for every template.
* | Error message testing fixFranky W2015-02-201-2/+2
|/ | | | | | | | | The testing of error messages have been implemented wrongly a few times. This is an attempt to fix it. For example, some of these test should have failed with the new code. The reason they are not failling with the new string is the fact they were not being tested beforehand.
* use kwargs instead of xhr method. refs #18771.yuuji.yaginuma2015-02-071-2/+2
|
* Fixed test for deprecation warning in actionview, renaming from ↵Vipul A M2015-01-311-3/+3
| | | | https://github.com/rails/rails/commit/baf14ae513337cb185acf865e93dfc48f3aabf6a
* Support `:assigns` option when rendering with controllers/mailers.brainopia2015-01-221-0/+9
|