summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-05-15 01:06:36 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-07-05 11:34:35 +0900
commitf88a9097a4708e8c179eead4e67ee67f15fcdefe (patch)
treec5a8a3c96467a447bc13612d816018408032f09b
parent7c8aa0a5d2bc3f079077d113b350a58d7b7c2b0d (diff)
[ruby/rdoc] Fix for explicit http link
https://github.com/ruby/rdoc/commit/caf234665c
-rw-r--r--lib/rdoc/markup/to_html.rb4
-rw-r--r--test/rdoc/test_rdoc_markup_to_html.rb12
2 files changed, 8 insertions, 8 deletions
diff --git a/lib/rdoc/markup/to_html.rb b/lib/rdoc/markup/to_html.rb
index 6a8ca8a2d7..f3dd96e157 100644
--- a/lib/rdoc/markup/to_html.rb
+++ b/lib/rdoc/markup/to_html.rb
@@ -357,8 +357,8 @@ class RDoc::Markup::ToHtml < RDoc::Markup::Formatter
url =~ /\.(gif|png|jpg|jpeg|bmp)$/ then
"<img src=\"#{url}\" />"
else
- if scheme != 'link' and %r%\A([./]*+)(.*?\.)(rb|rdoc|md)(?=\z|#)%i =~ url
- url = "#$1#{$2.tr('.', '_')}#$3.html#{$'}"
+ if scheme != 'link' and %r%\A((?!https?:).*/)([^/]+)\.(rb|rdoc|md)(?=\z|#)%i =~ url
+ url = "#$1#{$2.tr('.', '_')}_#$3.html#$'"
end
text = text.sub %r%^#{scheme}:/*%i, ''
diff --git a/test/rdoc/test_rdoc_markup_to_html.rb b/test/rdoc/test_rdoc_markup_to_html.rb
index f7887f081b..aa36fb77c4 100644
--- a/test/rdoc/test_rdoc_markup_to_html.rb
+++ b/test/rdoc/test_rdoc_markup_to_html.rb
@@ -741,33 +741,33 @@ EXPECTED
def test_gen_url_rdoc_file
assert_equal '<a href="doc/example_rdoc.html">example</a>',
@to.gen_url('doc/example.rdoc', 'example')
- assert_equal '<a href="../ex_doc/example_rdoc.html">example</a>',
+ assert_equal '<a href="../ex.doc/example_rdoc.html">example</a>',
@to.gen_url('../ex.doc/example.rdoc', 'example')
assert_equal '<a href="doc/example_rdoc.html#label-one">example</a>',
@to.gen_url('doc/example.rdoc#label-one', 'example')
- assert_equal '<a href="../ex_doc/example_rdoc.html#label-two">example</a>',
+ assert_equal '<a href="../ex.doc/example_rdoc.html#label-two">example</a>',
@to.gen_url('../ex.doc/example.rdoc#label-two', 'example')
end
def test_gen_url_md_file
assert_equal '<a href="doc/example_md.html">example</a>',
@to.gen_url('doc/example.md', 'example')
- assert_equal '<a href="../ex_doc/example_md.html">example</a>',
+ assert_equal '<a href="../ex.doc/example_md.html">example</a>',
@to.gen_url('../ex.doc/example.md', 'example')
assert_equal '<a href="doc/example_md.html#label-one">example</a>',
@to.gen_url('doc/example.md#label-one', 'example')
- assert_equal '<a href="../ex_doc/example_md.html#label-two">example</a>',
+ assert_equal '<a href="../ex.doc/example_md.html#label-two">example</a>',
@to.gen_url('../ex.doc/example.md#label-two', 'example')
end
def test_gen_url_rb_file
assert_equal '<a href="doc/example_rb.html">example</a>',
@to.gen_url('doc/example.rb', 'example')
- assert_equal '<a href="../ex_doc/example_rb.html">example</a>',
+ assert_equal '<a href="../ex.doc/example_rb.html">example</a>',
@to.gen_url('../ex.doc/example.rb', 'example')
assert_equal '<a href="doc/example_rb.html#label-one">example</a>',
@to.gen_url('doc/example.rb#label-one', 'example')
- assert_equal '<a href="../ex_doc/example_rb.html#label-two">example</a>',
+ assert_equal '<a href="../ex.doc/example_rb.html#label-two">example</a>',
@to.gen_url('../ex.doc/example.rb#label-two', 'example')
end