Fixed: right-aligned table of contents (TOC) not working with markdown (#16236).
git-svn-id: http://svn.redmine.org/redmine/trunk@12989 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
abf24a7d92
commit
273aa42900
|
@ -978,19 +978,20 @@ module ApplicationHelper
|
|||
end
|
||||
end
|
||||
|
||||
TOC_RE = /<p>\{\{([<>]?)toc\}\}<\/p>/i unless const_defined?(:TOC_RE)
|
||||
TOC_RE = /<p>\{\{((<|<)|(>|>))?toc\}\}<\/p>/i unless const_defined?(:TOC_RE)
|
||||
|
||||
# Renders the TOC with given headings
|
||||
def replace_toc(text, headings)
|
||||
text.gsub!(TOC_RE) do
|
||||
left_align, right_align = $2, $3
|
||||
# Keep only the 4 first levels
|
||||
headings = headings.select{|level, anchor, item| level <= 4}
|
||||
if headings.empty?
|
||||
''
|
||||
else
|
||||
div_class = 'toc'
|
||||
div_class << ' right' if $1 == '>'
|
||||
div_class << ' left' if $1 == '<'
|
||||
div_class << ' right' if right_align
|
||||
div_class << ' left' if left_align
|
||||
out = "<ul class=\"#{div_class}\"><li>"
|
||||
root = headings.map(&:first).min
|
||||
current = root
|
||||
|
|
|
@ -1167,6 +1167,22 @@ RAW
|
|||
assert textilizable(raw).gsub("\n", "").include?(expected)
|
||||
end
|
||||
|
||||
def test_toc_with_textile_formatting_should_be_parsed
|
||||
with_settings :text_formatting => 'textile' do
|
||||
assert_select_in textilizable("{{toc}}\n\nh1. Heading"), 'ul.toc li', :text => 'Heading'
|
||||
assert_select_in textilizable("{{<toc}}\n\nh1. Heading"), 'ul.toc.left li', :text => 'Heading'
|
||||
assert_select_in textilizable("{{>toc}}\n\nh1. Heading"), 'ul.toc.right li', :text => 'Heading'
|
||||
end
|
||||
end
|
||||
|
||||
def test_toc_with_markdown_formatting_should_be_parsed
|
||||
with_settings :text_formatting => 'markdown' do
|
||||
assert_select_in textilizable("{{toc}}\n\n# Heading"), 'ul.toc li', :text => 'Heading'
|
||||
assert_select_in textilizable("{{<toc}}\n\n# Heading"), 'ul.toc.left li', :text => 'Heading'
|
||||
assert_select_in textilizable("{{>toc}}\n\n# Heading"), 'ul.toc.right li', :text => 'Heading'
|
||||
end
|
||||
end
|
||||
|
||||
def test_section_edit_links
|
||||
raw = <<-RAW
|
||||
h1. Title
|
||||
|
|
Loading…
Reference in New Issue