aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/test/template
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #33975 from JuanitoFatas/jf.fix-test-nameRafael França2018-09-251-1/+1
|\ | | | | [CaptureHelperTest] Fix a content_for test description
| * Fix a content_for test descriptionJuanito Fatas2018-09-251-1/+1
| |
* | Fix more offencesRafael Mendonça França2018-09-251-1/+1
| |
* | Change the empty block style to have space inside of the blockRafael Mendonça França2018-09-255-18/+18
| |
* | Merge pull request #33973 from rails/remove-catch-allAaron Patterson2018-09-256-21/+58
|\ \ | | | | | | Remove deprecated catch-all route in the AV tests
| * | make bot happyAaron Patterson2018-09-241-1/+1
| | |
| * | Remove deprecated catch-all route in the AV testsAaron Patterson2018-09-246-21/+58
| |/ | | | | | | | | | | | | | | 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 #33949 from sjain1107/no-private-defKasper Timm Hansen2018-09-231-6/+8
|\ \ | | | | | | Remove private def
| * | Remove private defSakshi Jain2018-09-231-6/+8
| | |
* | | Enable `Performance/UnfreezeString` copyuuji.yaginuma2018-09-239-206/+206
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Ruby 2.3 or later, `String#+@` is available and `+@` is faster than `dup`. ```ruby # frozen_string_literal: true require "bundler/inline" gemfile(true) do source "https://rubygems.org" gem "benchmark-ips" end Benchmark.ips do |x| x.report('+@') { +"" } x.report('dup') { "".dup } x.compare! end ``` ``` $ ruby -v benchmark.rb ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux] Warming up -------------------------------------- +@ 282.289k i/100ms dup 187.638k i/100ms Calculating ------------------------------------- +@ 6.775M (± 3.6%) i/s - 33.875M in 5.006253s dup 3.320M (± 2.2%) i/s - 16.700M in 5.032125s Comparison: +@: 6775299.3 i/s dup: 3320400.7 i/s - 2.04x slower ```
* | Merge pull request #33564 from avit/escape_javascript_castingRafael França2018-09-211-0/+4
|\ \ | |/ |/| Let escape_javascript handle conversion to string
| * Let escape_javascript handle conversion to stringAndrew Vit2018-09-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | This brings `escape_javascript` in line with the behavior of `json_escape` and allows other value types to be output without needing explicit casting in the view template. Example: <%= javascript_tag do %> var locale = '<%== j I18n.locale %>'; // locale is a symbol <% end %>
* | Don’t allocate array on no argsschneems2018-09-071-1/+1
| | | | | | | | | | | | | | | | | | | | When no dependencies are present to be digested there is no reason to build an array just to turn around and turn it back into a string. The dependencies array is not mutated in this method so we can use the same empty array across all invocations. Total allocated: 791402 bytes (7294 objects) Total allocated: 777442 bytes (7132 objects) (791402 - 777442) / 791402.0 # => 1.76 % speed improvement
* | Merge pull request #33547 from Ana06/patch-1Matthew Draper2018-08-231-1/+14
|\ \ | | | | | | | | | Use public_send in value_for_collection
| * | Add tests for privates methods in view's helpersAna María Martínez Gómez2018-08-081-1/+14
| |/ | | | | | | | | | | | | | | Test that using private methods in `options_from_collection_for_select` is deprecated. Make the unused `secret` paramether in the `Post` Struct private to use it in the test.
* / Enable Style/ParenthesesAroundCondition copRyuta Kamizono2018-08-191-1/+1
|/ | | | To prevent style check in review like https://github.com/rails/rails/pull/33608#discussion_r211087605.
* Turn on performance based copsDillon Welch2018-07-232-2/+4
| | | | | | | | | | | | | | | | Use attr_reader/attr_writer instead of methods method is 12% slower Use flat_map over map.flatten(1) flatten is 66% slower Use hash[]= instead of hash.merge! with single arguments merge! is 166% slower See https://github.com/rails/rails/pull/32337 for more conversation
* Fix leaking special form_with attributes into html attributesYurii Cherniavskyi2018-07-201-0/+17
| | | | | Special form_with attributes `skip_default_ids` and `allow_method_names_outside_object` attributes are leaking into html attributes of option select tag helpers.
* Fix issue with `button_to`'s `to_form_params`Georgi Georgiev2018-07-161-1/+8
| | | | | | | | | `button_to` was throwing exception when invoked with `params` hash that contains symbol and string keys. The reason for the exception was that `to_form_params` was comparing the given symbol and string keys. The issue is fixed by turning all keys to strings inside `to_form_params` before comparing them.
* Merge pull request #32361 from ph3t/safe-html-translation-arraysKasper Timm Hansen2018-07-031-2/+5
|\ | | | | Add safe html support to arrays of translations
| * Add safe html support to arrays of translationsJuan Broullon2018-07-031-2/+5
| |
* | Add `year_format` option to date_select tag. This option makes it possible ↵Koki Ryu2018-06-101-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to customize year names. Lambda should be passed to use this option. Example: date_select('user_birthday', '', start_year: 1998, end_year: 2000, year_format: ->year { "Heisei #{year - 1988}" }) The HTML produced: <select id="user_birthday__1i" name="user_birthday[(1i)]"> <option value="1998">Heisei 10</option> <option value="1999">Heisei 11</option> <option value="2000">Heisei 12</option> </select> /* The rest is omitted */
* | Remove unnecessary `with_default_enforce_utf8` methodyuuji.yaginuma2018-05-281-9/+0
| | | | | | | | | | Because the same method is defined in `FormWithTest` of the parent class. https://github.com/rails/rails/blob/fe9547b6fb60d92af181c8613166fa4322f8e307/actionview/test/template/form_helper/form_with_test.rb#L19..L26
* | Fix `CustomCops/AssertNot` to allow it to have failure messageRyuta Kamizono2018-05-131-2/+2
| | | | | | | | Follow up of #32605.
* | Replace `assert !` with `assert_not`Daniel Colson2018-04-194-21/+21
| | | | | | | | | | This autocorrects the violations after adding a custom cop in 3305c78dcd.
* | Add the `nonce: true` option for `javascript_include_tag` helper.Yaroslav Markin2018-04-171-0/+8
| |
* | Remove RecordTagHelperYoshiyuki Hirano2018-04-071-33/+0
|/ | | | | | | * Since #18411, we started to inform about extracted gem (record_tag_helper) to developers who use `ActionView::Helpers::RecordTagHelper` 's methods. * Currently, it seems no problem that we don't have to support no longer.
* Fix digesting templates with mixed formatsJavan Makhmali2018-03-201-0/+12
|
* Fix occurrences Fixnum|Bignumbogdanvlviv2018-03-041-3/+3
| | | | Related to https://github.com/rails/rails/commit/d4eb0dc89ee6b476e2e10869dc282a96f956c6c7#r27830891
* Let select render default selected option for required fieldSerj Prikhodko2018-02-271-0/+10
|
* Don't enforce UTF-8 by defaultAndrew White2018-02-273-0/+129
| | | | | | With the disabling of TLS 1.0 by most major websites, continuing to run IE8 or lower becomes increasingly difficult so default to not enforcing UTF-8 encoding as it's not relevant to other browsers.
* Change translation key of submit_tag from module_name_class_name to ↵Rui Onodera2018-02-272-2/+38
| | | | | | | | | | module_name/class_name Currently submit_tag value translation does not support i18n key style locale key. It confuses me a bit because many other components support i18n key style locale key. I added i18n key style locale key support to submit tag.
* Rails 6 requires Ruby 2.4.1+Jeremy Daer2018-02-171-4/+2
| | | | | | Skipping over 2.4.0 to sidestep the `"symbol_from_string".to_sym.dup` bug. References #32028
* Use assert_predicate and assert_not_predicateDaniel Colson2018-01-2517-89/+89
|
* Merge pull request #31578 from ↵George Claghorn2017-12-291-0/+16
|\ | | | | | | | | Aquaj/feature/allow-callables-in-select-group-methods Allow the use of callable objects as group methods for grouped selects.
| * Allow the use of callable objects as group methods for grouped selects.Jérémie Bonal2017-12-271-0/+16
| | | | | | | | | | | | Replaced the uses of `group.send(...)` in `option_groups_from_collection_for_select` by calls to `value_for_collection(group, ...)`, allowing the use of procs, lambdas and other callable objects as parameters.
* | Suppress `warning: BigDecimal.new is deprecated`Yasuo Honda2017-12-152-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `BigDecimal.new` has been deprecated in BigDecimal 1.3.3 which will be a default for Ruby 2.5. Refer https://github.com/ruby/bigdecimal/commit/533737338db915b00dc7168c3602e4b462b23503 * This commit has been made as follows: ``` cd rails git grep -l BigDecimal.new | grep -v guides/source/5_0_release_notes.md | grep -v activesupport/test/xml_mini_test.rb | xargs sed -i -e "s/BigDecimal.new/BigDecimal/g" ``` - `activesupport/test/xml_mini_test.rb` Editmanually to remove `.new` and `::` - guides/source/5_0_release_notes.md This is a Rails 5.0 release notes.
* | Enable `Layout/LeadingCommentSpace` to not allow cosmetic changes in the futureRyuta Kamizono2017-12-141-1/+1
| | | | | | | | Follow up of #31432.
* | Enable `Layout/SpaceBeforeComma` rubocop rule, and fixed moreRyuta Kamizono2017-12-123-5/+5
| | | | | | | | Follow up of #31390.
* | Merge pull request #30361 from mfo/masterEileen M. Uchitelle2017-12-111-1/+20
|\ \ | |/ |/| StreamingTemplateRenderer fails to forward I18n.locale in layouts
| * fix(streaming_template_renderer): I18n.locale broken in layout. I18n gem ↵mfo2017-11-251-1/+20
| | | | | | | | stores the current locale in Thread.current[:local] (see: https://github.com/svenfuchs/i18n/blob/master/lib/i18n.rb#L23). StreamingTemplateRenderer is implemented with Fiber which have its own stack of locals and can not access Thread.current.locals(keys, see: https://ruby-doc.org/core-2.2.0/Thread.html#class-Thread-label-Fiber-local+vs.+Thread-local).
* | Add preload_link_tag helper.Guillermo Iguaran2017-11-281-0/+15
| | | | | | | | | | | | | | | | | | | | | | This helper creates a link tag with preload keyword that allows to browser to initiate early fetch of resources. Additionally this send Early Hints if supported. See https://github.com/rails/rails/pull/30744/commits/59a02fb7bcbe68f26e1e7fdcec45c00c66e4a065 for more details about Early Hints. Preload spec: https://w3c.github.io/preload/
* | Make sure the request exist befoe trying to send early hintsRafael Mendonça França2017-11-281-0/+30
| | | | | | | | | | | | | | Action Mailer context for example responds to request but don't have a a request object. Fixes #31265
* | Make form_with_generates_ids default value to be falseRafael Mendonça França2017-11-271-0/+9
| | | | | | | | | | This will keep the behavior of an application with the defaults of a 4.2 or 5.0 application behaving the same when upgrading to 5.2.
* | Enable `Style/DefWithParentheses` rubocop ruleRyuta Kamizono2017-11-272-2/+2
|/ | | | | | | The def with blank `()` was newly added in #31176, but we have not used the blank `()` style in most part of our code base. So I've enabled `Style/DefWithParentheses` to prevent to newly added the code.
* Add test to make sure form_for is not affected byRafael Mendonça França2017-11-251-0/+32
| | | | form_with_generates_ids
* Change `form_with` to generates ids by defaultnpezza932017-11-251-190/+218
| | | | | | | | | | When `form_with` was introduced we disabled the automatic generation of ids that was enabled in `form_for`. This usually is not an good idea since labels don't work when the input doesn't have an id and it made harder to test with Capybara. You can still disable the automatic generation of ids setting `config.action_view.form_with_generates_ids` to `false.`
* Fix field_error_proc wrap form select optgroup and divider option tagneumayr2017-11-092-1/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | ### Summary The [`:field_error_proc`](https://github.com/rails/rails/blob/master/actionview/lib/action_view/base.rb#L145) is responsible for decorating input tags that refer to attributes with errors. This default build-in rails feature wrap invalid form elements with additional markup: `<div class="field_with_errors">[…]</div>`. * Fix for `field_error_proc` wraps form select `optgroup` * Fix for `field_error_proc` wraps form select divider `option` * Add tests for uncovered elements with errors [Fixes #31088] #### Test coverage * `test_select_grouped_options_with_errors` * `test_time_zone_select_with_priority_zones_and_errors` #### Extend test coverage * `test_collection_select_with_errors` * `test_label_with_errors` * `test_check_box_with_errors` * `test_check_boxes_with_errors` * `test_radio_button_with_errors` * `test_radio_buttons_with_errors` * `test_collection_check_boxes_with_errors` * `test_collection_radio_buttons_with_errors`
* Fix "warning: instance variable @defined_root not initialized"yuuji.yaginuma2017-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | | Currently, the following error is shows only when run the test using `bin/test`. ``` ./bin/test -w test/template/log_subscriber_test.rb Run options: --seed 17167 # Running: /rails/actionview/test/template/log_subscriber_test.rb:34: warning: instance variable @defined_root not initialized ``` In `AVLogSubscriberTest`, if the `Rails.root` is not defined, define the method and undef it in teardown. https://github.com/rails/rails/blob/master/actionview/test/template/log_subscriber_test.rb#L21..L33 However, in `bin/test`, `Rails.root` is defined, which results in referring to uninitialized variables and warnings.
* Remove deprecated Erubis ERB handlerRafael Mendonça França2017-10-231-15/+0
|