diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-05-03 19:26:43 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-05-03 19:26:43 -0300 |
commit | f17792245ff817afd224c7cc7a1d855511fcf641 (patch) | |
tree | 073451b47f35624f8fe1fe8589f84dab27bfcc2a /actionview | |
parent | a278668624209b2421634d3dc6ee82b6e0353546 (diff) | |
parent | 8cbeec773ffce82dd521469ac37625630ed00701 (diff) | |
download | rails-f17792245ff817afd224c7cc7a1d855511fcf641.tar.gz rails-f17792245ff817afd224c7cc7a1d855511fcf641.tar.bz2 rails-f17792245ff817afd224c7cc7a1d855511fcf641.zip |
Merge pull request #18783 from mikestone14/actionview-image-tag-override
Actionview image tag size option override
Diffstat (limited to 'actionview')
-rw-r--r-- | actionview/lib/action_view/helpers/asset_tag_helper.rb | 7 | ||||
-rw-r--r-- | actionview/test/template/asset_tag_helper_test.rb | 8 |
2 files changed, 15 insertions, 0 deletions
diff --git a/actionview/lib/action_view/helpers/asset_tag_helper.rb b/actionview/lib/action_view/helpers/asset_tag_helper.rb index 60fc9ee1a2..e32f8e219e 100644 --- a/actionview/lib/action_view/helpers/asset_tag_helper.rb +++ b/actionview/lib/action_view/helpers/asset_tag_helper.rb @@ -207,6 +207,7 @@ module ActionView # # => <img alt="Icon" class="menu_icon" src="/icons/icon.gif" /> def image_tag(source, options={}) options = options.symbolize_keys + check_for_image_tag_errors(options) src = options[:src] = path_to_image(source) @@ -325,6 +326,12 @@ module ActionView [size, size] end end + + def check_for_image_tag_errors(options) + if options[:size] && (options[:height] || options[:width]) + raise ArgumentError, "Cannot pass a :size option with a :height or :width option" + end + end end end end diff --git a/actionview/test/template/asset_tag_helper_test.rb b/actionview/test/template/asset_tag_helper_test.rb index 02dce71496..6e6ce20924 100644 --- a/actionview/test/template/asset_tag_helper_test.rb +++ b/actionview/test/template/asset_tag_helper_test.rb @@ -464,6 +464,14 @@ class AssetTagHelperTest < ActionView::TestCase assert_equal({:size => '16x10'}, options) end + def test_image_tag_raises_an_error_for_competing_size_arguments + exception = assert_raise(ArgumentError) do + image_tag("gold.png", :height => "100", :width => "200", :size => "45x70") + end + + assert_equal("Cannot pass a :size option with a :height or :width option", exception.message) + end + def test_favicon_link_tag FaviconLinkToTag.each { |method, tag| assert_dom_equal(tag, eval(method)) } end |