diff options
author | Carsten Zimmermann <carp@hacksocke.de> | 2013-10-29 18:17:57 +0100 |
---|---|---|
committer | Carsten Zimmermann <carp@hacksocke.de> | 2013-10-29 18:17:57 +0100 |
commit | 805a6cc56469ae50803e922e09e2b9867daff1dd (patch) | |
tree | 223c677daf429fcb5e6ec6cef0833f7a735ec9ca /actionview | |
parent | df2226ea16922fd4e2ea72b8ee372a4cb5621114 (diff) | |
download | rails-805a6cc56469ae50803e922e09e2b9867daff1dd.tar.gz rails-805a6cc56469ae50803e922e09e2b9867daff1dd.tar.bz2 rails-805a6cc56469ae50803e922e09e2b9867daff1dd.zip |
Convert CDATA input to string before gsub'ing
Rails 3.2 API allowed arbitrary input for cdata_section;
this change re-introduces the old behaviour.
Diffstat (limited to 'actionview')
-rw-r--r-- | actionview/lib/action_view/helpers/tag_helper.rb | 2 | ||||
-rw-r--r-- | actionview/test/template/tag_helper_test.rb | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/actionview/lib/action_view/helpers/tag_helper.rb b/actionview/lib/action_view/helpers/tag_helper.rb index 732f35643a..11e41ec056 100644 --- a/actionview/lib/action_view/helpers/tag_helper.rb +++ b/actionview/lib/action_view/helpers/tag_helper.rb @@ -114,7 +114,7 @@ module ActionView # cdata_section("hello]]>world") # # => <![CDATA[hello]]]]><![CDATA[>world]]> def cdata_section(content) - splitted = content.gsub(']]>', ']]]]><![CDATA[>') + splitted = content.to_s.gsub(']]>', ']]]]><![CDATA[>') "<![CDATA[#{splitted}]]>".html_safe end diff --git a/actionview/test/template/tag_helper_test.rb b/actionview/test/template/tag_helper_test.rb index 802da5d566..fb016a52de 100644 --- a/actionview/test/template/tag_helper_test.rb +++ b/actionview/test/template/tag_helper_test.rb @@ -96,6 +96,10 @@ class TagHelperTest < ActionView::TestCase assert_equal "<![CDATA[<hello world>]]>", cdata_section("<hello world>") end + def test_cdata_section_with_string_conversion + assert_equal "<![CDATA[]]>", cdata_section(nil) + end + def test_cdata_section_splitted assert_equal "<![CDATA[hello]]]]><![CDATA[>world]]>", cdata_section("hello]]>world") assert_equal "<![CDATA[hello]]]]><![CDATA[>world]]]]><![CDATA[>again]]>", cdata_section("hello]]>world]]>again") |