mirror of
https://github.com/redmine/redmine.git
synced 2025-11-04 20:35:57 +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
|
||||
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)
|
||||
return unless options[:edit_section_links]
|
||||
|
||||
@@ -1732,6 +1732,46 @@ class ApplicationHelperTest < Redmine::HelperTest
|
||||
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
|
||||
with_settings :text_formatting => 'unknown' do
|
||||
text = 'a *link*: http://www.example.net/'
|
||||
|
||||
Reference in New Issue
Block a user