diff --git a/app/logical/d_text.rb b/app/logical/d_text.rb index 75569161f..eb560687b 100644 --- a/app/logical/d_text.rb +++ b/app/logical/d_text.rb @@ -103,7 +103,7 @@ class DText def self.parse_id_links(str) str = str.gsub(/\bpost #(\d+)/i, %{post #\\1}) str = str.gsub(/\bforum #(\d+)/i, %{forum #\\1}) - str = str.gsub(/\btopic #(\d+)/i, %{topic #\\1}) + str = str.gsub(/\btopic #(\d+)(?:\/p(\d+))?/i, %{topic #\\1}) str = str.gsub(/\bcomment #(\d+)/i, %{comment #\\1}) str = str.gsub(/\bpool #(\d+)/i, %{pool #\\1}) str = str.gsub(/\buser #(\d+)/i, %{user #\\1}) diff --git a/test/unit/dtext_test.rb b/test/unit/dtext_test.rb index 2cf4fa7c1..2126df7e5 100644 --- a/test/unit/dtext_test.rb +++ b/test/unit/dtext_test.rb @@ -168,4 +168,8 @@ class DTextTest < ActiveSupport::TestCase def test_table_with_newlines assert_equal("\n\n
header
post #100
", p("[table]\n[thead]\n[tr]\n[th]header[/th][/tr][/thead][tbody][tr][td]post #100[/td][/tr][/tbody][/table]")) end + + def test_forum_links + assert_equal('

topic #1234

', p("topic #1234/p4")) + end end