diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-04-19 05:08:28 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-04-19 05:08:28 +0000 |
commit | 75ef9e79d6f872d9155cfa69d717b0c693be7fc9 (patch) | |
tree | 97fa40e34793b267292d9d769150292a43f3838e /test | |
parent | 37e59f5583c781e98f41608251e094377237a133 (diff) | |
download | ruby-75ef9e79d6f872d9155cfa69d717b0c693be7fc9.tar.gz |
Import RDoc 2.5.4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/rdoc/test_rdoc_any_method.rb | 10 | ||||
-rw-r--r-- | test/rdoc/test_rdoc_context.rb | 16 | ||||
-rw-r--r-- | test/rdoc/test_rdoc_markup_to_html_crossref.rb | 51 | ||||
-rw-r--r-- | test/rdoc/test_rdoc_parser_ruby.rb | 27 | ||||
-rw-r--r-- | test/rdoc/xref_test_case.rb | 4 |
5 files changed, 82 insertions, 26 deletions
diff --git a/test/rdoc/test_rdoc_any_method.rb b/test/rdoc/test_rdoc_any_method.rb index 69df4b1133..a4c3eec48c 100644 --- a/test/rdoc/test_rdoc_any_method.rb +++ b/test/rdoc/test_rdoc_any_method.rb @@ -2,6 +2,16 @@ require File.expand_path '../xref_test_case', __FILE__ class RDocAnyMethodTest < XrefTestCase + def test_aref + m = RDoc::AnyMethod.new nil, 'method?' + + assert_equal 'method-i-method%3F', m.aref + + m.singleton = true + + assert_equal 'method-c-method%3F', m.aref + end + def test_arglists m = RDoc::AnyMethod.new nil, 'method' diff --git a/test/rdoc/test_rdoc_context.rb b/test/rdoc/test_rdoc_context.rb index 7de5691a22..cd0ad0fae3 100644 --- a/test/rdoc/test_rdoc_context.rb +++ b/test/rdoc/test_rdoc_context.rb @@ -227,6 +227,14 @@ class TestRDocContext < XrefTestCase assert_equal 'RW', @c1.find_attribute_named('attr_accessor').rw end + def test_find_class_method_named + assert_equal nil, @c1.find_class_method_named('none') + + m = @c1.find_class_method_named('m') + assert_instance_of RDoc::AnyMethod, m + assert m.singleton + end + def test_find_constant_named assert_equal nil, @c1.find_constant_named('NONE') assert_equal ':const', @c1.find_constant_named('CONST').value @@ -248,7 +256,7 @@ class TestRDocContext < XrefTestCase m = @c1.find_instance_method_named('m') assert_instance_of RDoc::AnyMethod, m - assert_equal false, m.singleton + refute m.singleton end def test_find_local_symbol @@ -278,6 +286,12 @@ class TestRDocContext < XrefTestCase assert_equal @c2_c3, @c2.find_symbol('C3') end + def test_find_symbol_method + assert_equal @c1__m, @c1.find_symbol('m') + assert_equal @c1_m, @c1.find_symbol('#m') + assert_equal @c1__m, @c1.find_symbol('::m') + end + def test_spaceship assert_equal(-1, @c2.<=>(@c3)) assert_equal 0, @c2.<=>(@c2) diff --git a/test/rdoc/test_rdoc_markup_to_html_crossref.rb b/test/rdoc/test_rdoc_markup_to_html_crossref.rb index a0c84666db..67dfc0cbc9 100644 --- a/test/rdoc/test_rdoc_markup_to_html_crossref.rb +++ b/test/rdoc/test_rdoc_markup_to_html_crossref.rb @@ -27,31 +27,30 @@ class TestRDocMarkupToHtmlCrossref < XrefTestCase refute_ref '#m', '#m' + assert_ref '../C1.html#method-c-m', 'C1::m' assert_ref '../C2/C3.html', 'C2::C3' - assert_ref '../C2/C3.html#M000002', 'C2::C3#m' + assert_ref '../C2/C3.html#method-i-m', 'C2::C3#m' assert_ref '../C2/C3/H1.html', 'C3::H1' assert_ref '../C4.html', 'C4' - # TODO there is a C3::H2 in the top-level namespace and RDoc should follow - # constant scoping rules - refute_ref 'C3::H2', 'C3::H2' + assert_ref '../C3/H2.html', 'C3::H2' refute_ref 'H1', 'H1' end def test_handle_special_CROSSREF_C2_C3 @xref = RDoc::Markup::ToHtmlCrossref.new 'classes/C2/C3.html', @c2_c3, true - assert_ref '../../C2/C3.html#M000002', '#m' + assert_ref '../../C2/C3.html#method-i-m', '#m' assert_ref '../../C2/C3.html', 'C3' - assert_ref '../../C2/C3.html#M000002', 'C3#m' + assert_ref '../../C2/C3.html#method-i-m', 'C3#m' assert_ref '../../C2/C3/H1.html', 'H1' assert_ref '../../C2/C3/H1.html', 'C3::H1' assert_ref '../../C4.html', 'C4' - refute_ref 'C3::H2', 'C3::H2' + assert_ref '../../C3/H2.html', 'C3::H2' end def test_handle_special_CROSSREF_C3 @@ -105,30 +104,34 @@ class TestRDocMarkupToHtmlCrossref < XrefTestCase def test_handle_special_CROSSREF_method refute_ref 'm', 'm' - assert_ref 'C1.html#M000000', '#m' + assert_ref 'C1.html#method-i-m', '#m' + assert_ref 'C1.html#method-c-m', '::m' + + assert_ref 'C1.html#method-i-m', 'C1#m' + assert_ref 'C1.html#method-i-m', 'C1.m' + assert_ref 'C1.html#method-c-m', 'C1::m' - assert_ref 'C1.html#M000000', 'C1#m' - assert_ref 'C1.html#M000000', 'C1#m()' - assert_ref 'C1.html#M000000', 'C1#m(*)' + assert_ref 'C1.html#method-i-m', 'C1#m' + assert_ref 'C1.html#method-i-m', 'C1#m()' + assert_ref 'C1.html#method-i-m', 'C1#m(*)' - assert_ref 'C1.html#M000000', 'C1.m' - assert_ref 'C1.html#M000000', 'C1.m()' - assert_ref 'C1.html#M000000', 'C1.m(*)' + assert_ref 'C1.html#method-i-m', 'C1.m' + assert_ref 'C1.html#method-i-m', 'C1.m()' + assert_ref 'C1.html#method-i-m', 'C1.m(*)' - # HACK should this work - #assert_ref 'classes/C1.html#M000001', 'C1::m' - #assert_ref 'classes/C1.html#M000001', 'C1::m()' - #assert_ref 'classes/C1.html#M000001', 'C1::m(*)' + assert_ref 'C1.html#method-c-m', 'C1::m' + assert_ref 'C1.html#method-c-m', 'C1::m()' + assert_ref 'C1.html#method-c-m', 'C1::m(*)' - assert_ref 'C2/C3.html#M000002', 'C2::C3#m' + assert_ref 'C2/C3.html#method-i-m', 'C2::C3#m' - assert_ref 'C2/C3.html#M000002', 'C2::C3.m' + assert_ref 'C2/C3.html#method-i-m', 'C2::C3.m' - assert_ref 'C2/C3/H1.html#M000003', 'C2::C3::H1#m?' + assert_ref 'C2/C3/H1.html#method-i-m%3F', 'C2::C3::H1#m?' - assert_ref 'C2/C3.html#M000002', '::C2::C3#m' - assert_ref 'C2/C3.html#M000002', '::C2::C3#m()' - assert_ref 'C2/C3.html#M000002', '::C2::C3#m(*)' + assert_ref 'C2/C3.html#method-i-m', '::C2::C3#m' + assert_ref 'C2/C3.html#method-i-m', '::C2::C3#m()' + assert_ref 'C2/C3.html#method-i-m', '::C2::C3#m(*)' end def test_handle_special_CROSSREF_no_ref diff --git a/test/rdoc/test_rdoc_parser_ruby.rb b/test/rdoc/test_rdoc_parser_ruby.rb index 629bca0c83..d9a7a4f3d5 100644 --- a/test/rdoc/test_rdoc_parser_ruby.rb +++ b/test/rdoc/test_rdoc_parser_ruby.rb @@ -1210,6 +1210,33 @@ EOF assert_equal 1, @top_level.requires.length end + def test_parse_statements_while_begin + util_parser <<-RUBY +class A + def a + while begin a; b end + end + end + + def b + end +end + RUBY + + @parser.parse_statements @top_level, RDoc::Parser::Ruby::NORMAL, nil, '' + + c_a = @top_level.classes.first + assert_equal 'A', c_a.full_name + + assert_equal 1, @top_level.classes.length + + m_a = c_a.method_list.first + m_b = c_a.method_list.last + + assert_equal 'A#a', m_a.full_name + assert_equal 'A#b', m_b.full_name + end + def test_parse_top_level_statements_alias_method content = <<-CONTENT class A diff --git a/test/rdoc/xref_test_case.rb b/test/rdoc/xref_test_case.rb index 285b5ea6a5..b40956684b 100644 --- a/test/rdoc/xref_test_case.rb +++ b/test/rdoc/xref_test_case.rb @@ -13,7 +13,6 @@ class XrefTestCase < MiniTest::Unit::TestCase def setup RDoc::TopLevel.reset - RDoc::AnyMethod.reset @file_name = 'xref_data.rb' @xref_data = RDoc::TopLevel.new @file_name @@ -36,6 +35,9 @@ class XrefTestCase < MiniTest::Unit::TestCase rdoc.generator = generator @c1 = @xref_data.find_module_named 'C1' + @c1_m = @c1.method_list.last # C1#m + @c1__m = @c1.method_list.first # C1::m + @c2 = @xref_data.find_module_named 'C2' @c2_c3 = @xref_data.find_module_named 'C2::C3' @c3 = @xref_data.find_module_named 'C3' |