From 89177ba2000d6f587364d7ed8f8bf7ecd92e17cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Mendon=C3=A7a=20Fran=C3=A7a?= Date: Wed, 1 Aug 2012 15:12:53 -0300 Subject: Revert "Deprecate `:confirm` in favor of `:data => { :confirm => 'Text' }` option" Revert "Deprecate `:disable_with` in favor of `'data-disable-with'` option for `button_to` and `submit_tag` helpers." This reverts commit fc092a9cba5fceec38358072e50e09250cf58840. This reverts commit e9051e20aeb2c666db06b6217954737665878db7. This reverts commit d47d6e7eda3aa3e6aa28d0c17ac6801234bb97d1. This reverts commit 21141e777bdce8534e3755c8de7268324b3d8714. --- actionpack/CHANGELOG.md | 10 +- .../lib/action_view/helpers/asset_tag_helper.rb | 2 +- .../lib/action_view/helpers/form_tag_helper.rb | 10 -- actionpack/lib/action_view/helpers/url_helper.rb | 26 ++--- actionpack/test/template/asset_tag_helper_test.rb | 16 +-- actionpack/test/template/form_tag_helper_test.rb | 77 +++------------ actionpack/test/template/url_helper_test.rb | 108 ++++++--------------- .../erb/scaffold/templates/index.html.erb | 2 +- 8 files changed, 63 insertions(+), 188 deletions(-) diff --git a/actionpack/CHANGELOG.md b/actionpack/CHANGELOG.md index 366d21f5c3..a7dcd8f8c8 100644 --- a/actionpack/CHANGELOG.md +++ b/actionpack/CHANGELOG.md @@ -27,10 +27,6 @@ CVE-2012-2694 -* Deprecate `:confirm` in favor of `':data => { :confirm => "Text" }'` option for `button_to`, `button_tag`, `image_submit_tag`, `link_to` and `submit_tag` helpers. - - *Carlos Galdino* - * Allow to use mounted_helpers (helpers for accessing mounted engines) in ActionView::TestCase. *Piotr Sarnacki* * Include mounted_helpers (helpers for accessing mounted engines) in ActionDispatch::IntegrationTest by default. *Piotr Sarnacki* @@ -45,11 +41,7 @@ * Deprecate old APIs for highlight, excerpt and word_wrap *Jeremy Walker* -* Deprecate `:disable_with` in favor of `'data-disable-with'` option for `button_to`, `button_tag` and `submit_tag` helpers. - - *Carlos Galdino + Rafael Mendonça França* - -* Deprecate `:mouseover` option for `image_tag` helper. *Rafael Mendonça França* +* Deprecate `:mouseover` options for `image_tag` helper. *Rafael Mendonça França* * Deprecate `button_to_function` and `link_to_function` helpers. *Rafael Mendonça França* diff --git a/actionpack/lib/action_view/helpers/asset_tag_helper.rb b/actionpack/lib/action_view/helpers/asset_tag_helper.rb index 51d5d586bf..88bc6a3728 100644 --- a/actionpack/lib/action_view/helpers/asset_tag_helper.rb +++ b/actionpack/lib/action_view/helpers/asset_tag_helper.rb @@ -367,7 +367,7 @@ module ActionView end if mouseover = options.delete(:mouseover) - ActiveSupport::Deprecation.warn ":mouseover option is deprecated and will be removed from Rails 4.0" + ActiveSupport::Deprecation.warn ":mouseover options is deprecated and will be removed from Rails 4.0" options[:onmouseover] = "this.src='#{path_to_image(mouseover)}'" options[:onmouseout] = "this.src='#{src}'" diff --git a/actionpack/lib/action_view/helpers/form_tag_helper.rb b/actionpack/lib/action_view/helpers/form_tag_helper.rb index ef278939d1..066b98d4a2 100644 --- a/actionpack/lib/action_view/helpers/form_tag_helper.rb +++ b/actionpack/lib/action_view/helpers/form_tag_helper.rb @@ -417,14 +417,10 @@ module ActionView options = options.stringify_keys if disable_with = options.delete("disable_with") - ActiveSupport::Deprecation.warn ":disable_with option is deprecated and will be removed from Rails 4.0. Use 'data-disable-with' instead" - options["data-disable-with"] = disable_with end if confirm = options.delete("confirm") - ActiveSupport::Deprecation.warn ":confirm option is deprecated and will be removed from Rails 4.0. Use ':data => { :confirm => \'Text\' }' instead" - options["data-confirm"] = confirm end @@ -471,14 +467,10 @@ module ActionView options = options.stringify_keys if disable_with = options.delete("disable_with") - ActiveSupport::Deprecation.warn ":disable_with option is deprecated and will be removed from Rails 4.0. Use 'data-disable-with' instead" - options["data-disable-with"] = disable_with end if confirm = options.delete("confirm") - ActiveSupport::Deprecation.warn ":confirm option is deprecated and will be removed from Rails 4.0. Use ':data => { :confirm => \'Text\' }' instead" - options["data-confirm"] = confirm end @@ -514,8 +506,6 @@ module ActionView options = options.stringify_keys if confirm = options.delete("confirm") - ActiveSupport::Deprecation.warn ":confirm option is deprecated and will be removed from Rails 4.0. Use ':data => { :confirm => \'Text\' }' instead" - options["data-confirm"] = confirm end diff --git a/actionpack/lib/action_view/helpers/url_helper.rb b/actionpack/lib/action_view/helpers/url_helper.rb index d044afa6e6..1f1cd3cee3 100644 --- a/actionpack/lib/action_view/helpers/url_helper.rb +++ b/actionpack/lib/action_view/helpers/url_helper.rb @@ -301,7 +301,7 @@ module ActionView # #
# # " # - # + # # <%= button_to "Delete Image", { :action => "delete", :id => @image.id }, # :confirm => "Are you sure?", :method => :delete %> # # => "
@@ -317,7 +317,7 @@ module ActionView # # => " # #
# # - # # + # # # #
# #
" # # @@ -333,9 +333,9 @@ module ActionView form_method = method.to_s == 'get' ? 'get' : 'post' form_options = html_options.delete('form') || {} form_options[:class] ||= html_options.delete('form_class') || 'button_to' - + remote = html_options.delete('remote') - + request_token_tag = '' if form_method == 'post' && protect_against_forgery? request_token_tag = tag(:input, :type => "hidden", :name => request_forgery_protection_token.to_s, :value => form_authenticity_token) @@ -350,7 +350,7 @@ module ActionView form_options.merge!(:method => form_method, :action => url) form_options.merge!("data-remote" => "true") if remote - + "#{tag(:form, form_options, true)}
#{method_tag}#{tag("input", html_options)}#{request_token_tag}
".html_safe end @@ -622,19 +622,9 @@ module ActionView confirm = html_options.delete('confirm') method = html_options.delete('method') - if disable_with - ActiveSupport::Deprecation.warn ":disable_with option is deprecated and will be removed from Rails 4.0. Use 'data-disable-with' instead" - - html_options["data-disable-with"] = disable_with - end - - if confirm - ActiveSupport::Deprecation.warn ":confirm option is deprecated and will be removed from Rails 4.0. Use ':data => { :confirm => \'Text\' }' instead" - - html_options["data-confirm"] = confirm - end - - add_method_to_attributes!(html_options, method) if method + html_options["data-disable-with"] = disable_with if disable_with + html_options["data-confirm"] = confirm if confirm + add_method_to_attributes!(html_options, method) if method html_options else diff --git a/actionpack/test/template/asset_tag_helper_test.rb b/actionpack/test/template/asset_tag_helper_test.rb index a9fa2298b7..b0c62f4911 100644 --- a/actionpack/test/template/asset_tag_helper_test.rb +++ b/actionpack/test/template/asset_tag_helper_test.rb @@ -442,14 +442,14 @@ class AssetTagHelperTest < ActionView::TestCase end def test_image_tag_with_mouseover - assert_deprecated ":mouseover option is deprecated and will be removed from Rails 4.0" do + assert_deprecated ":mouseover options is deprecated and will be removed from Rails 4.0" do assert_dom_equal( %(Mouse), image_tag("mouse.png", :mouseover => "/images/mouse_over.png") ) end - assert_deprecated ":mouseover option is deprecated and will be removed from Rails 4.0" do + assert_deprecated ":mouseover options is deprecated and will be removed from Rails 4.0" do assert_dom_equal( %(Mouse), image_tag("mouse.png", :mouseover => image_path("mouse_over.png")) @@ -1120,11 +1120,11 @@ class AssetTagHelperNonVhostTest < ActionView::TestCase assert_dom_equal(%(/collaboration/hieraki/stylesheets/style.css), stylesheet_path("style")) assert_dom_equal(%(/collaboration/hieraki/images/xml.png), image_path("xml.png")) - assert_deprecated ":mouseover option is deprecated and will be removed from Rails 4.0" do + assert_deprecated ":mouseover options is deprecated and will be removed from Rails 4.0" do assert_dom_equal(%(Mouse), image_tag("mouse.png", :mouseover => "/images/mouse_over.png")) end - assert_deprecated ":mouseover option is deprecated and will be removed from Rails 4.0" do + assert_deprecated ":mouseover options is deprecated and will be removed from Rails 4.0" do assert_dom_equal(%(Mouse2), image_tag("mouse2.png", :mouseover => image_path("mouse_over2.png"))) end end @@ -1140,11 +1140,11 @@ class AssetTagHelperNonVhostTest < ActionView::TestCase assert_dom_equal(%(gopher://assets.example.com/collaboration/hieraki/stylesheets/style.css), stylesheet_path("style")) assert_dom_equal(%(gopher://assets.example.com/collaboration/hieraki/images/xml.png), image_path("xml.png")) - assert_deprecated ":mouseover option is deprecated and will be removed from Rails 4.0" do + assert_deprecated ":mouseover options is deprecated and will be removed from Rails 4.0" do assert_dom_equal(%(Mouse), image_tag("mouse.png", :mouseover => "/images/mouse_over.png")) end - assert_deprecated ":mouseover option is deprecated and will be removed from Rails 4.0" do + assert_deprecated ":mouseover options is deprecated and will be removed from Rails 4.0" do assert_dom_equal(%(Mouse2), image_tag("mouse2.png", :mouseover => image_path("mouse_over2.png"))) end end @@ -1156,11 +1156,11 @@ class AssetTagHelperNonVhostTest < ActionView::TestCase assert_dom_equal(%(gopher://assets.example.com/collaboration/hieraki/stylesheets/style.css), stylesheet_path("style")) assert_dom_equal(%(gopher://assets.example.com/collaboration/hieraki/images/xml.png), image_path("xml.png")) - assert_deprecated ":mouseover option is deprecated and will be removed from Rails 4.0" do + assert_deprecated ":mouseover options is deprecated and will be removed from Rails 4.0" do assert_dom_equal(%(Mouse), image_tag("mouse.png", :mouseover => "/images/mouse_over.png")) end - assert_deprecated ":mouseover option is deprecated and will be removed from Rails 4.0" do + assert_deprecated ":mouseover options is deprecated and will be removed from Rails 4.0" do assert_dom_equal(%(Mouse2), image_tag("mouse2.png", :mouseover => image_path("mouse_over2.png"))) end end diff --git a/actionpack/test/template/form_tag_helper_test.rb b/actionpack/test/template/form_tag_helper_test.rb index c0f300884a..dcc6dd0411 100644 --- a/actionpack/test/template/form_tag_helper_test.rb +++ b/actionpack/test/template/form_tag_helper_test.rb @@ -367,46 +367,31 @@ class FormTagHelperTest < ActionView::TestCase end def test_submit_tag - assert_deprecated ":disable_with option is deprecated and will be removed from Rails 4.0. Use 'data-disable-with' instead" do - assert_dom_equal( - %(), - submit_tag("Save", :disable_with => "Saving...", :onclick => "alert('hello!')") - ) - end + assert_dom_equal( + %(), + submit_tag("Save", :disable_with => "Saving...", :onclick => "alert('hello!')") + ) end def test_submit_tag_with_no_onclick_options - assert_deprecated ":disable_with option is deprecated and will be removed from Rails 4.0. Use 'data-disable-with' instead" do - assert_dom_equal( - %(), - submit_tag("Save", :disable_with => "Saving...") - ) - end + assert_dom_equal( + %(), + submit_tag("Save", :disable_with => "Saving...") + ) end def test_submit_tag_with_confirmation - assert_deprecated ":confirm option is deprecated and will be removed from Rails 4.0. Use ':data => { :confirm => \'Text\' }' instead" do - assert_dom_equal( - %(), - submit_tag("Save", :confirm => "Are you sure?") - ) - end - end - - def test_submit_tag_with_confirmation_without_deprecation_warning assert_dom_equal( %(), - submit_tag("Save", :data => { :confirm => "Are you sure?" }) + submit_tag("Save", :confirm => "Are you sure?") ) end def test_submit_tag_with_confirmation_and_with_disable_with - assert_deprecated ":disable_with option is deprecated and will be removed from Rails 4.0. Use 'data-disable-with' instead" do - assert_dom_equal( - %(), - submit_tag("Save", :disable_with => "Saving...", :confirm => "Are you sure?") - ) - end + assert_dom_equal( + %(), + submit_tag("Save", :disable_with => "Saving...", :confirm => "Are you sure?") + ) end def test_button_tag @@ -430,31 +415,6 @@ class FormTagHelperTest < ActionView::TestCase ) end - def test_button_tag_with_confirmation - assert_deprecated ":confirm option is deprecated and will be removed from Rails 4.0. Use ':data => { :confirm => \'Text\' }' instead" do - assert_dom_equal( - %(), - button_tag("Save", :type => "submit", :confirm => "Are you sure?") - ) - end - end - - def test_button_tag_with_confirmation_without_deprecation_warning - assert_dom_equal( - %(), - button_tag("Save", :type => "submit", :data => { :confirm => "Are you sure?" }) - ) - end - - def test_button_tag_with_disable_with - assert_deprecated ":disable_with option is deprecated and will be removed from Rails 4.0. Use 'data-disable-with' instead" do - assert_dom_equal( - %(), - button_tag("Save", :type => "submit", :disable_with => "Saving...") - ) - end - end - def test_button_tag_with_reset_type assert_dom_equal( %(), @@ -486,18 +446,9 @@ class FormTagHelperTest < ActionView::TestCase end def test_image_submit_tag_with_confirmation - assert_deprecated ":confirm option is deprecated and will be removed from Rails 4.0. Use ':data => { :confirm => \'Text\' }' instead" do - assert_dom_equal( - %(), - image_submit_tag("save.gif", :confirm => "Are you sure?") - ) - end - end - - def test_image_submit_tag_with_confirmation_without_deprecation_warning assert_dom_equal( %(), - image_submit_tag("save.gif", :data => { :confirm => "Are you sure?" }) + image_submit_tag("save.gif", :confirm => "Are you sure?") ) end diff --git a/actionpack/test/template/url_helper_test.rb b/actionpack/test/template/url_helper_test.rb index 95f3b33bcf..f0e33404af 100644 --- a/actionpack/test/template/url_helper_test.rb +++ b/actionpack/test/template/url_helper_test.rb @@ -75,56 +75,40 @@ class UrlHelperTest < ActiveSupport::TestCase end def test_button_to_with_javascript_confirm - assert_deprecated ":confirm option is deprecated and will be removed from Rails 4.0. Use ':data => { :confirm => \'Text\' }' instead" do - assert_dom_equal( - "
", - button_to("Hello", "http://www.example.com", :confirm => "Are you sure?") - ) - end - end - - def test_button_to_confirm_without_deprecation_warning assert_dom_equal( "
", - button_to("Hello", "http://www.example.com", :data => { :confirm => "Are you sure?" }) + button_to("Hello", "http://www.example.com", :confirm => "Are you sure?") ) end def test_button_to_with_javascript_disable_with - assert_deprecated ":disable_with option is deprecated and will be removed from Rails 4.0. Use 'data-disable-with' instead" do - assert_dom_equal( - "
", - button_to("Hello", "http://www.example.com", :disable_with => "Greeting...") - ) - end + assert_dom_equal( + "
", + button_to("Hello", "http://www.example.com", :disable_with => "Greeting...") + ) end def test_button_to_with_remote_and_form_options assert_dom_equal "
", button_to("Hello", "http://www.example.com", :remote => true, :form => { :class => "custom-class", "data-type" => "json" } ) end - - def test_button_to_with_remote_and_javascript_disable_with - assert_deprecated ":disable_with option is deprecated and will be removed from Rails 4.0. Use 'data-disable-with' instead" do - assert_dom_equal( - "
", - button_to("Hello", "http://www.example.com", :remote => true, :disable_with => "Greeting...") - ) - end - end - + def test_button_to_with_remote_and_javascript_confirm - assert_deprecated ":confirm option is deprecated and will be removed from Rails 4.0. Use ':data => { :confirm => \'Text\' }' instead" do - assert_dom_equal( - "
", - button_to("Hello", "http://www.example.com", :remote => true, :confirm => "Are you sure?") - ) - end + assert_dom_equal( + "
", + button_to("Hello", "http://www.example.com", :remote => true, :confirm => "Are you sure?") + ) + end + def test_button_to_with_remote_and_javascript_disable_with + assert_dom_equal( + "
", + button_to("Hello", "http://www.example.com", :remote => true, :disable_with => "Greeting...") + ) end - def test_button_to_with_remote_and_javascript_confirm_without_deprecation_warning + def test_button_to_with_remote_and_javascript_confirm_and_javascript_disable_with assert_dom_equal( - "
", - button_to("Hello", "http://www.example.com", :remote => true, :data => { :confirm => "Are you sure?" }) + "
", + button_to("Hello", "http://www.example.com", :remote => true, :confirm => "Are you sure?", :disable_with => "Greeting...") ) end @@ -215,30 +199,17 @@ class UrlHelperTest < ActiveSupport::TestCase end def test_link_tag_with_javascript_confirm - assert_deprecated ":confirm option is deprecated and will be removed from Rails 4.0. Use ':data => { :confirm => \'Text\' }' instead" do - assert_dom_equal( - "Hello", - link_to("Hello", "http://www.example.com", :confirm => "Are you sure?") - ) - end - assert_deprecated ":confirm option is deprecated and will be removed from Rails 4.0. Use ':data => { :confirm => \'Text\' }' instead" do - assert_dom_equal( - "Hello", - link_to("Hello", "http://www.example.com", :confirm => "You can't possibly be sure, can you?") - ) - end - assert_deprecated ":confirm option is deprecated and will be removed from Rails 4.0. Use ':data => { :confirm => \'Text\' }' instead" do - assert_dom_equal( - "Hello", - link_to("Hello", "http://www.example.com", :confirm => "You can't possibly be sure,\n can you?") - ) - end - end - - def test_link_tag_confirm_without_deprecation_warning assert_dom_equal( "Hello", - link_to("Hello", "http://www.example.com", :data => { :confirm => "Are you sure?" }) + link_to("Hello", "http://www.example.com", :confirm => "Are you sure?") + ) + assert_dom_equal( + "Hello", + link_to("Hello", "http://www.example.com", :confirm => "You can't possibly be sure, can you?") + ) + assert_dom_equal( + "Hello", + link_to("Hello", "http://www.example.com", :confirm => "You can't possibly be sure,\n can you?") ) end @@ -285,35 +256,16 @@ class UrlHelperTest < ActiveSupport::TestCase end def test_link_tag_using_post_javascript_and_confirm - assert_deprecated ":confirm option is deprecated and will be removed from Rails 4.0. Use ':data => { :confirm => \'Text\' }' instead" do - assert_dom_equal( - "Hello", - link_to("Hello", "http://www.example.com", :method => :post, :confirm => "Are you serious?") - ) - end - end - - def test_link_tag_using_post_javascript_and_confirm_without_deprecation_warning assert_dom_equal( "Hello", - link_to("Hello", "http://www.example.com", :method => :post, :data => { :confirm => "Are you serious?" }) + link_to("Hello", "http://www.example.com", :method => :post, :confirm => "Are you serious?") ) end def test_link_tag_using_delete_javascript_and_href_and_confirm - assert_deprecated ":confirm option is deprecated and will be removed from Rails 4.0. Use ':data => { :confirm => \'Text\' }' instead" do - assert_dom_equal( - "Destroy", - link_to("Destroy", "http://www.example.com", :method => :delete, :href => '#', :confirm => "Are you serious?"), - "When specifying url, form should be generated with it, but not this.href" - ) - end - end - - def test_link_tag_using_delete_javascript_and_href_and_confirm_without_deprecation_warning assert_dom_equal( "Destroy", - link_to("Destroy", "http://www.example.com", :method => :delete, :href => '#', :data => { :confirm => "Are you serious?" }), + link_to("Destroy", "http://www.example.com", :method => :delete, :href => '#', :confirm => "Are you serious?"), "When specifying url, form should be generated with it, but not this.href" ) end diff --git a/railties/lib/rails/generators/erb/scaffold/templates/index.html.erb b/railties/lib/rails/generators/erb/scaffold/templates/index.html.erb index a7c12b9026..7b1a2a1841 100644 --- a/railties/lib/rails/generators/erb/scaffold/templates/index.html.erb +++ b/railties/lib/rails/generators/erb/scaffold/templates/index.html.erb @@ -17,7 +17,7 @@ <% end -%> <%%= link_to 'Show', <%= singular_table_name %> %> <%%= link_to 'Edit', edit_<%= singular_table_name %>_path(<%= singular_table_name %>) %> - <%%= link_to 'Destroy', <%= singular_table_name %>, <%= key_value :method, ":delete" %>, <%= key_value :data, "{ #{key_value :confirm, "'Are you sure?'"} }" %> %> + <%%= link_to 'Destroy', <%= singular_table_name %>, <%= key_value :confirm, "'Are you sure?'" %>, <%= key_value :method, ":delete" %> %> <%% end %> -- cgit v1.2.3