summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authoraycabta <aycabta@gmail.com>2021-12-04 18:05:37 +0900
committergit <svn-admin@ruby-lang.org>2021-12-09 18:16:05 +0900
commit2e50989ad39a1085e04a901d072e7a2a77d1dc8f (patch)
tree7c901a9bb9001fd327f173b8753cb370a44b3c71 /test
parentfa806cf233938af64ce928a37d2641dd762da87a (diff)
[ruby/rdoc] Resolve class and method of the same name correctly
https://github.com/ruby/rdoc/commit/1e16284fe5
Diffstat (limited to 'test')
-rw-r--r--test/rdoc/test_rdoc_cross_reference.rb9
-rw-r--r--test/rdoc/xref_data.rb17
-rw-r--r--test/rdoc/xref_test_case.rb8
3 files changed, 34 insertions, 0 deletions
diff --git a/test/rdoc/test_rdoc_cross_reference.rb b/test/rdoc/test_rdoc_cross_reference.rb
index 94ddc1e1e4..f73681ebc8 100644
--- a/test/rdoc/test_rdoc_cross_reference.rb
+++ b/test/rdoc/test_rdoc_cross_reference.rb
@@ -88,6 +88,15 @@ class TestRDocCrossReference < XrefTestCase
assert_ref @c4_c4, 'C4'
end
+ def test_resolve_class_and_method_of_the_same_name
+ assert_ref @c10_class, 'C10'
+ assert_ref @c10_method, '#C10'
+ assert_ref @c11_class, 'C11'
+ assert_ref @c11_method, '#C11'
+ assert_ref @c10_c11_class, 'C10::C11'
+ assert_ref @c10_c11_method, 'C10#C11'
+ end
+
def test_resolve_class
assert_ref @c1, 'C1'
refute_ref 'H1'
diff --git a/test/rdoc/xref_data.rb b/test/rdoc/xref_data.rb
index aa9faaecd9..de76a90602 100644
--- a/test/rdoc/xref_data.rb
+++ b/test/rdoc/xref_data.rb
@@ -115,6 +115,23 @@ class C9
end
end
+class C10
+ class C11
+ end
+
+ def C11
+ end
+end
+
+def C10
+end
+
+class C11
+end
+
+def C11
+end
+
module M1
def m
end
diff --git a/test/rdoc/xref_test_case.rb b/test/rdoc/xref_test_case.rb
index 729e4a70b7..22b00d04bc 100644
--- a/test/rdoc/xref_test_case.rb
+++ b/test/rdoc/xref_test_case.rb
@@ -70,6 +70,14 @@ class XrefTestCase < RDoc::TestCase
@c9_b_c_foo = @c9_b.method_list.first
@c9_b_i_bar = @c9_b.method_list.last
+ @object = @xref_data.find_module_named 'Object'
+ @c10_class = @xref_data.find_module_named 'C10'
+ @c10_method = @object.find_method_named 'C10'
+ @c11_class = @xref_data.find_module_named 'C11'
+ @c10_c11_class = @c10_class.find_module_named 'C11'
+ @c10_c11_method = @c10_class.find_method_named 'C11'
+ @c11_method = @object.find_method_named 'C11'
+
@m1 = @xref_data.find_module_named 'M1'
@m1_m = @m1.method_list.first