aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/test
Commit message (Collapse)AuthorAgeFilesLines
* Add allocations to template renderer subscriptionEileen Uchitelle2018-10-102-7/+7
| | | | | | | | | | | | | | | | | | | | | | | This PR adds the allocations to the instrumentation for template and partial rendering. Before: ``` Rendering posts/new.html.erb within layouts/application Rendered posts/_form.html.erb (9.7ms) Rendered posts/new.html.erb within layouts/application (10.9ms) Completed 200 OK in 902ms (Views: 890.8ms | ActiveRecord: 0.8ms) ``` After: ``` Rendering posts/new.html.erb within layouts/application Rendered posts/_form.html.erb (Duration: 7.1ms | Allocations: 6004) Rendered posts/new.html.erb within layouts/application (Duration: 8.3ms | Allocations: 6654) Completed 200 OK in 858ms (Views: 848.4ms | ActiveRecord: 0.4ms | Allocations: 1539564) ```
* Merge pull request #33324 from ↵Ryuta Kamizono2018-10-081-0/+9
|\ | | | | | | | | Jcambass/fix-only-path-option-in-url-for-with-arrays respect only_path option when an array is passed into url_for
| * respect path_only option when an array is passed into url_forJoel Ambass2018-10-011-0/+9
| | | | | | | | | | | | | | | | The url_for method is now extracting the path_only option in order to determine if polymorphic_path or polymorphic_url should be called. If the path_only option is not set it will be set to true unless the host option is set. This behaviour is the same as when a Hash or Params object is passed. To support this unifying the code responsible for setting this default value has been extracted into a private method
* | Merge pull request #32031 from yahonda/remove_redundant_freezeRyuta Kamizono2018-10-011-2/+2
|\ \ | | | | | | Add `Style/RedundantFreeze` to remove redudant `.freeze`
| * | Add `Style/RedundantFreeze` to remove redudant `.freeze`Yasuo Honda2018-09-291-2/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Rails 6.0 will support Ruby 2.4.1 or higher `# frozen_string_literal: true` magic comment is enough to make string object frozen. This magic comment is enabled by `Style/FrozenStringLiteralComment` cop. * Exclude these files not to auto correct false positive `Regexp#freeze` - 'actionpack/lib/action_dispatch/journey/router/utils.rb' - 'activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb' It has been fixed by https://github.com/rubocop-hq/rubocop/pull/6333 Once the newer version of RuboCop released and available at Code Climate these exclude entries should be removed. * Replace `String#freeze` with `String#-@` manually if explicit frozen string objects are required - 'actionpack/test/controller/test_case_test.rb' - 'activemodel/test/cases/type/string_test.rb' - 'activesupport/lib/active_support/core_ext/string/strip.rb' - 'activesupport/test/core_ext/string_ext_test.rb' - 'railties/test/generators/actions_test.rb'
* / make actionview templates marshalable so that they can be serialized during ↵lsylvester2018-09-301-0/+7
|/ | | | the parallel tests (#34030)
* Do not enable disabled elements for XHR redirectsPatrik Bóna2018-09-273-1/+27
| | | | Fixes #29473.
* 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-253-3/+3
| |
* | Change the empty block style to have space inside of the blockRafael Mendonça França2018-09-256-19/+19
| |
* | Merge pull request #33973 from rails/remove-catch-allAaron Patterson2018-09-2517-78/+290
|\ \ | | | | | | Remove deprecated catch-all route in the AV tests
| * | make bot happyAaron Patterson2018-09-244-9/+9
| | |
| * | Remove deprecated catch-all route in the AV testsAaron Patterson2018-09-2417-78/+290
| |/ | | | | | | | | | | | | | | 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-232-14/+18
|\ \ | | | | | | Remove private def
| * | Remove private defSakshi Jain2018-09-232-14/+18
| | |
* | | Enable `Performance/UnfreezeString` copyuuji.yaginuma2018-09-2311-209/+209
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-072-2/+2
| | | | | | | | | | | | | | | | | | | | 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.
* | 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
| | |
* | | Merge pull request #32574 from DmytroVasin/rails-ujs-stoppable-eventsRafael França2018-04-198-60/+67
|\ \ \ | | | | | | | | Rails-ujs: Info about stoppable events
| * | | Fix stoppable events in tests and docs.Dmytro Vasin2018-04-148-60/+67
| | | |
* | | | 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.
* | | Merge pull request #32404 from mathieumahe/masterGuillermo Iguaran2018-04-021-0/+26
|\ \ \ | | | | | | | | Extract the confirm call in its own, overridable method in rails_ujs
| * | | Extract the confirm call in its own, overridable method in rails_ujsMathieu2018-04-011-0/+26
| | |/ | |/|
* | | Fix typo in rails-ujs HTML content testRaymond Zhou2018-04-011-1/+1
| | | | | | | | | | | | `</ps>` is not a valid closing tag for `<p>`.
* | | Merge pull request #32287 from razh/fix-rails-ujs-html-contentKasper Timm Hansen2018-04-011-0/+11
|\ \ \ | |/ / |/| | Pass HTML responses as plain-text in rails-ujs
| * | Pass HTML responses as plain-text in rails-ujsRaymond Zhou2018-03-191-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running HTML responses through `DOMParser#parseFromString` results in complete `HTMLDocument` instances with unnecessary surrounding tags. For example: new DOMParser().parseFromString('<p>hello</p>', 'text/html') Will output: <html> <head></head> <body> <p>hello</p> </body> </html> This is passed to the `ajax:success` handler as `event.detail[0]` (`data`), but cannot be used directly without first traversing the document. To resolve this, only XML content is passed through `parseFromString`, while HTML content is treated as plain-text. This matches the behavior of jquery-ujs, which relied on jQuery's response-type inference.
* | | Fix digesting templates with mixed formatsJavan Makhmali2018-03-202-0/+13
|/ /
* | Only preload misses on multifetch cacheLachlan Sylvester2018-03-061-0/+35
| |
* | Merge pull request #32165 from bogdanvlviv/fix-occurrences-Fixnum-BignumRyuta Kamizono2018-03-051-3/+3
|\ \ | | | | | | Fix occurrences Fixnum|Bignum
| * | Fix occurrences Fixnum|Bignumbogdanvlviv2018-03-041-3/+3
| | | | | | | | | | | | Related to https://github.com/rails/rails/commit/d4eb0dc89ee6b476e2e10869dc282a96f956c6c7#r27830891
* | | 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`
* | 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.