diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2007-12-16 23:53:45 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2007-12-16 23:53:45 +0000 |
commit | d6859a7216fbe40f523fd80f85a06fa3e23070bb (patch) | |
tree | 1c9e5822cba8c95c374d945e3ccbc78f24859f14 /actionpack | |
parent | 56e646296af1929f07f0e2981deddba95cdbf5d0 (diff) | |
download | rails-d6859a7216fbe40f523fd80f85a06fa3e23070bb.tar.gz rails-d6859a7216fbe40f523fd80f85a06fa3e23070bb.tar.bz2 rails-d6859a7216fbe40f523fd80f85a06fa3e23070bb.zip |
Add tests for html_escape, and remove an unneeded backslash (closes #10511) [fxn]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8422 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_view/template_handlers/erb.rb | 2 | ||||
-rw-r--r-- | actionpack/test/template/erb_util_test.rb | 56 |
2 files changed, 57 insertions, 1 deletions
diff --git a/actionpack/lib/action_view/template_handlers/erb.rb b/actionpack/lib/action_view/template_handlers/erb.rb index f1b800cb53..022fc362e7 100644 --- a/actionpack/lib/action_view/template_handlers/erb.rb +++ b/actionpack/lib/action_view/template_handlers/erb.rb @@ -5,7 +5,7 @@ class ERB HTML_ESCAPE = { '&' => '&', '"' => '"', '>' => '>', '<' => '<' } def html_escape(s) - s.to_s.gsub(/[&\"><]/) { |special| HTML_ESCAPE[special] } + s.to_s.gsub(/[&"><]/) { |special| HTML_ESCAPE[special] } end end end diff --git a/actionpack/test/template/erb_util_test.rb b/actionpack/test/template/erb_util_test.rb new file mode 100644 index 0000000000..3aff987b22 --- /dev/null +++ b/actionpack/test/template/erb_util_test.rb @@ -0,0 +1,56 @@ +require "#{File.dirname(__FILE__)}/../abstract_unit" + +class ErbUtilTest < Test::Unit::TestCase + include ERB::Util + + def test_amp + assert_equal '&', html_escape('&') + end + + def test_quot + assert_equal '"', html_escape('"') + end + + def test_lt + assert_equal '<', html_escape('<') + end + + def test_gt + assert_equal '>', html_escape('>') + end + + def test_rest_in_ascii + (0..127).to_a.map(&:chr).each do |chr| + next if %w(& " < >).include?(chr) + assert_equal chr, html_escape(chr) + end + end +end +require "#{File.dirname(__FILE__)}/../abstract_unit" + +class ErbUtilTest < Test::Unit::TestCase + include ERB::Util + + def test_amp + assert_equal '&', html_escape('&') + end + + def test_quot + assert_equal '"', html_escape('"') + end + + def test_lt + assert_equal '<', html_escape('<') + end + + def test_gt + assert_equal '>', html_escape('>') + end + + def test_rest_in_ascii + (0..127).to_a.map(&:chr).each do |chr| + next if %w(& " < >).include?(chr) + assert_equal chr, html_escape(chr) + end + end +end
\ No newline at end of file |