git-svn-id: http://svn.redmine.org/redmine/branches/2.6-stable@14836
e93f8b46-1217-0410-a6f0-
8f06a7374b81
ALLOWED_TAGS = %w(redpre pre code notextile)
def escape_html_tags(text)
- text.gsub!(%r{<(\/?([!\w]+)[^<>\n]*)(>?)}) {|m| ALLOWED_TAGS.include?($2) ? "<#{$1}#{$3}" : "<#{$1}#{'>' unless $3.blank?}" }
+ text.gsub!(%r{<(\/?([!\w]+)[^<>\n]*)?(>?)}) {|m| $2 && ALLOWED_TAGS.include?($2) ? "<#{$1}#{$3}" : "<#{$1}#{'>' unless $3.blank?}" }
end
end
assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
end
- def test_escaping
+ def test_should_escape_unallowed_tags
assert_html_output(
'this is a <script>' => 'this is a <script>'
)
end
+ def test_should_escape_less_than_signs
+ assert_html_output(
+ '<' => '<',
+ '1 < 2' => '1 < 2'
+ )
+ end
+
def test_use_of_backslashes_followed_by_numbers_in_headers
assert_html_output({
'h1. 2009\02\09' => '<h1>2009\02\09</h1>'