diff options
| author | Jari Vetoniemi <jari.vetoniemi@indooratlas.com> | 2020-03-16 18:49:26 +0900 | 
|---|---|---|
| committer | Jari Vetoniemi <jari.vetoniemi@indooratlas.com> | 2020-03-30 00:39:06 +0900 | 
| commit | fcbf63e62c627deae76c1b8cb8c0876c536ed811 (patch) | |
| tree | 64cb17de3f41a2b6fef2368028fbd00349946994 /jni/ruby/test/rdoc/test_rdoc_top_level.rb | |
Fresh start
Diffstat (limited to 'jni/ruby/test/rdoc/test_rdoc_top_level.rb')
| -rw-r--r-- | jni/ruby/test/rdoc/test_rdoc_top_level.rb | 287 | 
1 files changed, 287 insertions, 0 deletions
diff --git a/jni/ruby/test/rdoc/test_rdoc_top_level.rb b/jni/ruby/test/rdoc/test_rdoc_top_level.rb new file mode 100644 index 0000000..f3ee6a4 --- /dev/null +++ b/jni/ruby/test/rdoc/test_rdoc_top_level.rb @@ -0,0 +1,287 @@ +require File.expand_path '../xref_test_case', __FILE__ + +class TestRDocTopLevel < XrefTestCase + +  def setup +    super + +    @top_level = @store.add_file 'path/top_level.rb' +    @top_level.parser = RDoc::Parser::Ruby +  end + +  def test_initialize +    t = RDoc::TopLevel.new 'path/file.rb' + +    assert_equal 'path/file.rb', t.absolute_name +    assert_equal 'path/file.rb', t.relative_name +  end + +  def test_initialize_relative +    t = RDoc::TopLevel.new 'path/file.rb', 'file.rb' + +    assert_equal 'path/file.rb', t.absolute_name +    assert_equal 'file.rb',      t.relative_name +  end + +  def test_add_alias +    a = RDoc::Alias.new nil, 'old', 'new', nil +    @top_level.add_alias a + +    object = @store.find_class_named 'Object' +    expected = { '#old' => [a] } +    assert_equal expected, object.unmatched_alias_lists +    assert_includes object.in_files, @top_level +  end + +  def test_add_alias_nodoc +    @top_level.document_self = false + +    a = RDoc::Alias.new nil, 'old', 'new', nil +    @top_level.add_alias a + +    object = @store.find_class_named('Object') +    assert_empty object.unmatched_alias_lists +    assert_includes object.in_files, @top_level +  end + +  def test_add_constant +    const = RDoc::Constant.new 'C', nil, nil +    @top_level.add_constant const + +    object = @store.find_class_named 'Object' +    assert_equal [const], object.constants +    assert_includes object.in_files, @top_level +  end + +  def test_add_constant_nodoc +    @top_level.document_self = false + +    const = RDoc::Constant.new 'C', nil, nil +    @top_level.add_constant const + +    object = @store.find_class_named 'Object' +    assert_empty object.constants +    assert_includes object.in_files, @top_level +  end + +  def test_add_include +    include = RDoc::Include.new 'C', nil +    @top_level.add_include include + +    object = @store.find_class_named 'Object' +    assert_equal [include], object.includes +    assert_includes object.in_files, @top_level +  end + +  def test_add_include_nodoc +    @top_level.document_self = false + +    include = RDoc::Include.new 'C', nil +    @top_level.add_include include + +    object = @store.find_class_named('Object') +    assert_empty object.includes +    assert_includes object.in_files, @top_level +  end + +  def test_add_method +    method = RDoc::AnyMethod.new nil, 'm' +    @top_level.add_method method + +    object = @store.find_class_named 'Object' +    assert_equal [method], object.method_list +    assert_includes object.in_files, @top_level +  end + +  def test_add_method_stopdoc +    @top_level.document_self = false + +    method = RDoc::AnyMethod.new nil, 'm' +    @top_level.add_method method + +    object = @store.find_class_named('Object') +    assert_empty object.method_list +    assert_includes object.in_files, @top_level +  end + +  def test_base_name +    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 = @store.add_file 'path/top_level.rb' +    other_level = @store.add_file 'path/other_level.rb' + +    assert_operator @top_level, :eql?, top_level2 + +    refute_operator other_level, :eql?, @top_level +  end + +  def test_equals2 +    top_level2 = @store.add_file 'path/top_level.rb' +    other_level = @store.add_file 'path/other_level.rb' + +    assert_equal @top_level, top_level2 + +    refute_equal other_level, @top_level +  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_hash +    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 +  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 nil, @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_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 + +    assert loaded.display? +  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' + +    assert_equal 'README.ja', tl.page_name + +    tl = @store.add_file 'Rakefile' + +    assert_equal 'Rakefile', tl.page_name +  end + +  def test_page_name_trim_extension +    tl = @store.add_file 'README.ja.rdoc' + +    assert_equal 'README.ja', tl.page_name + +    tl = @store.add_file 'README.ja.md' + +    assert_equal 'README.ja', tl.page_name + +    tl = @store.add_file 'README.txt' + +    assert_equal 'README', 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 +  | 
