Skip to content

Commit fc54787

Browse files
committed
do not modify options in image_tag
1 parent 0920065 commit fc54787

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

actionpack/lib/action_view/helpers/asset_tag_helper.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -355,8 +355,8 @@ def font_path(source)
355355
# <img src="/images/mouse.png" onmouseover="this.src='/images/mouse_over.png'" onmouseout="this.src='/images/mouse.png'" alt="Mouse" />
356356
# image_tag("mouse.png", :mouseover => image_path("mouse_over.png")) # =>
357357
# <img src="/images/mouse.png" onmouseover="this.src='/images/mouse_over.png'" onmouseout="this.src='/images/mouse.png'" alt="Mouse" />
358-
def image_tag(source, options = {})
359-
options.symbolize_keys!
358+
def image_tag(source, options={})
359+
options = options.dup.symbolize_keys!
360360

361361
src = options[:src] = path_to_image(source)
362362

actionpack/test/template/asset_tag_helper_test.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,12 @@ def test_image_tag
445445
ImageLinkToTag.each { |method, tag| assert_dom_equal(tag, eval(method)) }
446446
end
447447

448+
def test_image_tag_does_not_modify_options
449+
options = {:size => '16x10'}
450+
image_tag('icon', options)
451+
assert_equal({:size => '16x10'}, options)
452+
end
453+
448454
def test_favicon_link_tag
449455
FaviconLinkToTag.each { |method, tag| assert_dom_equal(tag, eval(method)) }
450456
end

0 commit comments

Comments
 (0)