]> source.dussan.org Git - redmine.git/commitdiff
Merged r22905, r22906, and r22907 from trunk to 5.1-stable (#40716).
authorGo MAEDA <maeda@farend.jp>
Wed, 10 Jul 2024 09:33:48 +0000 (09:33 +0000)
committerGo MAEDA <maeda@farend.jp>
Wed, 10 Jul 2024 09:33:48 +0000 (09:33 +0000)
git-svn-id: https://svn.redmine.org/redmine/branches/5.1-stable@22918 e93f8b46-1217-0410-a6f0-8f06a7374b81

.rubocop_todo.yml
lib/redmine/wiki_formatting/section_helper.rb
test/unit/lib/redmine/wiki_formatting/common_mark/formatter_test.rb

index 1c7208e3fb15240e2ac2ece8bdb99d8ec5970a4c..75920e2c432d2a87c6d0a1a5d84ff48600b8a49d 100644 (file)
@@ -1450,7 +1450,6 @@ Style/RedundantRegexpEscape:
     - 'lib/redmine/scm/adapters/bazaar_adapter.rb'
     - 'lib/redmine/wiki_formatting/links_helper.rb'
     - 'lib/redmine/wiki_formatting/macros.rb'
-    - 'lib/redmine/wiki_formatting/section_helper.rb'
     - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
     - 'test/helpers/application_helper_test.rb'
 
index 9221d990df79d16364282b4a7e64650e483ca73c..7d0b974de0216f9b020747a84dab3537acb9f0ff 100644 (file)
@@ -42,7 +42,7 @@ module Redmine
         i = 0
         l = 1
         inside_pre = false
-        @text.split(/(^(?:\S+\r?\n\r?(?:\=+|\-+)|#+.+|(?:~~~|```).*)\s*$)/).each do |part|
+        @text.split(/(^(?:\S+\r?\n\r?(?:=+|-+)|#+ .+|(?:~~~|```).*)\s*$)/).each do |part|
           level = nil
           if part =~ /\A(~{3,}|`{3,})(\s*\S+)?\s*$/
             if !inside_pre
@@ -52,9 +52,9 @@ module Redmine
             end
           elsif inside_pre
             # nop
-          elsif part =~ /\A(#+).+/
+          elsif part =~ /\A(#+) .+/
             level = $1.size
-          elsif part =~ /\A.+\r?\n\r?(\=+|\-+)\s*$/
+          elsif part =~ /\A.+\r?\n\r?(=+|-+)\s*$/
             level = $1.include?('=') ? 1 : 2
           end
           if level
index 16bd8c972962366656deee5e9d812b921e187796..b9e12ba5171684fd33bf5eeae09233265470987b 100644 (file)
@@ -207,6 +207,21 @@ class Redmine::WikiFormatting::CommonMark::FormatterTest < ActionView::TestCase
       assert_section_with_hash STR_WITH_PRE[2], text, 3
     end
 
+    def test_get_section_should_not_recognize_double_hash_issue_reference_as_heading
+      text = <<~STR
+        ## Section A
+
+        This text is a part of Section A.
+
+        ##1 : This is an issue reference, not an ATX heading.
+
+        This text is also a part of Section A.
+        <!-- Section A ends here -->
+      STR
+
+      assert_section_with_hash text.chomp, text, 1
+    end
+
     def test_update_section_should_not_escape_pre_content_outside_section
       text = STR_WITH_PRE.join("\n\n")
       replacement = "New text"