提交 440a5ebd 编写于 作者: R Rafael Mendonça França

Merge pull request #7123 from nashby/data-in-options

don't escape options in option_html_attributes method
......@@ -711,7 +711,7 @@ def collection_check_boxes(object, method, collection, value_method, text_method
def option_html_attributes(element)
return {} unless Array === element
Hash[element.select { |e| Hash === e }.reduce({}, :merge).map { |k, v| [k, ERB::Util.html_escape(v.to_s)] }]
Hash[element.select { |e| Hash === e }.reduce({}, :merge).map { |k, v| [k, v] }]
end
def option_text_and_value(option)
......
......@@ -1130,6 +1130,13 @@ def test_options_for_select_with_element_attributes
)
end
def test_options_for_select_with_data_element
assert_dom_equal(
"<option value=\"&lt;Denmark&gt;\" data-test=\"bold\">&lt;Denmark&gt;</option>",
options_for_select([ [ "<Denmark>", { :data => { :test => 'bold' } } ] ])
)
end
def test_options_for_select_with_element_attributes_and_selection
assert_dom_equal(
"<option value=\"&lt;Denmark&gt;\">&lt;Denmark&gt;</option>\n<option value=\"USA\" class=\"bold\" selected=\"selected\">USA</option>\n<option value=\"Sweden\">Sweden</option>",
......@@ -1144,6 +1151,13 @@ def test_options_for_select_with_element_attributes_and_selection_array
)
end
def test_options_for_select_with_special_characters
assert_dom_equal(
"<option value=\"&lt;Denmark&gt;\" onclick=\"alert(&quot;&lt;code&gt;&quot;)\">&lt;Denmark&gt;</option>",
options_for_select([ [ "<Denmark>", { :onclick => %(alert("<code>")) } ] ])
)
end
def test_option_html_attributes_from_without_hash
assert_equal(
{},
......@@ -1172,13 +1186,6 @@ def test_option_html_attributes_with_multiple_hashes
)
end
def test_option_html_attributes_with_special_characters
assert_equal(
{:onclick => "alert(&quot;&lt;code&gt;&quot;)"},
option_html_attributes([ 'foo', 'bar', { :onclick => %(alert("<code>")) } ])
)
end
def test_grouped_collection_select
@post = Post.new
@post.origin = 'dk'
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册