diff options
author | Marius Balteanu <marius.balteanu@zitec.com> | 2023-12-22 01:48:13 +0000 |
---|---|---|
committer | Marius Balteanu <marius.balteanu@zitec.com> | 2023-12-22 01:48:13 +0000 |
commit | d05d732080fac8599cdbb182009c78e60ba3518e (patch) | |
tree | 4ff5d0712c1af36bd1697eb39fa779d0b71cb17a | |
parent | d18f4d4b92ee3c41d5fd0886bfe8483427ce5143 (diff) | |
download | redmine-d05d732080fac8599cdbb182009c78e60ba3518e.tar.gz redmine-d05d732080fac8599cdbb182009c78e60ba3518e.zip |
Merge r22546 from trunk to 5.0-stable (#39884).
git-svn-id: https://svn.redmine.org/redmine/branches/5.0-stable@22548 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | lib/redmine/wiki_formatting/textile/redcloth3.rb | 2 | ||||
-rw-r--r-- | test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/lib/redmine/wiki_formatting/textile/redcloth3.rb b/lib/redmine/wiki_formatting/textile/redcloth3.rb index 9062fca0d..04ac3ba56 100644 --- a/lib/redmine/wiki_formatting/textile/redcloth3.rb +++ b/lib/redmine/wiki_formatting/textile/redcloth3.rb @@ -1042,7 +1042,7 @@ class RedCloth3 < String end def footnote_ref( text ) - text.gsub!(/\b\[([0-9]+?)\](\s)?/, + text.gsub!(/(?<=[\p{Word}\]])\[([0-9]+?)\](\s)?/, '<sup><a href="#fn\1">\1</a></sup>\2') end diff --git a/test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb b/test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb index 24f9886ed..77eb01734 100644 --- a/test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb +++ b/test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb @@ -770,6 +770,23 @@ class Redmine::WikiFormatting::TextileFormatterTest < ActionView::TestCase }, false) end + def test_should_allow_multiple_footnotes + text = <<~STR + Some demo[1][2] And a sentence.[1] + + fn1. One + + fn2. Two + STR + + expected = <<~EXPECTED + <p>Some demo<sup><a href="#fn1">1</a></sup><sup><a href="#fn2">2</a></sup> And a sentence.[1]</p> + <p id="fn1" class="footnote"><sup>1</sup> One</p> + <p id="fn2" class="footnote"><sup>2</sup> Two</p> + EXPECTED + assert_equal expected.gsub(%r{[\r\n\t]}, ''), to_html(text).gsub(%r{[\r\n\t]}, '') + end + private def assert_html_output(to_test, expect_paragraph = true) |