diff options
Diffstat (limited to 'actionview')
-rw-r--r-- | actionview/lib/action_view/helpers/form_options_helper.rb | 4 | ||||
-rw-r--r-- | actionview/lib/action_view/helpers/text_helper.rb | 2 | ||||
-rw-r--r-- | actionview/lib/action_view/helpers/url_helper.rb | 4 | ||||
-rw-r--r-- | actionview/lib/action_view/layouts.rb | 2 | ||||
-rw-r--r-- | actionview/lib/action_view/lookup_context.rb | 2 | ||||
-rw-r--r-- | actionview/test/activerecord/relation_cache_test.rb | 17 | ||||
-rw-r--r-- | actionview/test/template/form_options_helper_test.rb | 2 | ||||
-rw-r--r-- | actionview/test/template/output_safety_helper_test.rb | 8 | ||||
-rw-r--r-- | actionview/test/template/url_helper_test.rb | 16 | ||||
-rw-r--r-- | actionview/test/ujs/public/test/data-remote.js | 2 |
10 files changed, 40 insertions, 19 deletions
diff --git a/actionview/lib/action_view/helpers/form_options_helper.rb b/actionview/lib/action_view/helpers/form_options_helper.rb index ad19426fff..cf8f7de931 100644 --- a/actionview/lib/action_view/helpers/form_options_helper.rb +++ b/actionview/lib/action_view/helpers/form_options_helper.rb @@ -569,7 +569,7 @@ module ActionView # be obtained in Active Record as a value object). The +model+ parameter # must respond to +all+ and return an array of objects that represent time # zones; each object must respond to +name+. If a Regexp is given it will - # attempt to match the zones using the <code>=~<code> operator. + # attempt to match the zones using <code>match?</code> method. # # NOTE: Only the option tags are returned, you have to wrap this call in # a regular HTML select tag. @@ -581,7 +581,7 @@ module ActionView if priority_zones if priority_zones.is_a?(Regexp) - priority_zones = zones.select { |z| z =~ priority_zones } + priority_zones = zones.select { |z| z.match?(priority_zones) } end zone_options.safe_concat options_for_select(convert_zones[priority_zones], selected) diff --git a/actionview/lib/action_view/helpers/text_helper.rb b/actionview/lib/action_view/helpers/text_helper.rb index 8203a43239..980a89a7b6 100644 --- a/actionview/lib/action_view/helpers/text_helper.rb +++ b/actionview/lib/action_view/helpers/text_helper.rb @@ -228,7 +228,7 @@ module ActionView # pluralize(2, 'Person', locale: :de) # # => 2 Personen def pluralize(count, singular, plural_arg = nil, plural: plural_arg, locale: I18n.locale) - word = if count == 1 || count.to_s =~ /^1(\.0+)?$/ + word = if count == 1 || count.to_s.match?(/^1(\.0+)?$/) singular else plural || singular.pluralize(locale) diff --git a/actionview/lib/action_view/helpers/url_helper.rb b/actionview/lib/action_view/helpers/url_helper.rb index 9b4116834e..1b05d4aa71 100644 --- a/actionview/lib/action_view/helpers/url_helper.rb +++ b/actionview/lib/action_view/helpers/url_helper.rb @@ -627,7 +627,7 @@ module ActionView # is prepopulated with the passed phone number and optional # +country_code+ value. # - # +phone_to+ has a optional +country_code+ option which automatically adds the country + # +phone_to+ has an optional +country_code+ option which automatically adds the country # code as well as the + sign in the phone numer that gets prepopulated, # for example if +country_code: "01"+ +\+01+ will be prepended to the # phone numer, by passing special keys to +html_options+. @@ -689,7 +689,7 @@ module ActionView end def add_method_to_attributes!(html_options, method) - if method_not_get_method?(method) && html_options["rel"] !~ /nofollow/ + if method_not_get_method?(method) && !html_options["rel"]&.match?(/nofollow/) if html_options["rel"].blank? html_options["rel"] = "nofollow" else diff --git a/actionview/lib/action_view/layouts.rb b/actionview/lib/action_view/layouts.rb index be21ff0e5d..74e8e80e07 100644 --- a/actionview/lib/action_view/layouts.rb +++ b/actionview/lib/action_view/layouts.rb @@ -395,7 +395,7 @@ module ActionView end def _normalize_layout(value) - value.is_a?(String) && value !~ /\blayouts/ ? "layouts/#{value}" : value + value.is_a?(String) && !value.match?(/\blayouts/) ? "layouts/#{value}" : value end # Returns the default layout for this controller. diff --git a/actionview/lib/action_view/lookup_context.rb b/actionview/lib/action_view/lookup_context.rb index 211fbc8e6c..f050d54e27 100644 --- a/actionview/lib/action_view/lookup_context.rb +++ b/actionview/lib/action_view/lookup_context.rb @@ -29,7 +29,7 @@ module ActionView Accessors.define_method(:"default_#{name}", &block) Accessors.module_eval <<-METHOD, __FILE__, __LINE__ + 1 def #{name} - @details.fetch(:#{name}, []) + @details[:#{name}] || [] end def #{name}=(value) diff --git a/actionview/test/activerecord/relation_cache_test.rb b/actionview/test/activerecord/relation_cache_test.rb index 6fe83dcb9a..26f3bfbcbc 100644 --- a/actionview/test/activerecord/relation_cache_test.rb +++ b/actionview/test/activerecord/relation_cache_test.rb @@ -17,9 +17,24 @@ class RelationCacheTest < ActionView::TestCase end def test_cache_relation_other - cache(Project.all) { concat("Hello World") } + assert_queries(1) do + cache(Project.all) { concat("Hello World") } + end assert_equal "Hello World", controller.cache_store.read("views/test/hello_world:fa9482a68ce25bf7589b8eddad72f736/projects-#{Project.count}") end def view_cache_dependencies; []; end + + def assert_queries(num) + ActiveRecord::Base.connection.materialize_transactions + count = 0 + + ActiveSupport::Notifications.subscribe("sql.active_record") do |_name, _start, _finish, _id, payload| + count += 1 unless ["SCHEMA", "TRANSACTION"].include? payload[:name] + end + + result = yield + assert_equal num, count, "#{count} instead of #{num} queries were executed." + result + end end diff --git a/actionview/test/template/form_options_helper_test.rb b/actionview/test/template/form_options_helper_test.rb index d7a7b95ab3..273646b077 100644 --- a/actionview/test/template/form_options_helper_test.rb +++ b/actionview/test/template/form_options_helper_test.rb @@ -47,6 +47,7 @@ class FormOptionsHelperTest < ActionView::TestCase FakeZone = Struct.new(:name) do def to_s; name; end def =~(_re); end + def match?(_re); end end module ClassMethods @@ -1266,6 +1267,7 @@ class FormOptionsHelperTest < ActionView::TestCase @fake_timezones.each do |tz| def tz.=~(re); %(A D).include?(name) end + def tz.match?(re); %(A D).include?(name) end end html = time_zone_select("firm", "time_zone", /A|D/) diff --git a/actionview/test/template/output_safety_helper_test.rb b/actionview/test/template/output_safety_helper_test.rb index faeeded1c8..b2c6ae99ed 100644 --- a/actionview/test/template/output_safety_helper_test.rb +++ b/actionview/test/template/output_safety_helper_test.rb @@ -43,7 +43,9 @@ class OutputSafetyHelperTest < ActionView::TestCase joined = safe_join(["a", "b"]) assert_equal "ab", joined - $, = "|" + silence_warnings do + $, = "|" + end joined = safe_join(["a", "b"]) assert_equal "a|b", joined ensure @@ -108,7 +110,9 @@ class OutputSafetyHelperTest < ActionView::TestCase test "to_sentence is not affected by $," do separator_was = $, - $, = "|" + silence_warnings do + $, = "|" + end begin assert_equal "one and two", to_sentence(["one", "two"]) assert_equal "one, two, and three", to_sentence(["one", "two", "three"]) diff --git a/actionview/test/template/url_helper_test.rb b/actionview/test/template/url_helper_test.rb index 08413a65c8..ba5ae837f1 100644 --- a/actionview/test/template/url_helper_test.rb +++ b/actionview/test/template/url_helper_test.rb @@ -657,7 +657,7 @@ class UrlHelperTest < ActiveSupport::TestCase ) end - def test_mail_with_options + def test_mail_to_with_options assert_dom_equal( %{<a href="mailto:me@example.com?cc=ccaddress%40example.com&bcc=bccaddress%40example.com&body=This%20is%20the%20body%20of%20the%20message.&subject=This%20is%20an%20example%20email&reply-to=foo%40bar.com">My email</a>}, mail_to("me@example.com", "My email", cc: "ccaddress@example.com", bcc: "bccaddress@example.com", subject: "This is an example email", body: "This is the body of the message.", reply_to: "foo@bar.com") @@ -795,40 +795,40 @@ class UrlHelperTest < ActiveSupport::TestCase ) end - def test_phone_with_img + def test_phone_to_with_img assert_dom_equal %{<a href="tel:1234567890"><img src="/feedback.png" /></a>}, phone_to("1234567890", raw('<img src="/feedback.png" />')) end - def test_phone_with_html_safe_string + def test_phone_to_with_html_safe_string assert_dom_equal( %{<a href="tel:1%2B234567890">1+234567890</a>}, phone_to(raw("1+234567890")) ) end - def test_phone_with_nil + def test_phone_to_with_nil assert_dom_equal( %{<a href="tel:"></a>}, phone_to(nil) ) end - def test_phone_returns_html_safe_string + def test_phone_to_returns_html_safe_string assert_predicate phone_to("1234567890"), :html_safe? end - def test_phone_with_block + def test_phone_to_with_block assert_dom_equal %{<a href="tel:1234567890"><span>Phone</span></a>}, phone_to("1234567890") { content_tag(:span, "Phone") } end - def test_phone_with_block_and_options + def test_phone_to_with_block_and_options assert_dom_equal %{<a class="special" href="tel:+011234567890"><span>Phone</span></a>}, phone_to("1234567890", country_code: "01", class: "special") { content_tag(:span, "Phone") } end - def test_phone_does_not_modify_html_options_hash + def test_phone_to_does_not_modify_html_options_hash options = { class: "special" } phone_to "1234567890", "ME!", options assert_equal({ class: "special" }, options) diff --git a/actionview/test/ujs/public/test/data-remote.js b/actionview/test/ujs/public/test/data-remote.js index dbbb383995..f95a57f795 100644 --- a/actionview/test/ujs/public/test/data-remote.js +++ b/actionview/test/ujs/public/test/data-remote.js @@ -490,7 +490,7 @@ asyncTest('changing a select option without "data-url" attribute still fires aja setTimeout(function() { start() }, 20) }) -asyncTest('inputs inside disabled fieldset are not submited on remote forms', 3, function() { +asyncTest('inputs inside disabled fieldset are not submitted on remote forms', 3, function() { $('form') .append('<fieldset>\ <input name="description" value="A wise man" />\ |