aboutsummaryrefslogtreecommitdiffstats
path: root/test/rdoc/test_rdoc_top_level.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rdoc/test_rdoc_top_level.rb')
-rw-r--r--test/rdoc/test_rdoc_top_level.rb227
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