diff options
Diffstat (limited to 'test/rdoc/test_rdoc_cross_reference.rb')
-rw-r--r-- | test/rdoc/test_rdoc_cross_reference.rb | 58 |
1 files changed, 35 insertions, 23 deletions
diff --git a/test/rdoc/test_rdoc_cross_reference.rb b/test/rdoc/test_rdoc_cross_reference.rb index 183de0930d..cbda77a798 100644 --- a/test/rdoc/test_rdoc_cross_reference.rb +++ b/test/rdoc/test_rdoc_cross_reference.rb @@ -1,7 +1,10 @@ # frozen_string_literal: true -require File.expand_path '../xref_test_case', __FILE__ +require_relative 'xref_test_case' class TestRDocCrossReference < XrefTestCase + EXAMPLE_METHODS = %w'== === != =~ !~ < > <= >= <=> [] []= << >> + -@ +@ ! - + * / % ** !@ ` | & ^ ~ __id__ + ' def setup super @@ -18,9 +21,9 @@ class TestRDocCrossReference < XrefTestCase end def test_METHOD_REGEXP_STR - re = /#{RDoc::CrossReference::METHOD_REGEXP_STR}/ + re = /\A(?:#{RDoc::CrossReference::METHOD_REGEXP_STR})\z/ - %w'=== [] []= << >>'.each do |x| + EXAMPLE_METHODS.each do |x| re =~ x assert_equal x, $& end @@ -88,6 +91,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' @@ -154,34 +166,35 @@ class TestRDocCrossReference < XrefTestCase assert_ref @c9_a_c_bar, 'C9::B.bar' end - def test_resolve_method_equals3 - m = RDoc::AnyMethod.new '', '===' - @c1.add_method m - - assert_ref m, '===' - end - def test_resolve_page page = @store.add_file 'README.txt', parser: RDoc::Parser::Simple assert_ref page, 'README' end - def test_resolve_percent - i_percent = RDoc::AnyMethod.new nil, '%' - i_percent.singleton = false - @c1.add_method i_percent + def assert_resolve_method(x) + @c1.methods_hash.clear - c_percent = RDoc::AnyMethod.new nil, '%' - c_percent.singleton = true - @c1.add_method c_percent + i_op = RDoc::AnyMethod.new nil, x + i_op.singleton = false + @c1.add_method i_op - assert_ref i_percent, '%' - assert_ref i_percent, '#%' - assert_ref c_percent, '::%' + c_op = RDoc::AnyMethod.new nil, x + c_op.singleton = true + @c1.add_method c_op - assert_ref i_percent, 'C1#%' - assert_ref c_percent, 'C1::%' + assert_ref i_op, x + assert_ref i_op, "##{x}" + assert_ref c_op, "::#{x}" + + assert_ref i_op, "C1##{x}" + assert_ref c_op, "C1::#{x}" + end + + EXAMPLE_METHODS.each do |x| + define_method("test_resolve_method:#{x}") do + assert_resolve_method(x) + end end def test_resolve_no_ref @@ -204,4 +217,3 @@ class TestRDocCrossReference < XrefTestCase end end - |