summaryrefslogtreecommitdiff
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.rb111
1 files changed, 111 insertions, 0 deletions
diff --git a/test/rdoc/test_rdoc_top_level.rb b/test/rdoc/test_rdoc_top_level.rb
new file mode 100644
index 0000000000..b96b74c182
--- /dev/null
+++ b/test/rdoc/test_rdoc_top_level.rb
@@ -0,0 +1,111 @@
+require 'rubygems'
+require 'minitest/autorun'
+require File.expand_path '../xref_test_case', __FILE__
+
+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 M1 M1::M2
+ ]
+
+ 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
+ ]
+
+ assert_equal expected, RDoc::TopLevel.classes.map { |m| m.full_name }.sort
+ 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_reset
+ RDoc::TopLevel.reset
+
+ assert_empty RDoc::TopLevel.classes
+ assert_empty RDoc::TopLevel.modules
+ assert_empty RDoc::TopLevel.files
+ end
+
+ def test_base_name
+ assert_equal 'top_level.rb', @top_level.base_name
+ end
+
+ def test_find_class_or_module
+ assert_equal @c1, @xref_data.find_class_or_module('C1')
+ assert_equal @c2_c3, @xref_data.find_class_or_module('C2::C3')
+ assert_equal @c4, @xref_data.find_class_or_module('C4')
+ assert_equal @m1_m2, @xref_data.find_class_or_module('M1::M2')
+ end
+
+ def test_full_name
+ assert_equal 'path/top_level.rb', @top_level.full_name
+ end
+
+ def test_http_url
+ assert_equal 'prefix/path/top_level_rb.html', @top_level.http_url('prefix')
+ end
+
+ def test_last_modified
+ assert_equal 'Unknown', @top_level.last_modified
+
+ stat = Object.new
+ def stat.mtime() 0 end
+ @top_level.file_stat = stat
+
+ assert_equal '0', @top_level.last_modified
+ end
+
+ def test_name
+ assert_equal 'top_level.rb', @top_level.name
+ end
+
+end
+