aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/test
Commit message (Collapse)AuthorAgeFilesLines
* Privatize unneededly protected methods in Action View testsAkira Matsuda2016-12-235-5/+5
|
* Unneeded attr_accessor with side effectsAkira Matsuda2016-12-232-8/+0
|
* fields: support attributes not on model.Kasper Timm Hansen2016-12-181-0/+35
| | | | Ensure the support works like form_with.
* form_with: allow methods outside the model.Kasper Timm Hansen2016-12-181-12/+69
| | | | | | | | Has the handy effect of making the initial examples in the form_with docs work too. Had to do some finagling such that form_with's without a scope didn't wrap their names in braces ala `[title]`.
* Avoid invalid attribute on local forms generated by `form_with`George Claghorn2016-12-151-0/+10
| | | | | | | | | | | | | Fixes that the following ERB template would result in invalid HTML output: <%= form_with model: Post.new, local: true do |form| %> <% end %> Specifically, the resulting form tag would have a spurious `remote` attribute: <form remote="false" ...>
* form_with/fields: Don't output ids by defaultKasper Timm Hansen2016-12-131-200/+200
| | | | | | | | | | | Continuing 67f81cc where we decided not to output ids by default in the new form helpers. Went with @dhh's suggestion of just requiring ids on fields being labelled: https://github.com/rails/rails/issues/25197#issuecomment-231797117 Seems okay enough.
* split DELEGATION_RESERVED_METHOD_NAMES in halfToshimaru2016-12-093-5/+11
|
* Enable `block` variable in viewToshimaru2016-12-092-0/+5
| | | | Remove `block` keyword from reserved method names
* Merge pull request #27258 from y-yagi/stop_using_removed_render_textKasper Timm Hansen2016-12-031-1/+1
|\ | | | | stop using removed `render :text`
| * stop using removed `render :text`yuuji.yaginuma2016-12-031-1/+1
| | | | | | | | Follow up to 79a5ea9eadb4d43b62afacedc0706cbe88c54496
* | Remove unused argumentRafael Mendonça França2016-12-021-12/+2
|/ | | | Now Text class is only used to render text mime type pages
* 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 UJS testsGuillermo Iguaran2016-11-2620-0/+5266
|
* Fix `require_dependency` message formatRyuta Kamizono2016-11-251-1/+1
| | | | | | | | | | | | `depend_on` message format is `"No such file to load -- %s.rb"`. But `require_dependency` message is missing `.rb` suffix. ``` % git grep -n 'No such file to load' actionview/test/actionpack/abstract/helper_test.rb:112: assert_equal "No such file to load -- very_invalid_file_name.rb", e.message activesupport/lib/active_support/dependencies.rb:245: def require_dependency(file_name, message = "No such file to load -- %s.rb") activesupport/lib/active_support/dependencies.rb:333: def depend_on(file_name, message = "No such file to load -- %s.rb") ```
* Add form_with to unify form_tag/form_for. (#26976)Kasper Timm Hansen2016-11-211-0/+2134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add form_with to unify form_tag/form_for. `form_tag` and `form_for` serve very similar use cases. This PR unifies that usage such that `form_with` can output just the opening form tag akin to `form_tag` and can just work with a url, for instance. `form_with` by default doesn't attach class or id to the form — removing them on fields is moved out to a default revisiting PR later. Ported over old tests where applicable to ensure maximum coverage, but left some commented out because they don't yet apply (e.g. `fields_for` later being replaced by `fields`). [ Kasper Timm Hansen & Marek Kirejczyk ] * Add fields DSL method. Strips `_for` and requires models passed as a keyword argument. * Document form_with. Graft the `form_for` docs: rewrite, revise and expand where needed. Also test that a `format` isn't used when an explicit URL is passed. * Enable remote by default. Brand new world! Forms submit via XHRs by default, woah. * Invert `include_id` to `skip_id`. `skip_id: true` reads better than `include_id: false` (since the `include_id` default is true). * Invert `remote` to `local`. Since forms are remote by default, the option name makes more sense as `local: true`. * Invert `enforce_utf8` to `skip_enforcing_utf8`. * Refer to the brand spanking new rails-ujs. Soon to be bundled in Rails proper, so jquery-ujs is out. * Make `form_with` a bit more composed. The flow is still not quite what it should be because the legacy methods and these new ones pull at opposite ends. Lots of options have been renamed, so now the new pieces don't fit in so well. I'll try to work on this in later commits after this PR (it's likely there's a much better way to structure this whole part of Action View).
* Add more rubocop rules about whitespacesRafael Mendonça França2016-10-2911-127/+127
|
* 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.
* Merge pull request #26810 from maclover7/jm-fix-26802Rafael Mendonça França2016-10-221-0/+27
|\ | | | | | | Convert ActionController::Parameters to a hash in button_to
| * Convert ActionController::Parameters to a hash in button_toJon Moss2016-10-171-0/+16
|/ | | | | | | | | | | Before, an error would be raised saying that the method `to_param` was undefined on the instance of `ActionController::Parameters`. Now, we are checking to see if the `params` object being passed to `button_to` responds to the `permitted?` method, and if so, we will call `to_h` on it. If it does not respond to `permitted?`, then the `params` will remain unchanged. [Jon Moss, Rafael Mendonça França]
* Merge pull request #26578 from jeremy/undeprecate-plural-positional-argRafael França2016-10-101-6/+2
|\ | | | | Undeprecate plural positional argument
| * Undeprecate plural positional argumentJeremy Daer2016-09-211-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ```ruby pluralize people.count, 'person', 'people' ``` reads more naturally than ```ruby pluralize people.count, 'person', plural: 'people' ``` so let's not deprecate it. We could label both, but that's a mouthful: ```ruby pluralize people.count, singular: 'person', plural: 'people' ``` (The `plural:` kwarg shipped in 5.0.0, so we're keeping it.)
* | Remove deprecated support to :text in renderRafael Mendonça França2016-10-102-2/+2
| |
* | Change render to support any hash keys in localsPeter Schilling2016-10-024-0/+22
|/ | | | | | | | | | | | | | | | | | | this lets you pass ruby keywords to templates: <%= render 'example', class: "cool" %> <%= render 'example', "spaces are" => "a-ok" %> <%= render 'example', Foo: "bar" %> Previously you'd see confusing syntax errors like this: SyntaxError (.../_example.html.erb:1: syntax error, unexpected '=' Now you can reference invalid identifiers through local_assigns. If you try to use an invalid keyword (e.g. class) in your template, you get a syntax error on the line where you use it.
* Merge pull request #26516 from grosser/grosser/assertRafael França2016-09-164-11/+11
|\ | | | | improve error message when include assertions fail
| * improve error message when include assertions failMichael Grosser2016-09-164-11/+11
| | | | | | | | | | | | assert [1, 3].includes?(2) fails with unhelpful "Asserting failed" message assert_includes [1, 3], 2 fails with "Expected [1, 3] to include 2" which makes it easier to debug and more obvious what went wrong
* | Rename test to match what it doesclaudiob2016-09-151-1/+1
|/ | | | | | | | | | | Commit d270da569 changed the `form_for` API from `:object_name` to `:as`. It also change the related test body, but not its title, which is changed here. See https://github.com/rails/rails/commit/d270da569efeabd7cd563028816452236713aa9f#diff-52455f1e82acf12551bc5e7e26b82008 I realize this is a small commit but I was having trouble understanding what the test was about since there is no "object_name" in the code. I imagine the same may happen to other developers, therefore this commit.
* Fix broken comments indentation caused by rubocop auto-correct [ci skip]Ryuta Kamizono2016-09-143-3/+3
| | | | | | All indentation was normalized by rubocop auto-correct at 80e66cc4d90bf8c15d1a5f6e3152e90147f00772. But comments was still kept absolute position. This commit aligns comments with method definitions for consistency.
* fix RuboCop errors re \xFCXavier Noria2016-09-021-2/+4
|
* fixes remaining RuboCop issues [Vipul A M, Xavier Noria]Xavier Noria2016-09-011-2/+2
|
* Add three new rubocop rulesRafael Mendonça França2016-08-1625-111/+111
| | | | | | | | Style/SpaceBeforeBlockBraces Style/SpaceInsideBlockBraces Style/SpaceInsideHashLiteralBraces Fix all violations in the repository.
* Ensure values are strings before calling gsubMike Virata-Stone2016-08-121-0/+8
|
* ensure tag/content_tag escapes " in attribute valsAndrew Carpenter2016-08-111-0/+10
| | | | | | Many helpers mark content as HTML-safe without escaping double quotes -- including `sanitize`. Regardless of whether or not the attribute values are HTML-escaped, we want to be sure they don't include double quotes, as that can cause XSS issues. For example: `content_tag(:div, "foo", title: sanitize('" onmouseover="alert(1);//'))` CVE-2016-6316
* Fix actionview test failureRyuta Kamizono2016-08-111-2/+2
| | | | Caused by #26092.
* Fix broken alignments caused by auto-correct commit 411ccbdRyuta Kamizono2016-08-102-4/+7
| | | | Hash syntax auto-correcting breaks alignments. 411ccbdab2608c62aabdb320d52cb02d446bb39c
* code gardening: removes redundant selfsXavier Noria2016-08-085-6/+6
| | | | | | | | | A few have been left for aesthetic reasons, but have made a pass and removed most of them. Note that if the method `foo` returns an array, `foo << 1` is a regular push, nothing to do with assignments, so no self required.
* Extract common view cache dependency setup.Kasper Timm Hansen2016-08-071-8/+9
|
* Modify LogSubscriber for single partial's cache message.Stan Lo2016-08-081-6/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement naive partial caching mechanism. Add test for LogSubscriber Use ActionView::Base#log_payload to store log_subscriber's payload, so we can pass cache result into it. Fixed tests Remove useless settings Check if #log_payload exists before calling it. Because other classes also includes CacheHelper but don't have is attribute Use @log_payload_for_partial_reder instead of #log_payload to carry ActionView's payload. Update test's hash syntax Add configuration to enable/disable fragment caching logging Remove unless test and add new test to ensure cache info won't effect next rendering's log Move :enable_fragment_cache_logging config from ActionView to ActionPack Apply new config to tests Update actionview's changelog Update configuration guide Improve actionview's changelog Refactor PartialRenderer#render and log tests Mute subscriber's log instead of disabling instrumentation. Fix typo, remove useless comment and use new hash syntax Improve actionpack's log_subscriber test Fix rebase mistake Apply new config to all caching intstrument actions
* Add `Style/EmptyLines` in `.rubocop.yml` and remove extra empty linesRyuta Kamizono2016-08-075-6/+0
|
* applies remaining conventions across the projectXavier Noria2016-08-0615-31/+13
|
* normalizes indentation and whitespace across the projectXavier Noria2016-08-0612-167/+166
|
* remove redundant curlies from hash argumentsXavier Noria2016-08-0613-72/+64
|
* modernizes hash syntax in actionviewXavier Noria2016-08-0642-1027/+1027
|
* applies new string literal convention in actionview/testXavier Noria2016-08-0657-1207/+1207
| | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* Use Ruby >= 1.9 hash syntax as is the preferenceSteven Harman2016-07-261-1/+1
|
* Fix collection_from_options to allow EnumeratorsSteven Harman2016-07-261-0/+8
| | | | | | | | | | | | | An optimization was introduced in https://github.com/rails/rails/commit/27f4ffd11a91b534fde9b484cb7c4e515ec0fe77 which tried to `#to_ary` the collection to prevent unnecessary queries for ActiveRecord scopes/relations. If the given collection did not respond to `#to_ary`, and empty collection was returned. That meant you couldn't use collections built from `Enumerator` nor `Enumerable`. With this change, `#collection_from_options` will attempt the optimization, but fall back to passing along the given collection, as-is.
* 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?
* Merge pull request #25520 from st0012/fix-current-pageRafael França2016-07-201-0/+6
|\ | | | | Fix ActionView::Helpers#current_page? with trailing space issue.
| * Fix ActionView::Helpers#current_page? with issue in ↵Stan Lo2016-07-201-0/+6
| | | | | | | | https://github.com/rails/rails/issues/19472
* | Store the old logger before calling superRafael Mendonça França2016-07-171-1/+1
| | | | | | | | | | | | setup in ActiveSupport::LogSubscriber::TestHelper call set_logger that will change ActionController::Base.logger to the MockLogger so that logger will be always MockLogger
* | - Added select tag test for verifying passing html options to f.select helperVipul A M2016-06-281-1/+10
| | | | | | | | - Renamed test to be more descriptive