diff --git a/doc/rdoc/markup_reference.rb b/doc/rdoc/markup_reference.rb index ee585b2497..03b1e37ffa 100644 --- a/doc/rdoc/markup_reference.rb +++ b/doc/rdoc/markup_reference.rb @@ -991,6 +991,7 @@ # generates baz[rdoc-ref:RDoc::MarkupReference#dummy_attribute]. # - Alias: bad[rdoc-ref:RDoc::MarkupReference#dummy_instance_alias] # generates bad[rdoc-ref:RDoc::MarkupReference#dummy_instance_alias]. +# - File: README[rdoc-ref:README.rdoc] generates README[rdoc-ref:README.rdoc]. # # If the referenced item does not exist, no link is generated # and entire rdoc-ref: square-bracketed clause is removed diff --git a/lib/rdoc/code_object/top_level.rb b/lib/rdoc/code_object/top_level.rb index eeeff026a1..93d318901b 100644 --- a/lib/rdoc/code_object/top_level.rb +++ b/lib/rdoc/code_object/top_level.rb @@ -114,14 +114,6 @@ def base_name alias name base_name - ## - # Only a TopLevel that contains text file) will be displayed. See also - # RDoc::CodeObject#display? - - def display? - text? and super - end - ## # See RDoc::TopLevel::find_class_or_module #-- diff --git a/lib/rdoc/cross_reference.rb b/lib/rdoc/cross_reference.rb index a942d33c96..1f33538b73 100644 --- a/lib/rdoc/cross_reference.rb +++ b/lib/rdoc/cross_reference.rb @@ -200,7 +200,7 @@ def resolve(name, text) ref = resolve_method name unless ref # Try a page name - ref = @store.page name if not ref and name =~ /^[\w.]+$/ + ref = @store.page name if not ref and name =~ /^[\w.\/]+$/ ref = nil if RDoc::Alias === ref # external alias, can't link to it diff --git a/lib/rdoc/store.rb b/lib/rdoc/store.rb index c6cf7ef27f..57429e6aad 100644 --- a/lib/rdoc/store.rb +++ b/lib/rdoc/store.rb @@ -720,10 +720,10 @@ def modules_hash end ## - # Returns the RDoc::TopLevel that is a text file and has the given +name+ + # Returns the RDoc::TopLevel that is a file and has the given +name+ def page(name) - @text_files_hash.each_value.find do |file| + @files_hash.each_value.find do |file| file.page_name == name or file.base_name == name end end diff --git a/test/rdoc/rdoc_cross_reference_test.rb b/test/rdoc/rdoc_cross_reference_test.rb index 4f24fd7700..e536a67a89 100644 --- a/test/rdoc/rdoc_cross_reference_test.rb +++ b/test/rdoc/rdoc_cross_reference_test.rb @@ -115,7 +115,7 @@ def test_resolve_class end def test_resolve_file - refute_ref 'xref_data.rb' + assert_ref @top_level, 'xref_data.rb' end def test_resolve_method diff --git a/test/rdoc/rdoc_top_level_test.rb b/test/rdoc/rdoc_top_level_test.rb index 385860517b..a785abf06e 100644 --- a/test/rdoc/rdoc_top_level_test.rb +++ b/test/rdoc/rdoc_top_level_test.rb @@ -110,12 +110,7 @@ def test_base_name end def test_display_eh - refute @top_level.display? - - page = @store.add_file 'README.txt' - page.parser = RDoc::Parser::Simple - - assert page.display? + assert @top_level.display? end def test_eql_eh