summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2008-03-17 23:01:35 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2008-03-17 23:01:35 +0000
commit7673d69b96cff840b0b6bce748fdb4887883aeb0 (patch)
tree7887fb4428876de5fa39d906bae2ea4bbcd30c61
parent1c4bcc5b558e6dd89456edf80811c9e701168845 (diff)
downloadredmine-7673d69b96cff840b0b6bce748fdb4887883aeb0.tar.gz
redmine-7673d69b96cff840b0b6bce748fdb4887883aeb0.zip
Fixes #880: code tags not formatted correctly in the wiki (broken by r1216).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1271 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--lib/redcloth.rb2
-rw-r--r--test/unit/helpers/application_helper_test.rb13
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/redcloth.rb b/lib/redcloth.rb
index 7e88007a6..14940cb88 100644
--- a/lib/redcloth.rb
+++ b/lib/redcloth.rb
@@ -1130,7 +1130,7 @@ class RedCloth < String
end
end
- ALLOWED_TAGS = %w(redpre pre)
+ ALLOWED_TAGS = %w(redpre pre code)
def escape_html_tags(text)
text.gsub!(%r{<((\/?)(\w+))}) {|m| ALLOWED_TAGS.include?($3) ? "<#{$1}" : "&lt;#{$1}" }
diff --git a/test/unit/helpers/application_helper_test.rb b/test/unit/helpers/application_helper_test.rb
index 0a63c811e..2b90b8f4b 100644
--- a/test/unit/helpers/application_helper_test.rb
+++ b/test/unit/helpers/application_helper_test.rb
@@ -132,6 +132,19 @@ class ApplicationHelperTest < HelperTestCase
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
end
+ def test_html_tags
+ to_test = {
+ "<div>content</div>" => "<p>&lt;div>content&lt;/div></p>",
+ "<script>some script;</script>" => "<p>&lt;script>some script;&lt;/script></p>",
+ # do not escape pre/code tags
+ "<pre>\nline 1\nline2</pre>" => "<pre>\nline 1\nline2</pre>",
+ "<pre><code>\nline 1\nline2</code></pre>" => "<pre><code>\nline 1\nline2</code></pre>",
+ "<pre><div>content</div></pre>" => "<pre>&lt;div&gt;content&lt;/div&gt;</pre>",
+ }
+ to_test.each { |text, result| assert_equal result, textilizable(text) }
+
+ end
+
def test_macro_hello_world
text = "{{hello_world}}"
assert textilizable(text).match(/Hello world!/)