diff options
Diffstat (limited to 'test/rdoc/test_rdoc_top_level.rb')
-rw-r--r-- | test/rdoc/test_rdoc_top_level.rb | 227 |
1 files changed, 122 insertions, 105 deletions
diff --git a/test/rdoc/test_rdoc_top_level.rb b/test/rdoc/test_rdoc_top_level.rb index 9e68bc4bdd..61f4362d09 100644 --- a/test/rdoc/test_rdoc_top_level.rb +++ b/test/rdoc/test_rdoc_top_level.rb @@ -1,5 +1,3 @@ -require 'rubygems' -require 'minitest/autorun' require File.expand_path '../xref_test_case', __FILE__ class TestRDocTopLevel < XrefTestCase @@ -7,102 +5,15 @@ class TestRDocTopLevel < XrefTestCase def setup super - @top_level = RDoc::TopLevel.new 'path/top_level.rb' - end - - def test_class_all_classes_and_modules - expected = %w[ - C1 C2 C2::C3 C2::C3::H1 C3 C3::H1 C3::H2 C4 C4::C4 C5 C5::C1 - Child - M1 M1::M2 - Parent - ] - - assert_equal expected, - RDoc::TopLevel.all_classes_and_modules.map { |m| m.full_name }.sort - end - - def test_class_classes - expected = %w[ - C1 C2 C2::C3 C2::C3::H1 C3 C3::H1 C3::H2 C4 C4::C4 C5 C5::C1 - Child Parent - ] - - assert_equal expected, RDoc::TopLevel.classes.map { |m| m.full_name }.sort - end - - def test_class_complete - @c2.add_module_alias @c2_c3, 'A1', @top_level - - RDoc::TopLevel.complete :public - - a1 = @xref_data.find_class_or_module 'C2::A1' - - assert_equal 'C2::A1', a1.full_name - refute_empty a1.aliases - end - - def test_class_files - assert_equal %w[path/top_level.rb xref_data.rb], - RDoc::TopLevel.files.map { |m| m.full_name }.sort - end - - def test_class_find_class_named - assert_equal @c1, RDoc::TopLevel.find_class_named('C1') - - assert_equal @c2_c3, RDoc::TopLevel.find_class_named('C2::C3') - end - - def test_class_find_class_named_from - assert_equal @c5_c1, RDoc::TopLevel.find_class_named_from('C1', 'C5') - - assert_equal @c1, RDoc::TopLevel.find_class_named_from('C1', 'C4') - end - - def test_class_find_class_or_module - assert_equal @m1, RDoc::TopLevel.find_class_or_module('M1') - assert_equal @c1, RDoc::TopLevel.find_class_or_module('C1') - - assert_equal @m1, RDoc::TopLevel.find_class_or_module('::M1') - assert_equal @c1, RDoc::TopLevel.find_class_or_module('::C1') - end - - def test_class_find_file_named - assert_equal @xref_data, RDoc::TopLevel.find_file_named(@file_name) - end - - def test_class_find_module_named - assert_equal @m1, RDoc::TopLevel.find_module_named('M1') - assert_equal @m1_m2, RDoc::TopLevel.find_module_named('M1::M2') - end - - def test_class_modules - assert_equal %w[M1 M1::M2], - RDoc::TopLevel.modules.map { |m| m.full_name }.sort - end - - def test_class_new - tl1 = RDoc::TopLevel.new 'file.rb' - tl2 = RDoc::TopLevel.new 'file.rb' - tl3 = RDoc::TopLevel.new 'other.rb' - - assert_same tl1, tl2 - refute_same tl1, tl3 - end - - def test_class_reset - RDoc::TopLevel.reset - - assert_empty RDoc::TopLevel.classes - assert_empty RDoc::TopLevel.modules - assert_empty RDoc::TopLevel.files + @top_level = @store.add_file 'path/top_level.rb' + @top_level.parser = RDoc::Parser::Ruby end def test_add_alias a = RDoc::Alias.new nil, 'old', 'new', nil @top_level.add_alias a - object = RDoc::TopLevel.find_class_named 'Object' + object = @store.find_class_named 'Object' expected = { '#old' => [a] } assert_equal expected, object.unmatched_alias_lists assert_includes object.in_files, @top_level @@ -114,7 +25,7 @@ class TestRDocTopLevel < XrefTestCase a = RDoc::Alias.new nil, 'old', 'new', nil @top_level.add_alias a - object = RDoc::TopLevel.find_class_named('Object') + object = @store.find_class_named('Object') assert_empty object.unmatched_alias_lists assert_includes object.in_files, @top_level end @@ -123,7 +34,7 @@ class TestRDocTopLevel < XrefTestCase const = RDoc::Constant.new 'C', nil, nil @top_level.add_constant const - object = RDoc::TopLevel.find_class_named 'Object' + object = @store.find_class_named 'Object' assert_equal [const], object.constants assert_includes object.in_files, @top_level end @@ -134,7 +45,7 @@ class TestRDocTopLevel < XrefTestCase const = RDoc::Constant.new 'C', nil, nil @top_level.add_constant const - object = RDoc::TopLevel.find_class_named 'Object' + object = @store.find_class_named 'Object' assert_empty object.constants assert_includes object.in_files, @top_level end @@ -143,7 +54,7 @@ class TestRDocTopLevel < XrefTestCase include = RDoc::Include.new 'C', nil @top_level.add_include include - object = RDoc::TopLevel.find_class_named 'Object' + object = @store.find_class_named 'Object' assert_equal [include], object.includes assert_includes object.in_files, @top_level end @@ -154,7 +65,7 @@ class TestRDocTopLevel < XrefTestCase include = RDoc::Include.new 'C', nil @top_level.add_include include - object = RDoc::TopLevel.find_class_named('Object') + object = @store.find_class_named('Object') assert_empty object.includes assert_includes object.in_files, @top_level end @@ -163,7 +74,7 @@ class TestRDocTopLevel < XrefTestCase method = RDoc::AnyMethod.new nil, 'm' @top_level.add_method method - object = RDoc::TopLevel.find_class_named 'Object' + object = @store.find_class_named 'Object' assert_equal [method], object.method_list assert_includes object.in_files, @top_level end @@ -174,7 +85,7 @@ class TestRDocTopLevel < XrefTestCase method = RDoc::AnyMethod.new nil, 'm' @top_level.add_method method - object = RDoc::TopLevel.find_class_named('Object') + object = @store.find_class_named('Object') assert_empty object.method_list assert_includes object.in_files, @top_level end @@ -183,9 +94,18 @@ class TestRDocTopLevel < XrefTestCase assert_equal 'top_level.rb', @top_level.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? + end + def test_eql_eh - top_level2 = RDoc::TopLevel.new 'path/top_level.rb' - other_level = RDoc::TopLevel.new 'path/other_level.rb' + top_level2 = @store.add_file 'path/top_level.rb' + other_level = @store.add_file 'path/other_level.rb' assert_operator @top_level, :eql?, top_level2 @@ -193,8 +113,8 @@ class TestRDocTopLevel < XrefTestCase end def test_equals2 - top_level2 = RDoc::TopLevel.new 'path/top_level.rb' - other_level = RDoc::TopLevel.new 'path/other_level.rb' + top_level2 = @store.add_file 'path/top_level.rb' + other_level = @store.add_file 'path/other_level.rb' assert_equal @top_level, top_level2 @@ -213,8 +133,8 @@ class TestRDocTopLevel < XrefTestCase end def test_hash - tl2 = RDoc::TopLevel.new 'path/top_level.rb' - tl3 = RDoc::TopLevel.new 'other/top_level.rb' + tl2 = @store.add_file 'path/top_level.rb' + tl3 = @store.add_file 'other/top_level.rb' assert_equal @top_level.hash, tl2.hash refute_equal @top_level.hash, tl3.hash @@ -232,9 +152,106 @@ class TestRDocTopLevel < XrefTestCase assert_equal 0, @top_level.last_modified end + def test_marshal_dump + page = @store.add_file 'README.txt' + page.parser = RDoc::Parser::Simple + page.comment = RDoc::Comment.new 'This is a page', page + + loaded = Marshal.load Marshal.dump page + + comment = RDoc::Markup::Document.new( + RDoc::Markup::Paragraph.new('This is a page')) + comment.file = loaded + + assert_equal page, loaded + + assert_equal 'README.txt', loaded.absolute_name + assert_equal 'README.txt', loaded.relative_name + + assert_equal RDoc::Parser::Simple, loaded.parser + + assert_equal comment, loaded.comment + end + + def test_marshal_load_version_0 + loaded = Marshal.load "\x04\bU:\x13RDoc::TopLevel" + + "[\ti\x00I\"\x0FREADME.txt\x06:\x06EF" + + "c\x19RDoc::Parser::Simple" + + "o:\eRDoc::Markup::Document\a:\v@parts" + + "[\x06o:\x1CRDoc::Markup::Paragraph\x06;\b" + + "[\x06I\"\x13This is a page\x06;\x06F:\n@file@\a" + + comment = RDoc::Markup::Document.new( + RDoc::Markup::Paragraph.new('This is a page')) + comment.file = loaded + + assert_equal 'README.txt', loaded.absolute_name + assert_equal 'README.txt', loaded.relative_name + + assert_equal RDoc::Parser::Simple, loaded.parser + + assert_equal comment, loaded.comment + end + def test_name assert_equal 'top_level.rb', @top_level.name end + def test_page_name + assert_equal 'top_level', @top_level.page_name + + tl = @store.add_file 'README.ja.rdoc' + + assert_equal 'README.ja', tl.page_name + + tl = @store.add_file 'Rakefile' + + assert_equal 'Rakefile', tl.page_name + end + + def test_search_record + assert_nil @xref_data.search_record + end + + def test_search_record_page + page = @store.add_file 'README.txt' + page.parser = RDoc::Parser::Simple + page.comment = 'This is a comment.' + + expected = [ + 'README', + '', + 'README', + '', + 'README_txt.html', + '', + "<p>This is a comment.\n", + ] + + assert_equal expected, page.search_record + end + + def test_text_eh + refute @xref_data.text? + + rd = @store.add_file 'rd_format.rd' + rd.parser = RDoc::Parser::RD + + assert rd.text? + + simple = @store.add_file 'simple.txt' + simple.parser = RDoc::Parser::Simple + + assert simple.text? + end + + def test_text_eh_no_parser + refute @xref_data.text? + + rd = @store.add_file 'rd_format.rd' + + refute rd.text? + end + end |