mirror of
https://github.com/redmine/redmine.git
synced 2025-11-06 05:16:12 +01:00
"Edit this section" button is missing for headings rendered as multiline HTML (#42332).
Patch by Abe Tomoaki (user:abetomo). git-svn-id: https://svn.redmine.org/redmine/trunk@23802 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -1386,7 +1386,7 @@ module ApplicationHelper
|
|||||||
<|
|
<|
|
||||||
$)
|
$)
|
||||||
}x
|
}x
|
||||||
HEADING_RE = /(<h(\d)( [^>]+)?>(.+?)<\/h(\d)>)/i unless const_defined?(:HEADING_RE)
|
HEADING_RE = /(<h(\d)( [^>]+)?>(.+?)<\/h(\d)>)/im unless const_defined?(:HEADING_RE)
|
||||||
|
|
||||||
def parse_sections(text, project, obj, attr, only_path, options)
|
def parse_sections(text, project, obj, attr, only_path, options)
|
||||||
return unless options[:edit_section_links]
|
return unless options[:edit_section_links]
|
||||||
|
|||||||
@@ -1732,6 +1732,46 @@ class ApplicationHelperTest < Redmine::HelperTest
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_section_edit_links_with_multiline_heading
|
||||||
|
raw = <<~RAW
|
||||||
|
# Wiki
|
||||||
|
|
||||||
|
## `Foo` Bar
|
||||||
|
|
||||||
|
The heading above generates multiline HTML.
|
||||||
|
Don't assume heading tags are always single-line.
|
||||||
|
|
||||||
|
```
|
||||||
|
<h2>
|
||||||
|
<code>Foo</code> Bar</h2>
|
||||||
|
```
|
||||||
|
RAW
|
||||||
|
@project = Project.find(1)
|
||||||
|
set_language_if_valid 'en'
|
||||||
|
with_settings :text_formatting => 'common_mark' do
|
||||||
|
result =
|
||||||
|
textilizable(
|
||||||
|
raw,
|
||||||
|
:edit_section_links =>
|
||||||
|
{:controller => 'wiki', :action => 'edit',
|
||||||
|
:project_id => '1', :id => 'Test'}
|
||||||
|
).delete("\n")
|
||||||
|
|
||||||
|
assert_match(
|
||||||
|
Regexp.new(
|
||||||
|
'<div class="contextual heading-2" title="Edit this section" id="section-2">' \
|
||||||
|
'<a class="icon-only icon-edit" href="/projects/1/wiki/Test/edit\?section=2">' \
|
||||||
|
'<svg class="s18 icon-svg" aria-hidden="true"><use href="/assets/icons-.*\.svg#icon--edit"></use></svg>' \
|
||||||
|
'<span class="icon-label">Edit this section</span>' \
|
||||||
|
'</a></div>' \
|
||||||
|
'<a name="Foo-Bar"></a>' \
|
||||||
|
'<h2 ><code>Foo</code> Bar<a href="#Foo-Bar" class="wiki-anchor">¶</a></h2>'
|
||||||
|
),
|
||||||
|
result
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def test_default_formatter
|
def test_default_formatter
|
||||||
with_settings :text_formatting => 'unknown' do
|
with_settings :text_formatting => 'unknown' do
|
||||||
text = 'a *link*: http://www.example.net/'
|
text = 'a *link*: http://www.example.net/'
|
||||||
|
|||||||
Reference in New Issue
Block a user