summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2022-10-06 12:05:26 +0900
committergit <svn-admin@ruby-lang.org>2022-10-06 18:24:44 +0900
commit75a53f6be0bdd02fcf70a352892e085a02995cf9 (patch)
treeaa1f302950dbe573fd3af47a8f89cd6a0df20dcb
parente929b0aac530f4fe4d905ff147fe94fe2a3e856c (diff)
downloadruby-75a53f6be0bdd02fcf70a352892e085a02995cf9.tar.gz
[ruby/rdoc] Allow RDoc markups in table cells
https://github.com/ruby/rdoc/commit/b16d3f1727
-rw-r--r--lib/rdoc/markup/to_html.rb4
-rw-r--r--test/rdoc/test_rdoc_markup_to_html.rb4
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/rdoc/markup/to_html.rb b/lib/rdoc/markup/to_html.rb
index 2bfabc8942..61f14d3ab7 100644
--- a/lib/rdoc/markup/to_html.rb
+++ b/lib/rdoc/markup/to_html.rb
@@ -324,7 +324,7 @@ class RDoc::Markup::ToHtml < RDoc::Markup::Formatter
header.zip(aligns) do |text, align|
@res << '<th'
@res << ' align="' << align << '"' if align
- @res << '>' << CGI.escapeHTML(text) << "</th>\n"
+ @res << '>' << to_html(text) << "</th>\n"
end
@res << "</tr>\n</thead>\n<tbody>\n"
body.each do |row|
@@ -332,7 +332,7 @@ class RDoc::Markup::ToHtml < RDoc::Markup::Formatter
row.zip(aligns) do |text, align|
@res << '<td'
@res << ' align="' << align << '"' if align
- @res << '>' << CGI.escapeHTML(text) << "</td>\n"
+ @res << '>' << to_html(text) << "</td>\n"
end
@res << "</tr>\n"
end
diff --git a/test/rdoc/test_rdoc_markup_to_html.rb b/test/rdoc/test_rdoc_markup_to_html.rb
index 8a053575d2..02baf13512 100644
--- a/test/rdoc/test_rdoc_markup_to_html.rb
+++ b/test/rdoc/test_rdoc_markup_to_html.rb
@@ -882,6 +882,7 @@ EXPECTED
%w[cell1_1 cell1_2 cell1_3],
%w[cell2_1 cell2_2 cell2_3],
['<script>alert("foo");</script>',],
+ %w[+code+ _em_ **strong**],
]
aligns = [:left, :right, nil]
@to.start_accepting
@@ -898,6 +899,9 @@ EXPECTED
assert_not_include(res[%r<<td[^<>]*>cell2_3</td>>], 'align=')
assert_not_include(res, '<script>')
assert_include(res[%r<<td[^<>]*>.*script.*</td>>], '&lt;script&gt;')
+ assert_include(res[%r<<td[^<>]*>.*code.*</td>>], '<code>code</code>')
+ assert_include(res[%r<<td[^<>]*>.*em.*</td>>], '<em>em</em>')
+ assert_include(res[%r<<td[^<>]*>.*strong.*</td>>], '<strong>strong</strong>')
end
end