aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/test
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate implicit coercion of `ActiveSupport::Duration`Andrew White2017-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently `ActiveSupport::Duration` implicitly converts to a seconds value when used in a calculation except for the explicit examples of addition and subtraction where the duration is the receiver, e.g: >> 2 * 1.day => 172800 This results in lots of confusion especially when using durations with dates because adding/subtracting a value from a date treats integers as a day and not a second, e.g: >> Date.today => Wed, 01 Mar 2017 >> Date.today + 2 * 1.day => Mon, 10 Apr 2490 To fix this we're implementing `coerce` so that we can provide a deprecation warning with the intent of removing the implicit coercion in Rails 5.2, e.g: >> 2 * 1.day DEPRECATION WARNING: Implicit coercion of ActiveSupport::Duration to a Numeric is deprecated and will raise a TypeError in Rails 5.2. => 172800 In Rails 5.2 it will raise `TypeError`, e.g: >> 2 * 1.day TypeError: ActiveSupport::Duration can't be coerced into Integer This is the same behavior as with other types in Ruby, e.g: >> 2 * "foo" TypeError: String can't be coerced into Integer >> "foo" * 2 => "foofoo" As part of this deprecation add `*` and `/` methods to `AS::Duration` so that calculations that keep the duration as the receiver work correctly whether the final receiver is a `Date` or `Time`, e.g: >> Date.today => Wed, 01 Mar 2017 >> Date.today + 1.day * 2 => Fri, 03 Mar 2017 Fixes #27457.
* Remove `encode_special_chars` option from `strip_tags`Andrew Hood2017-02-271-0/+2
|
* Test rails-ujs in our travis matrixRafael Mendonça França2017-02-224-68/+7
|
* Import rails-ujs v0.1.0 from rails/rails-ujsGuillermo Iguaran2017-02-206-204/+23
|
* Set correct "routes" in tests casesbogdanvlviv2017-02-202-4/+4
|
* Add assertion to polymorphic_routes_test.rbbogdanvlviv2017-02-201-2/+1
| | | | | | | | | | | | | | | | The assertion will ensure that the behavior doesn't regress. assert_equal "/projects", polymorphic_path("projects") Remove FIXME related to polymorphic_url behavior. polymorphic_url with Symbol or String works equally. Example: default_url_options[:host] = "example.com" polymorphic_url(:projects) # => "http://example.com/projects" polymorphic_url("projects") # => "http://example.com/projects" Related to 37d4415a7b433fcb987b1c6a5b51bf2d8efc5d5e
* Add `Style/EmptyLinesAroundMethodBody` in `.rubocop.yml` and remove extra ↵Ryuta Kamizono2017-02-122-2/+0
| | | | empty lines
* Merge pull request #27870 from kenta-s/get-todo-done-in-render_testKasper Timm Hansen2017-02-111-2/+1
|\ | | | | Get TODO done in `render_test`
| * Add information on `:formats` option in action_view_overview.mdkenta-s2017-02-061-2/+1
| |
* | Correct spellingBenjamin Fleischer2017-02-051-1/+1
|/ | | | | | | ``` go get -u github.com/client9/misspell/cmd/misspell misspell -w -error -source=text . ```
* Fix CI failure caused by aa647b46cce55ec12f5895e403c0d1b85502c8e0Ryuta Kamizono2017-02-021-1/+1
|
* Fix test failures only seen when executed via bin/testAkira Matsuda2017-02-021-1/+1
| | | | | sub_template_message distracts Rails.root from its message only when Rails.root is defined, and Rails.root is defined at tools/test.rb
* module Blog; class Post appears twice in AV testsAkira Matsuda2017-02-021-3/+3
| | | | This causes TypeError when loaded separately
* DRY fake models for testingAkira Matsuda2017-02-022-37/+7
|
* Merge pull request #27795 from meagar/fix-missing-partial-iterationRafael França2017-01-313-0/+11
|\ | | | | Fix missing partial iteration
| * Merge branch 'master' into fix-missing-partial-iterationMatthew Eagar2017-01-261-1/+1
| |\
| * \ Merge branch 'master' into fix-missing-partial-iterationMatthew Eagar2017-01-253-2/+14
| |\ \
| * | | Add partial iteration variable to template keysMatthew Eagar2017-01-253-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When rendering heterogeneous collection using `render @collection` or `render partial: @collection`, the expected `<partial_name>_iteration` variable is missing due to `find_template` not having the name of the iteration variable included in its cache keys.
* | | | Merge pull request #27858 from mtsmfm/fix-inherit-from-deprecated-erubisRafael França2017-01-311-0/+2
|\ \ \ \ | | | | | | | | | | Fix inherit from deprecated `ActionView::Template::Handlers::Erubis`
| * | | | Fix inherit from deprecated `ActionView::Template::Handlers::Erubis`Fumiaki MATSUSHIMA2017-02-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are some classes inherit from `ActionView::Template::Handlers::Erubis`. (ex. https://github.com/haml/haml/blob/4.0.7/lib/haml/helpers/safe_erubis_template.rb#L3) ``` Class.new(ActionView::Template::Handlers::Erubis) # => TypeError: superclass must be a Class (ActiveSupport::Deprecation::DeprecatedConstantProxy given) ```
* | | | | Merge pull request #27758 from kenta-s/neglected-todo-in-render_testArthur Nogueira Neves2017-01-311-2/+1
|\ \ \ \ \ | |/ / / / |/| | | | Get neglected TODO done in render_test
| * | | | Get neglected TODO done in render_testkenta-s2017-01-241-2/+1
| |/ / /
* | | / Improve insufficient test for `safe_join`kenta-s2017-01-301-2/+13
| |_|/ |/| |
* | | s/an/a/Akira Matsuda2017-01-261-1/+1
| |/ |/| | | | | [ci skip]
* | Merge pull request #27796 from yui-knk/keep_separator_wasAndrew White2017-01-251-1/+2
|\ \ | | | | | | Keep the value of `$,` and restore it
| * | Keep the value of `$,` and restore ityui-knk2017-01-251-1/+2
| |/ | | | | | | | | | | As unit tests, we do not know the value of `$,` when this test case started. It' better to keep the value when the test case fnished.
* / Change ActionView ERB Handler from Erubis to ErubiJeremy Evans2017-01-252-1/+12
|/ | | | | | | | | | | | | | | | | | | | | | | Erubi offers the following advantages for Rails: * Works with ruby's --enable-frozen-string-literal option * Has 88% smaller memory footprint * Does no freedom patching (Erubis adds a method to Kernel) * Has simpler internals (1 file, <150 lines of code) * Has an open development model (Erubis doesn't have a public source control repository or bug tracker) * Is not dead (Erubis hasn't been updated since 2011) Erubi is a simplified fork of Erubis that contains just the parts that are generally needed (which includes the parts that Rails uses). The only intentional difference in behavior is that it does not include support for <%=== tags for debug output. That could be added to the ActionView ERB handler if it is desired. The Erubis template handler remains in a deprecated state so that code that accesses it directly does not break. It can be removed after Rails 5.1.
* Add missing tests for ActionView::Template::Textkenta-s2017-01-201-0/+16
|
* :warning: "Use assert_nil if expecting nil. This will fail in MT6."Akira Matsuda2017-01-181-1/+6
| | | | | | These are followups for 307065f959f2b34bdad16487bae906eb3bfeaf28, but TBH I'm personally not very much confortable with this style. Maybe we could override assert_equal in our test_helper not to warn?
* Merge pull request #27693 from kenta-s/improve-to_sentence-methodRafael França2017-01-181-0/+10
|\ | | | | Fix unexpected behavior of `to_sentence` with $,
| * Fix unexpected behavior of with $,kenta-s2017-01-151-0/+10
| |
* | Merge pull request #27688 from kenta-s/add-test-for-safe_joinRafael França2017-01-181-0/+5
|\ \ | | | | | | Add test for `safe_join`
| * | 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
|