mirror of
https://github.com/meineerde/redmine.git
synced 2025-12-19 15:01:14 +00:00
URLs end with "-" are rendered incorrectly in Textile (#30259).
Patch by Yuichi HARADA. git-svn-id: http://svn.redmine.org/redmine/trunk@17917 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
3c85ee43fa
commit
193b02567b
@ -125,7 +125,7 @@ module Redmine
|
|||||||
([^<]\S*?) # url
|
([^<]\S*?) # url
|
||||||
(\/)? # slash
|
(\/)? # slash
|
||||||
)
|
)
|
||||||
((?:>)?|[^[:alnum:]_\=\/;\(\)]*?) # post
|
((?:>)?|[^[:alnum:]_\=\/;\(\)\-]*?) # post
|
||||||
(?=<|\s|$)
|
(?=<|\s|$)
|
||||||
}x unless const_defined?(:AUTO_LINK_RE)
|
}x unless const_defined?(:AUTO_LINK_RE)
|
||||||
|
|
||||||
|
|||||||
@ -272,8 +272,8 @@ class RedCloth3 < String
|
|||||||
@urlrefs = {}
|
@urlrefs = {}
|
||||||
@shelf = []
|
@shelf = []
|
||||||
textile_rules = [:block_textile_table, :block_textile_lists,
|
textile_rules = [:block_textile_table, :block_textile_lists,
|
||||||
:block_textile_prefix, :inline_textile_image, :inline_textile_link,
|
:block_textile_prefix, :inline_textile_image, :inline_textile_code,
|
||||||
:inline_textile_code, :inline_textile_span, :glyphs_textile]
|
:inline_textile_span, :inline_textile_link, :glyphs_textile]
|
||||||
markdown_rules = [:refs_markdown, :block_markdown_setext, :block_markdown_atx, :block_markdown_rule,
|
markdown_rules = [:refs_markdown, :block_markdown_setext, :block_markdown_atx, :block_markdown_rule,
|
||||||
:block_markdown_bq, :block_markdown_lists,
|
:block_markdown_bq, :block_markdown_lists,
|
||||||
:inline_markdown_reflink, :inline_markdown_link]
|
:inline_markdown_reflink, :inline_markdown_link]
|
||||||
@ -829,7 +829,7 @@ class RedCloth3 < String
|
|||||||
[[:alnum:]_\/]\S+?
|
[[:alnum:]_\/]\S+?
|
||||||
)
|
)
|
||||||
(\/)? # $slash
|
(\/)? # $slash
|
||||||
([^[:alnum:]_\=\/;\(\)]*?) # $post
|
([^[:alnum:]_\=\/;\(\)\-]*?) # $post
|
||||||
)
|
)
|
||||||
(?=<|\s|$)
|
(?=<|\s|$)
|
||||||
/x
|
/x
|
||||||
|
|||||||
@ -94,6 +94,8 @@ class ApplicationHelperTest < Redmine::HelperTest
|
|||||||
'http://' => 'http://',
|
'http://' => 'http://',
|
||||||
'www.' => 'www.',
|
'www.' => 'www.',
|
||||||
'test-www.bar.com' => 'test-www.bar.com',
|
'test-www.bar.com' => 'test-www.bar.com',
|
||||||
|
# ends with a hyphen
|
||||||
|
'http://www.redmine.org/example-' => '<a class="external" href="http://www.redmine.org/example-">http://www.redmine.org/example-</a>',
|
||||||
}
|
}
|
||||||
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
|
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
|
||||||
end
|
end
|
||||||
@ -270,7 +272,10 @@ RAW
|
|||||||
'"a link":http://example.net/path!602815048C7B5C20!302.html' => '<a href="http://example.net/path!602815048C7B5C20!302.html" class="external">a link</a>',
|
'"a link":http://example.net/path!602815048C7B5C20!302.html' => '<a href="http://example.net/path!602815048C7B5C20!302.html" class="external">a link</a>',
|
||||||
# escaping
|
# escaping
|
||||||
'"test":http://foo"bar' => '<a href="http://foo"bar" class="external">test</a>',
|
'"test":http://foo"bar' => '<a href="http://foo"bar" class="external">test</a>',
|
||||||
}
|
# ends with a hyphen
|
||||||
|
'(see "inline link":http://www.foo.bar/Test-)' => '(see <a href="http://www.foo.bar/Test-" class="external">inline link</a>)',
|
||||||
|
'http://foo.bar/page?p=1&t=z&s=-' => '<a class="external" href="http://foo.bar/page?p=1&t=z&s=-">http://foo.bar/page?p=1&t=z&s=-</a>',
|
||||||
|
'This is an intern "link":/foo/bar-' => 'This is an intern <a href="/foo/bar-">link</a>', }
|
||||||
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
|
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user