aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/test
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Add test for safe_joinkenta-s2017-01-151-0/+5
| |/
* | Don't pollute Object with rubinius_skip and jruby_skipAkira Matsuda2017-01-171-9/+9
| | | | | | | | we call them only in the tests
* | Allow render locals to be assigned to instance variablesAndrew White2017-01-152-0/+5
|/ | | | | | | | | In #26672 we blocked use of Ruby keywords as identifiers for view locals but inadvertently broke the use of instance variable names as identifiers. Whilst not explicitly documented this behavior has been around for a long time and there's no need to break it now. Fixes #27480.
* class Foo < Struct.new(:x) creates an extra unneeded anonymous classAkira Matsuda2017-01-136-12/+10
| | | | because Struct.new returns a Class, we just can give it a name and use it directly without inheriting from it
* Reduce string objects by using \ instead of + or << for concatenating stringsAkira Matsuda2017-01-126-523/+523
| | | | (I personally prefer writing one string in one line no matter how long it is, though)
* Use Encoding::UTF_8 constant for default_{internal,external} in the testsAkira Matsuda2017-01-111-2/+2
|
* Remove unneeded Deprecation silenceRafael Mendonça França2017-01-061-5/+3
|
* `self.` is not needed when calling its own instance methodAkira Matsuda2017-01-051-1/+1
| | | | Actually, private methods cannot be called with `self.`, so it's not just redundant, it's a bad habit in Ruby
* Merge pull request #27549 from mpugach/consider_params_in_current_pageRafael França2017-01-041-0/+9
|\ | | | | Add "check_parameters" option to "current_page?"
| * Add `check_parameters` option to `current_page?`Maksym Pugach2017-01-041-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Example: For "http://www.example.com/shop/checkout?order=desc&page=1" current_page?('http://www.example.com/shop/checkout') => true current_page?( 'http://www.example.com/shop/checkout', check_parameters: true ) => false
* | Fix typo s/permited/permitted/Ryuta Kamizono2017-01-041-2/+2
| | | | | | | | | | | | | | | | | | ``` % git grep -n permited actionview/test/template/url_helper_test.rb:238: def test_button_to_with_permited_strong_params actionview/test/template/url_helper_test.rb:245: def test_button_to_with_unpermited_strong_params activerecord/test/cases/relations_test.rb:1620: def test_update_on_relation_passing_active_record_object_is_not_permited ```
* | Generate indexed names in input even when objects are not persistedRafael Mendonça França2017-01-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When you ask to generate multiple nested inputs using: field_for('comments[]', Comment.new) do |c| c.text_field :body Rails should generated the names like `post[comments][][body]`. To make sure we don't have regression the fake models now use the same implementation of `#to_param` as `ActiveRecord::Base` Fixes #26942
* | Prevent duplicate data-disable-with attributesTyler Hunt2017-01-031-0/+7
|/ | | | | | When using the hash form of the data option, prevent duplicate data-disable-with attributes from appearing in the submit tag due to both string and symbol forms of the hash key being present.
* Merge pull request #27463 from y-yagi/fix_26931Rafael França2016-12-281-1/+3
|\ | | | | do not mutate `object_name` of class in `fields_for`
| * do not mutate `object_name` of class in `fields_for`yuuji.yaginuma2016-12-271-1/+3
| | | | | | | | | | | | Since it affects the entire form, should not mutate `object_name` of class. Fixes #26931
* | Fix Rubocop violations and fix documentation visibilityRafael Mendonça França2016-12-285-25/+24
|/ | | | | | Some methods were added to public API in 5b14129d8d4ad302b4e11df6bd5c7891b75f393c and they should be not part of the public API.
* assert_equal takes expectation firstAkira Matsuda2016-12-261-5/+5
|
* "Use assert_nil if expecting nil. This will fail in minitest 6."Akira Matsuda2016-12-254-16/+16
|
* 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